表空間利用率及表空間的補充
--生成庫的表空間佔用率一般不會超過90%,下面的指令碼執行要檢視下,不需要進行實際的修改。 --檢視錶空間及臨時表空間的使用情況 --表空間的使用情況 select a.tablespace_name, a.bytes / 1024 / 1024 "sum MB", (a.bytes - b.bytes) / 1024 / 1024 "used MB", b.bytes / 1024 / 1024 "free MB", round(((a.bytes - b.bytes) / a.bytes) * 100, 2) "used%" from (select tablespace_name, sum(bytes) bytes from dba_data_files group by tablespace_name) a, (select tablespace_name, sum(bytes) bytes, max(bytes) largest from dba_free_space group by tablespace_name) b where a.tablespace_name = b.tablespace_name order by ((a.bytes - b.bytes) / a.bytes) desc; /* tablespace3 880 848.5 31.5 96.42 tablespace2 770 729.3125 40.6875 94.72 tablespace1 78783.359375 67939.359375 10844 86.24 */ --臨時表空間的使用情況 SELECT d.tablespace_name "Name", d.status "Status", TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.90') "Size (M)", TO_CHAR (NVL (t.BYTES, 0) / 1024 / 1024, '99999999.99') USE, TO_CHAR (NVL (t.BYTES / a.BYTES * 100, 0), '990.00') "Used %" FROM SYS.dba_tablespaces d, (SELECT tablespace_name, SUM (BYTES) BYTES FROM dba_temp_files GROUP BY tablespace_name) a, (SELECT tablespace_name, SUM (bytes_cached) BYTES FROM v$temp_extent_pool GROUP BY tablespace_name) t WHERE d.tablespace_name = a.tablespace_name(+) AND d.tablespace_name = t.tablespace_name(+) AND d.extent_management LIKE 'LOCAL' AND d.CONTENTS LIKE 'TEMPORARY'; /* TEMP ONLINE 6,627.00 6626.00 99.98 TEMP1 ONLINE 4,700.00 4696.00 99.91 */ --增加表空間,臨時表空間,臨時表空間組 --根據第4步查詢出來的結果,如果Used %大於80%,查詢資料檔案所在的路徑 --查詢表空間的資料檔案所在的路徑 --檢視錶空間的名字及檔案所在位置 select tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space, AUTOEXTENSIBLE from sys.dba_data_files order by tablespace_name; /* tablespace1 8 /u01/app/oracle/product/11.2.0/dbhome_1/dbs/tablespace1.DBF 300 YES tablespace2 9 /u01/app/oracle/product/11.2.0/dbhome_1/dbs/tablespace2.dbf 200 YES tablespace3 6 /u01/app/oracle/product/11.2.0/dbhome_1/dbs/Etablespace3 13248 YES tablespace4 12 /u01/app/oracle/product/11.2.0/dbhome_1/dbs/tablespace4 32768 YES */ --查詢臨時表空間的資料檔案所在的路徑 SELECT * FROM DBA_TEMP_FILES; /* /oradata/easytongdb/temp01.dbf 1 TEMP 6948913152 848256 ONLINE 1 YES /u01/app/oracle/product/11.2.0/dbhome_1/dbs/temp1.dbf 2 temp1 4928307200 601600 ONLINE 1 YES */ --常用的增加表空間,臨時表空間的sql語句 --增加表空間的sql語句(datafile的檔名以查詢出來的路徑為準) --手工改變已存在資料檔案的大小 分配大小resize ALTER DATABASE DATAFILE '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/tablespace4_1.dbf' RESIZE 1024M; --ALTER DATABASE DATAFILE '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/tablespace4' RESIZE 1024m; -- 1024M=1G,一個資料檔案最大為32G 新增資料檔案 --在原有表空間對應的資料檔案上擴充的,每次擴50m, --但是這個資料檔案的最大大小是32G,但是每個資料檔案會有兩個塊儲存其他資訊,指定maxsize為31G。 ALTER TABLESPACE ET_BASIC ADD DATAFILE '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/tablespace4_1.dbf' SIZE 5G AUTOEXTEND ON NEXT 50M MAXSIZE 31G; --允許已存在的資料檔案自動增長 ALTER DATABASE DATAFILE '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/tablespace4.dbf' AUTOEXTEND ON NEXT 50M MAXSIZE 31G; --修改臨時表空間檔案大小 --增加臨時表空間大小,增加資料檔案 ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/temp1.dbf' SIZE 3G AUTOEXTEND ON NEXT 128M MAXSIZE 5G; --將臨時資料檔案從1G大小調整為2G,根據時間情況修改 ALTER DATABASE TEMPFILE '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/temp1.dbf' RESIZE 8G; ALTER DATABASE TEMPFILE '/oradata/easytongdb/temp01.dbf' RESIZE 10G; --建立臨時表空間指定臨時表空間組 create temporary TABLESPACE Temp2 tempfile '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/Temp1.dbf' size 1G tablespace GROUP TempGroup; create temporary TABLESPACE Temp3 tempfile '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/Temp2.dbf' size 1G tablespace GROUP TempGroup; --修改臨時表空間到臨時表空間組 alter TABLESPACE Temp1 tablespace GROUP TempGroup; --修改預設臨時表空間為臨時表空間組 alter database default temporary TABLESPACE TempGroup;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69903557/viewspace-2749891/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle sql 表空間利用率OracleSQL
- 16、表空間 建立表空間
- UNDO表空間空間回收及切換
- windchill 擴充USERS表空間
- 當使用者無限制使用表空間配額且表空間有足夠空間時出現超出表空間的空間限額
- KingbaseES的表空間
- oracle 表空間Oracle
- PostgreSQL 表空間SQL
- Oracle表空間Oracle
- PostgreSQL:表空間SQL
- oracle表空間的整理Oracle
- MySQL 中的共享表空間與獨立表空間如何選擇MySql
- 表空間限額
- 3.2. 表空間
- 只讀表空間
- oracle temp 表空間Oracle
- undo表空間容量
- 增加oracle表空間Oracle
- Configure innodb 表空間
- oracle 表移動表空間Oracle
- Oracle表移動表空間Oracle
- Ora-01536:超出了表空間users的空間限量
- 臨時表空間和回滾表空間使用率查詢
- oracle建立臨時表空間和資料表空間以及刪除Oracle
- PostgreSQL:表空間-->資料庫-->表SQL資料庫
- mysql臨時表,臨時表空間,ibtmp1表空間暴增原因初探MySql
- Oracle臨時表空間檢視、新增臨時表空間資料檔案、修改預設臨時表空間 方法!Oracle
- Postgresql表空間詳解SQL
- MySQL 傳輸表空間MySql
- MySQL InnoDB表空間加密MySql加密
- Oracle 批量建表空間Oracle
- 更改undo表空間大小
- Oracle清理SYSAUX表空間OracleUX
- 獲取表空間DDL
- Innodb:Undo 表空間巨大
- Tablespace表空間刪除
- 檢查及設定合理的undo表空間
- SYSTEM 表空間管理及備份恢復