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;(刪除非空表空間,包含物理文件)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章