Oracle表空間自動擴充套件設定
一、表空間自動擴充套件的好處
1.資料檔案自動擴充套件的好處
1)不會出現因為沒有剩餘空間可以利用到資料無法寫入
2)儘量減少人為的維護
二、設定表空間自動擴充套件的方法
1、查看錶空間情況
SQL>select tablespace_name,file_name,autoextensible from dba_data_files where tablespace_name = '表空間名稱';
2、修改表空間資料檔案,使其達到表空間自動擴充套件
SQL>alter database datafile '/u01/app/oracle/oradata/orcl/user01.dbf' autoextend on;
3、對修改結果進行驗證
SQL>select tablespace_name,file_name,autoextensible from dba_data_files where tablespace_name = '表空間名稱';
三、語法總結
開啟自動擴充套件功能語法:
alter database datafile '對應的資料檔案路徑資訊' autoextend on;
關閉自動擴充套件功能語法:
alter database datafile '對應的資料檔案路徑資訊' autoextend off;
四、建立臨時表空間
create temporary tablespace ***_temp tempfile '***/TEMPFILE/***_temp.dbf' size 1024m autoextend on next 500m maxsize unlimited extent management local;
五、建立表空間
create tablespace ***_tablespace logging datafile '***/DATAFILE/***_tablespace.dbf' size 30720m autoextend on next 500m maxsize unlimited extent management local;
六、建立使用者及
create user ****** identified by ***** default tablespace ***_tablespace temporary tablespace ***_temp;
七、授權
grant connect,resource,dba to *****;
--資料檔案位置
select file_name FROM dba_data_files
--資料檔案位置2
select * from v$datafile
--檢視控制檔案
select * from v$controlfile
--檢視歸檔日誌檔案
select * from v$archived_log
--檢視閃迴文件位置
select * from v$flashback_database_logfile
--臨時表空間
select name from v$tempfile;
--檢視分割槽和段空間管理方式
select tablespace_name, segment_space_management from dba_tablespaces;
--查詢使用者
select username,t.CREATED from all_users t order by t.CREATED desc;
-- 查詢表空間是否設定了自增
SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM dba_data_files where TABLESPACE_NAME='KPIDBS';
--查詢表空間
SELECT TABLESPACE_NAME "表空間",
To_char(Round(BYTES / 1024, 2), '99990.00') || '' "實有",
--To_char(Round(FREE / 1024, 2), '99990.00') || 'G' "現有",
To_char(Round((BYTES - FREE) / 1024, 2), '99990.00') || 'G' "使用",
To_char(Round(10000 * USED / BYTES) / 100, '99990.00') || '%' "比例"
FROM (SELECT A.TABLESPACE_NAME TABLESPACE_NAME,
Floor(A.BYTES / (1024 * 1024)) BYTES,
Floor(B.FREE / (1024 * 1024)) FREE,
Floor((A.BYTES - B.FREE) / (1024 * 1024)) USED
FROM (SELECT TABLESPACE_NAME TABLESPACE_NAME, Sum(BYTES) BYTES
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) A,
(SELECT TABLESPACE_NAME TABLESPACE_NAME, Sum(BYTES) FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) B
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME)
WHERE TABLESPACE_NAME ='xxxx' --這一句用於指定表空間名稱
ORDER BY Floor(10000 * USED / BYTES) DESC;