oracle表空間操作

wewopargt 9年前發布 | 47K 次閱讀 SQL Oracle

1,查詢表空間剩余

-- 剩余量
select tablespace_name,sum(bytes) from dba_free_space group by tablespace_name;
-- 總量
select tablespace_name,sum(bytes) from DBA_DATA_FILES group by tablespace_name;

2,查詢數據庫原始文件

 select * from DBA_DATA_FILES;

3,增加表空間大小的四種方法

方法1:給表空間增加數據文件
ALTER TABLESPACE app_data ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M;
 
方法2:新增數據文件,并且允許數據文件自動增長
ALTER TABLESPACE app_data ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50M AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
 
方法3:允許已存在的數據文件自動增長
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
 
方法4:手工改變已存在數據文件的大小
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF' RESIZE 100M;

4,更改表及分區表的表空間

可以通過alter方法,將一個表移動到另外一個表空間中:
sql: alter table spaceOne.tablename move tablespace spaceTwo;
解釋:以上語句就是把tablename表從spaceOne移動到spaceTwo中。
備注一:
當前的用戶必須對spaceTwo、spaceOne都有操作權限才可以。
備注二:
其實如果對兩個表空間都有權限的話,可以通過
create spaceTwo.tablename as select * from spaceOne.tablename;
之后再刪除spaceOne中tablename表的間接方式也能實現。

-- 分區表
alter table slz_ysz move partition YSZ_200901  tablespace 你要定義的tablespacename;

5,其它

查詢數據服務地址信息:tnsping service_name

 本文由用戶 wewopargt 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!