1. 数据字典是oracle中最重要的组成部分,它提供了一些数据库的系统信息。
2. 动态性能视图记载了例程启动后的动态系统信息。
3. 数据字典是记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为sys用户。
用户只能在数据字典中执行查询操作,而其维护和修改都是由系统自动完成的。
数据字典包括数据字典基表和数据字典动态视图,其中数据字典存储数据库的基本信息,数据字典视图是根据数据字典基表建立的视图,普通用户可以通过查询数据字典视图取得系统信息,数据字典视图包括user_xxx,dba_xxx,all_xxx。
4. 视图user_tables用于显示当前用户所拥有的数据库表,它只返回该用户对应方案的表。
视图all_tables用于显示当前用户可以访问的所有表,包括自己方案的表和其他方案的表。
Dba_tables显示所有方案所拥有的所有表,但是查询这种数据库字典说明,要求用户必须是dba角色或是有select any tables 系统权限。
5. 在建立用户的时候,oracle会把用户的信息存放到数据库字典中,当给用户授予权限或者角色时,oracle会将权限或者角色信息存放到数据字典。
dba_users所有数据库用户的详细信息
dba_sys_privs显示用户所具有的系统权限
dba_tab_privs显示用户具有的对象权限
dba_col_privs显示用户具有的列权限
dba_role_privs显示用户具有的角色
6. 查询oracle中一共有多少角色命令:select * from dba_roles;
查询oracle中所有的系统权限select * from system.privilege.map;
查询oracle中所有的对象权限select * from dba.tab.privs;
如果想查询某个角色则需要查询系统权限和对象权限添加where子句。
查询数据库表空间的命令:select tablespace.name from dba.tablespaces;
7. 表空间是数据库的逻辑组成部分,从物理上讲,数据库数据存放在数据文件中,从逻辑上讲,数据库数据则是存放在表空间中,表空间是由一个或者多个数据文件组成。所有的数据库表都是存放在数据文件中的。Oracle的逻辑结构包括段、区、块。表空间包含多个段,每个段包含多个区,每个区包含多个块。
8. 建立表空间使用create tablespace命令,表空间的创建是由具有dba权限的用户进行创建的,或者普通用户具有create tablespace系统权限。
9. 在建立数据库后,为便于管理表,最好建立自己的表空间。
命令:create tablespace nnc_data01 datafile ‘d:\oracle\nnc_data01.dbf’ size 20m uniform size 128k
执行完上述命令之后,系统会创建名为nnc_data01表空间,并为该表空间建立名为nnc_data01.dbf的数据文件,区的大小为128k。
10. 使用数据表空间
Create table mypart (deptno number(4),dname varchar2(20),loc varchar2(20)) tablespace nnc_data01;
在上述命令中,如果不使用tablespace nnc_data01参数,则该表自动存放到system表空间中。
11. 当建立表空间的时候,表空间处于联机的状态,此时该表空间是可以访问,并且该表空间是可以读写的,但是在进行系统和数据维护的时候,需要改变该表空间的状态,通常情况下都是由特权用户进行操作的。
使表空间脱机:alter tablespace tablespacename offline;
使表空间联机:alter tablespace tablespacename online;
12. 在表空间进行建立的时候,通常都是可以读写,如果希望该表空间行更新、插入、删除操作,可以设置该表空间为只读操作。
alter tablespace tablespacename read only;(read write)
13. 显示某一表空间的所有表
select * from all_tables where tablespace_name = ‘nnc_data01’
14. 显示某一张表所在表空间的名称
select tablespace_name,table_name from user_tables where table_name = ‘student’
15. 删除表空间,一般情况下有具有dba权限的用户进行操作,如果是其他用户进行操作,则该用户需要具有drop tablespace的系统权限。
drop tablespace ‘nnc_data01’ including contents and datafiles;
参数including contents含义是级联删除该表空间下的所有数据库对象。
参数datafiles表示,删除表空间的时候,同时删除该表空间下的数据文件。
16. 增加数据文件
alter tablespace nnc_data01 add datafile ‘d:\nnc_data01.dbf’ size 20m;
扩大数据文件的大小
alter tablespace tablespacename ‘d:\nnc_data01.dbf’ resize 20m;
设置文件的自动增长
alter tablespace tablespacename ‘d:\nnc_data01.dbf’ autoextend on next 10m maxsize 500m;
17. 当磁盘损坏从而需要将数据文件移动到其他磁盘的时候,使用如下语句
1) select tablespace_name from dba_data_files where file_name = ‘d:\nnc_data01.dbf’;
2) alter tablespace nnc_data01 offline;
3) host move d:\nnc_data01.dbf e:\nnc_data01.dbf;
4) alter tablespace nnc_data01 rename datafile ‘d:\nnc_data01.dbf’
to ‘c:\nnc_data01.dbf’;
5) alter tablespace nnc_data01 online;