Oracle数据库(二) 表空间的管理

 

总述:

        Oracle表空间是数据库的逻辑组成部分,在Oracle中创建数据库的同时就需要创建表空间;

         物理上:数据库数据存放在数据文件中;

         逻辑上:数据库数据存放在表空间中,表空间有一个或多个数据文件组成,数据文件就是存数据库中的数据

表空间分为默认表空间,临时表空间,默认表空间是存放数据库数据,临时表空间是用来存放查询和缓冲区的数据

查看表空间:

           select * from SYS.DBA_TABLESPACES;  --查看所有表空间(具有dba权限)

           select username,temporary_tablespace from dba_users;--查看临时表空间

           select default_tablespace from user_users;--查看当前用户的表空间

           select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name --查看表空间分配情况

           select tablespace_name,sum(bytes)/1024/1024 from dba_free_space group by tablespace_name --表空间空闲情况

           select file_name,tablespace_name from dba_data_files order by tablespace_name --查看表空间数据文件

创建表空间:

           说明:建立表空间是使用create tablespace 命令来完成的,需要注意的是,建立表空间是特权用户或是dba来执行,如果是其他用户创建表空间,则用户要有create tablespace的系统权限,为了方便管理,用户建议要有自己的表空间。

           格式:create tablespace tablespace_name datafile filename size size autoextend on|off  next size

                      maxsize size  permanent|temporary EXTENT MANAGEMENT  DICTIONARY | LOCAL

                    注释:tablespace 指定表空间名,datafile 指定数据文件,size 指定文件大小,autoextend 指定数据文件的扩展方式,ON代表自动扩展,OFF代表非自动扩展,若是自动扩展 next要填写大小,maxsize指定最大值,permanent,temporary指定表空间类型,permanent为永久表空间,temporary为临时表空间,默认为永久表空间,extent management 指定表空间管理方式:dictorary为字典管理方式,local为本地管理方式,默认管理为本地。

           例子:create tablespace WUXIA datafile 'D:/database/wuxia.dbf' size 500M autoextend on next 500M maxsize 1G extent management local;

                     create temporary tablespace WUXIATEMP datafile 'D:/database/wuxiatemp.dbf' size 500M autoextend on next 500M maxsize 1G extent management local;

修改表空间:

      重命名表空间:

          语法:alter tablespace oldname rename to newname;

          注意:SYSTEM,和SYSAUX不能重命名,当表空间处于OFFLINE状态是也不可以重命名

      表空间状态:

         表空间的状态主要有在线(line)离线(offline)只读(read only),读写(read write)四种,设置表空间的状态属性,对表空间的使用管理:

         查看表空间的状态:

              select tablespace_name ,status from dba_tablespaces;

        online:允许访问表空间的数据

              alter tablespace tablespace_name online parameter;

              parameters: 可以使用的参数 normal,temporary,immediate, for recover

       read only(可以访问,不可修改和删除) read write(查询,修改操作)

              alter tablespace tablespace_name read only | read write  (online状态下可修改)

     修改表空间大小:

              两种方式(修改表空间数据文件大小,新增数据文件)

              alter database datafile 'D:\database\WUXIA.dba' resize 1G;

              alter tablespace WUXIA add datafile 'D:\database\WUXIA2.dba' resize 1G;

删除表空间:

         drop tablespace tablespace_name (删除空的表空间,但是不包含物理文件)

         drop tablespace tablespace_name including contents;(删除非空表空间,但是不包含物理文件)

         drop tablespace tablespace_name including datafiles;(删除空表空间,包含物理文件)

         drop tablespace tablespace_name including contents and datafiles;(删除非空表空间,包含物理文件)

你可能感兴趣的:(Oracle数据库)