■創建數據文件的SQL語句及說明
? CREATE TABLESPACE??創建一個表空間和組成它的數據文件
? CREATE TEMPORARY TABLESPACE?創建一個臨時表空間和組成它的臨時數據文件(臨時數據文件
??????????????????????????????? 是一種特殊類型的數據文件)
? ALTER TABLESPACE ... ADD DATAFILE?創建并添加一個數據文件到表空間
? ALTER TABLESPACE ... ADD TEMPFILE ?創建并添加一個臨時數據文件到臨時表空間
? CREATE DATABASE??創建一個數據庫和關聯的數據文件
■創建表空間
? SQL> create tablespace myts04
? 2? datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts04_1.dbf' size 2m
? 3? autoextend on
? 4? next 1m
? 5? maxsize 5m
■向空間里添加數據文件并指定自動增長方式
? SQL> alter tablespace myts02??????????
? 2? add datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_2.dbf' size 4m??
? 3? AUTOEXTEND ON?
? 4? NEXT 4K????
? 5? MAXSIZE 5M;
■更改原有數據文件為自動增長方式
? SQL> ALTER DATABASE??????????
? 2? DATAFILE '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts01_3.dbf'?????????????????
? 3? AUTOEXTEND ON???????????????????????
? 4? NEXT 2K???????????
? 5? MAXSIZE 5M;
■取消自動增長方式
? SQL> alter database????????????????????????????????
? 2? datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts01_3.dbf'??
? 3? autoextend off;
■改變原數據文件大小
? SQL> alter database?????????????????????????????
? 2? DATAFILE '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_2.dbf' resize 5m;
? 也可以利用RESIZE子句來縮小數據文件,不過必須保證縮小后的數據文件足夠容納其中已有的數據
■在ARCHIVELOG模式下使數據文件脫胎機
? SQL> alter database?????????????
? 2? datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_2.dbf' offline;
■在NOARCHIVELOG模式中使數據文件脫機
? 要注意,這會使數據文件脫機并立即刪除它,所以,很可能導致丟失數據文件,這種方法一般只用于臨時表空間
? 的臨時數據文件.
? SQL> alter database????????????
? 2? datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_2.dbf' offline drop;
??
? 在這之后,如果要使數據文件聯機,必須進行介質恢復,否則會有錯誤提示.?
??
■修改表空間中所有數據文件的可用性
? ALTER TABLESPACE ... DATAFILE { ONLINE | OFFLINE }
? ALTER TABLESPACE ... TEMPFILE { ONLINE | OFFLINE }
?
? 表空間本身的聯機或脫機狀態不改變()
?
■修改整個表空間的可用性
? ALTER TABLESPACE ...? { ONLINE | OFFLINE }
■同一個表空間的數據文件的重命名
? 當改變數據文件的位置和名稱時,Oracle只是在控制文件和數據字典中改變了數據文件的指針,并沒有物理
? 地創建新的數據文件,也沒有重定位和重命名任何操作系統文件.DBA必須自己在操作系統層復制文件,并重
? 定位或重命名數據文件.
???
? SETUP1 SQL> alter tablespace myts04 offline normal;
???????? 將表空間設置為脫機狀態是為了關閉該表空間中所有的數據文件,以便在停止數據庫服務時不會造成
???????? 數據出現問題
? SETUP2 SQL> shutdown immediate
???????? 如果不停止數據庫服務就重命名數據文件,會出現錯誤提示.???
? SETUP3 將數據文件myts04_1.dbf重新命名為myts04_01.dbf、myts04_2.dbf重新命名為myts04_02.dbf???
? SETUP4 SQL> startup
? SETUP5 SQL> alter tablespace myts02
????????????? rename datafile
????????????? '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts04_1.dbf',
????????????? '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts04_2.dbf'
????????????? to
????????????? '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts04_01.dbf',
????????????? '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts04_02.dbf';
? SETUP6 SQL> alter tablespace myts04 online;
■多個表空間的數據文件的重定位和重命名
? SETUP1 SQL> alter tablespace myts01 offline normal;
???????? SQL> alter tablespace myts02 offline normal;
? SETUP2 SQL> shutdown immediate
? SETUP3 將myts01表空間的數據文件myts01_1.dbf重新命名為myts01_01.dbf、
???????? 將myts02表空間的數據文件myts02_1.dbf重新命名為myts02_01.dbf、
? SETUP4 SQL> startup
? SETUP5 SQL> alter database
????????????? rename file
????????????? '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts01_1.dbf',
????????????? '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_1.dbf'
????????????? to
????????????? '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts01_01.dbf',
????????????? '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_01.dbf';
? SETUP6 SQL> alter tablespace myts01 online;??
????????????? alter tablespace myts02 online;??
■查詢數據文件信息
? DBA_DATA_FILES
? DBA_TEMP_FILES
? DBA_EXTENTS
? USER_EXTENTS
? DBA_FREE_SPACE
? USER_FREE_SPACE
? V$DATAFILE
? V$DATAFILE_HEADER
■查看數據文件與表空間
SELECT f.tablespace_name "表空間",?
Decode(d.EXTENT_MANAGEMENT,'DICTIONARY','字典','本地')? "表空間類型",
TRUNC(SUM(f.bytes/1024000),2 ) || 'MB' "自由空間",
MIN(f.bytes) "最小字節", MAX(f.bytes) "最大字節",
AVG(f.bytes) "平均字節",COUNT(f.tablespace_name) "分布在"
FROM dba_free_space f, dba_tablespaces d?
Where f.tablespace_name = d.tablespace_name?
GROUP BY f.tablespace_name ,d.EXTENT_MANAGEMENT
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
