3、Oracle表空间管理
表空間的管理類型:
- 數據字段管理的表空間(DMT)
- 本地化管理的表空間(LMT)
查詢表空間是否是本地化管理方式,可以使用以下語句:
創建表空間,oracle將完成兩個工作,一個在數據字典和控制文件,記錄新建表空間的信息;另一個是在操作系統中創建指定大小的操作系統文件。
?
?
- 創建表空間(永久表空間permanent)
create tablespace temp001 datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\temp001.DBF' size 100M autoextend on next 10M maxsize unlimited;?
1、修改表空間
-----(1).為【表空間】增加新的數據文件:
alter tablespace temp001 add datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\temp002.DBF' size 50M;-----(2).修改【數據文件】大小:
alter database temp001 datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\temp002.DBF' resize 50M;?
-----(3).修改【數據文件】的自動擴展屬性
alter database datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\users01.DBF' autoextend on maxsize 3G;alter database datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\users01.DBF' autoextend off;?
-----(4).修改【表空間】的狀態,offline離線、online在線、read only只讀、read write讀寫
alter tablespace zl9BloodData offline;alter tablespace zl9BloodData online;?
-----(5).移動【數據文件】操作步驟:
------1.修改表空間為offline狀態;
------2.復制數據文件到目標磁盤;
------3.使用alter tablespace rename語句修改數據文件的名稱;
------4.將表空間的狀態修改為online狀態。
?
************************************************【生成SQL批量處理數據文件移動磁盤--WINDOWS環境下】************************************************
--前提條件開啟歸檔模式
--archive log list;
--① 確定數據文件躲在表空間,【使表空間文件脫機】
select 'alter tablespace '|| TABLESPACE_NAME||' offline;' from dba_data_files;?
--②host move命令移動數據文件到目標位置
1 select 'host move ' || FILE_NAME || ' ' || REPLACE(FILE_NAME, 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\', 'E:\ORCL\') || ';' 2 from dba_data_files;?
--③重命名表空間位置
1 select 'alter tablespace ' || TABLESPACE_NAME || ' rename datafile ' || chr(39) || FILE_NAME || chr(39) || ' to ' || chr(39) || 2 REPLACE(FILE_NAME, 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\', 'E:\ORCL\') || chr(39) || ';' 3 from dba_data_files;?
--④使表空間文件在線
select 'alter tablespace '||TABLESPACE_NAME||' offline;' from dba_data_files;********************************************************************************************************************************************
?
2、刪除表空間
drop tablespace temp001 including contents and datafiles;?
?
?
- 創建臨時表空間(temporary)
?
-----注:1、主要用來為排序或匯總等操作提供臨時的工作空間;
---------2、只能用于存儲臨時數據,不能存儲永久性數據,例如不能創建表對象;
---------3、數據字典V$tempfile;
select * from v$tempfile;
---------4、盤區管理方式都是UNIFORM
----(1).為【臨時表空間】添加數據文件
alter tablespace ZLTOOLSTMP add tempfile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\ZLTOOLSTMP02.DBF' size 200M;?
----(2).修改【臨時文件】的大小
alter database tempfile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\ZLTOOLSTMP02.DBF' resize 100M;?
----(3).修改【臨時文件】的狀態
alter database tempfile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\ZLTOOLSTMP02.DBF' offline;alter database tempfile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\ZLTOOLSTMP02.DBF' online;?
?
- 創建撤銷表空間(undo)
?
1、修改撤銷表空間
-----(1).為【撤銷表空間】增加新的數據文件:
alter tablespace undotbs01 add datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\undotbs02.dbf' size 10M autoextend on;?
-----(2).修改【撤銷數據文件】的大小:
alter database datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\undotbs02.dbf' resize 50M;?
----(3).修改【撤銷表空間】的狀態:
alter tablespace undotbs01 offline;?
?
2、刪除撤銷表空間
drop tablespace undotbs01 including contents and datafiles;?
?
3、切換撤銷表空間
alter system set undo_tablespace = undotbs02;?
?
----【重要參數】撤銷表空間
show parameter undo;
Undo_management參數:表示自動管理方式;
Undo_tablespace參數:指定當前使用的撤銷表空間;
Undo_retention參數:設置撤銷數據的保留時間,即用戶事務結束后,在撤銷表空間中保留撤銷記錄的時間。單位是s,默認值是900,即15min。
----修改撤銷記錄保留的時間
Alter system set undo_retention = 600;Select * from v$undostat;?
轉載于:https://www.cnblogs.com/jionjionyou/p/5500083.html
總結
以上是生活随笔為你收集整理的3、Oracle表空间管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WIN API当中的堆管理,虚拟内存及常
- 下一篇: 【其他】配置JIRA