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