oracle表空间

Oracle的方案(Schema)和用户(User)的区别

帅比萌擦擦* 提交于 2019-12-07 16:46:09
从定义中我们可以看出方案(Schema)为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们在企业管理器的方案下看到的许多类似用户名的节点,这些类似用户名的节点其实就是一个schema,schema里面包含了各种对象如tables, views, sequences, stored procedures, synonyms, indexes, clusters, and database links。 一个用户一般对应一个schema,该用户的schema名等于用户名,并作为该用户缺省schema。这也就是我们在企业管理器的方案下看到schema名都为数据库用户名的原因。Oracle数据库中不能新创建一个schema,要想创建一个schema,只能通过创建一个用户的方法解决(Oracle中虽然有create schema语句,但是它并不是用来创建一个schema的),在创建一个用户的同时为这个用户创建一个与用户名同名的schem并作为该用户的缺省shcema。即schema的个数同user的个数相同,而且schema名字同user名字一一对应并且相同,所有我们可以称schema为user的别名,虽然这样说并不准确,但是更容易理解一些。 一个用户有一个缺省的schema,其schema名就等于用户名,当然一个用户还可以使用其他的schema

十一、oracle 数据库管理员

爷,独闯天下 提交于 2019-12-07 16:45:07
一、数据库管理员 每个oracle数据库应该至少有一个数据库管理员(dba),对于一个小的数据库,一个dba就够了,但是对于一个大的数据库可能需要多个dba分担不同的管理职责。那么一个数据库管理员的主要工作是什么呢: 1.安装和升级oracle 数据库 2.建库,表空间,表,视图,索引… 3.制定并实施备份和恢复计划 4.数据库权限管理,调优,故障排除 5.对于高级dba,要求能参与项目开发,会编写sql 语句、存储过程、触发器、规则、约束、包 二、管理数据库的用户主要是sys和system(sys好像是董事长,system好像是总经理,董事长比总经理大,但是通常是总 经理干事) 在前面我们已经提到这两个用户,区别主要是: 1.最重要的区别,存储的数据的重要性不同 sys:所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle 的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dba,sysdba,sysoper角色或权限,是oracle权限最高的用户。 system:用于存放次一级的内部数据,如oracle的一些特性或工具的管理信息。system用户拥有dba,sysdba 角色或系统权限。 注意:sysdba可以建数据库,sysoper不能建数据库 2. 其次的区别,权限的不同。 sys用户必须以as

ORACLE临时表空间总结

房东的猫 提交于 2019-12-07 03:33:33
临时表空间概念 临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。像数据库中一些操作: CREATE INDEX、 ANALYZE、SELECT DISTINCT、ORDER BY、GROUP BY、 UNION ALL、 INTERSECT、MINUS、SORT-MERGE JOINS、HASH JOIN等都可能会用到临时表空间。当操作完成后,系统会自动清理临时表空间中的临时对象,自动释放临时段。这里的释放只是标记为空闲、可以重用,其实实质占用的磁盘空间并没有真正释放。这也是临时表空间有时会不断增大的原因。 临时表空间存储大规模排序操作(小规模排序操作会直接在RAM里完成,大规模排序才需要磁盘排序Disk Sort)和散列操作的中间结果.它跟永久表空间不同的地方在于它由临时数据文件(temporary files)组成的,而不是永久数据文件(datafiles)。临时表空间不会存储永久类型的对象,所以它不会也不需要备份。另外,对临时数据文件的操作不产生redo日志,不过会生成undo日志。 创建临时表空间或临时表空间添加临时数据文件时,即使临时数据文件很大,添加过程也相当快

oracle表查询

妖精的绣舞 提交于 2019-12-07 02:23:02
2014-04-07 1.查询每个员工对应的部门 SQL>conn hr/hr; ##查询表 SQL>select object_name from user_objects where object_type='TABLE'; ##查看两张表结构 SQL>desc employees; SQL>desc departments; ##关联查询 SQL>select a.first_name || ' ' ||a.last_name name,employee_id,b.department_name from employees a join departments b on a.department_id=b.department_id; 2.连接 等值连接:inner join 左连接:left join 右连接:right join 自连接:self join 3.查询员工对应的部门和城市 ##查询表 SQL>select object_name from user_objects where object_type='TABLE'; ##查看三张表结构 SQL>desc employees; SQL>desc departments; HR@orcl> desc locations; ##关联查询 HR@orcl> select a.employee_id,a

Centos7 静默安装 Oracle11G

空扰寡人 提交于 2019-12-06 06:05:51
1、准备安装包: 安装包下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html 2、先临时关闭 selinux: [root@Centos ~]# setenforce 0 3、安装依赖的软件包: [root@Centos ~]# yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686

二、Oracle用户权限管理和Sql*plus 基本命令

↘锁芯ラ 提交于 2019-12-06 03:53:53
Oracle和SQL Server的区别: SQL Server用户sa登录后,可以看到很多数据库;而Oracle的启动其实是启动一个Oracle的实例,相当于一个数据库。那么Users只能对这个Oracle实例中的数据对象拥有权限。而每个用户拥有的数据对象可能不相同。 Oracle的用户管理 Oracle安装完成后,会默认生成三个用户,sys、system、scott,其中scott是普通用户;sys是超级管理员,权限最高,角色是dba,并且具有create database的权限;system是系统管理员,权限也很高,角色是dbaoper,没有create database权限。 Oracle权限介绍: (1)权限: 查询oracle中所有的系统权限,一般是DBA去操作 select * from system_privilege_map order by name; 查询所有的对象权限: select distinct privilege from dba_tab_privs; 查询数据库的表空间: select tablespace_name from dba_tablespaces; 回收系统权限和对象权限的区别:系统权限不是级联回收,而对象权限会级联回收。比如:A 将系统权限授予B, B又将权限授予C,如果A收回B的权限,那么C的系统权限不会被回收。而对象权限则不是

oracle initialization or shutdown in progress解决方法

假如想象 提交于 2019-12-06 02:48:21
今儿一直在测试服务器的迁移问题,不断地创建表空间、创建数据库、创建用户。后来感觉创建这么多东西太占用磁盘空间,心想删除一下吧,于是,我们执行了dbca命令,将没用的数据库统统删除,将dbf和dmp文件也统统删除了,再后来发现服务无法启动了,连接时会提示oracle initialization or shutdown in progress,后来经过查询发现,原来这些dbf和dmp不是说删除就能删除的(当时我们明明发现有的不允许删除,我还是故意停停掉oracle服务,然后将其删除滴),最终导致数据库实例无法启动。 我的解决过程如下: Microsoft Windows [版本 5.2.3790] (C) 版权所有 1985-2003 Microsoft Corp. C:\Documents and Settings\Administrator>sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 3月 4 18:40:13 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> connect system/hope; ERROR: ORA-01033: ORACLE initialization or shutdown in

Oracle常用命令

喜欢而已 提交于 2019-12-06 02:45:50
查看实例是spfile启动的还是pfile启动的——show parameter spfile //如果value有值,说明数据库启动时读的是spfile 查看控制文件位置——show parameter control_file select name from v$controlfile 查看日志组——select * from v$log select group#,member from v$logfile 切换日志——alter system switch logfile 手动执行检查点——alter system checkpoint 查看数据库的启动状态——select status from v$instance 从控制文件读SCN——select file#,checkpoint_change# from v$datafile 从数据文件读SCN——select file#,checkpoint_change# from v$datafile_header //数据库open之前要检查控制文件和数据文件的SCN是否一致,如果不一致,就要进行media recover 查看告警文件位置——select * from v$diag_info 告警日志:alter_SID.log 包含通知性的消息,如数据库启动或关闭,以及表空间创建和删除的信息,也包括一些内部错误信息等

Oracle表空间 ORA-01653:

偶尔善良 提交于 2019-12-05 21:29:04
--1、查看表空间USERS使用情况 SELECT T.TABLESPACE_NAME,D.FILE_NAME, D.AUTOEXTENSIBLE,D.BYTES,D.MAXBYTES,D.STATUS FROM DBA_TABLESPACES T,DBA_DATA_FILES D WHERE T.TABLESPACE_NAME =D.TABLESPACE_NAME and T.TABLESPACE_NAME='USERS' ORDER BY TABLESPACE_NAME,FILE_NAME; --2、修改表空间为自动增长 ALTER DATABASE DATAFILE 'D:\oradata\orcl\USERS01.DBF' AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED --3、自动增长还是不行,可能是数据库文件满了【注意:DBF文件在windows平台32g就不能用了】,就增加几个数据库文件 ALTER TABLESPACE USERS ADD DATAFILE 'D:\oradata\orcl\USERS02.DBF' SIZE 1G AUTOEXTEND ON NEXT 1G MAXSIZE 30g; 来源: 51CTO 作者: he2375813 链接: https://blog.51cto.com/1826794/2455950

Mysql /Oralce 50个区别

吃可爱长大的小学妹 提交于 2019-12-05 20:52:44
   1. 有些人说Oracle没有限制,实际上他们说得可能是Oracle不支持LIMIT语法.不过可以rownum虚列来实现,不过会更加麻烦.   2. Oracle不支持偏移(offset)语法. 3. Oracle的复制功能可能比MySQL更加健壮,不过也更加难以配置.   4. 对于多个Master类型的系统,大部分用户都希望你使用更加复杂也更加昂贵的Oracle RAC(虽然可能NDB更加健壮).   5. Oracle的分区功能非常健壮,但是它不是内置的,并需要专门为此付费(分区功能是在Enterprise Edition里面是内置的).   6. 在Linux/Unix上,Oracle并不象Mysql那么方便,很多Linux/Unix发行版默认就会自带Mysql.(我对这一点的理解与翻译可能都有偏差)   7. INSERT … ON DUPLICATE KEY UPDATE语法将不再可用,不过你需要学习更加复杂(但是符合SQL标准)的MERGE语法.   8. Oracle的ROLE架构与MySQL有很大差异,无法再使用root角色来完整所有工作.(不过Sys用户的权限仍然与root相差无几,只是为了安全着想,不建议这么使用了).   9. Role 帐户与特定的Schema联系在一起(反之也一样),类似于MySQL数据库中的Database概念.