表空間利用率及表空間的補充

myis55555發表於2021-01-14
--生成庫的表空間佔用率一般不會超過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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章