2011年12月20日 星期二(oracle读书笔记)

来源:互联网 发布:快乐潮爷网络视频 编辑:程序博客网 时间:2024/05/19 03:17
 

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;

原创粉丝点击