溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle 一些表空間問題的處理

發布時間:2020-07-15 22:54:20 來源:網絡 閱讀:880 作者:wzlinux 欄目:關系型數據庫

一,SYSAUX 表空間不足

SYSAUX 表空間做為 SYSTEM 表空間的輔助表空間,主要存放 EM 相關的內容以及表統計信息,AWR快照,審計信息等,而如果 SYSAUX 表空間在默認條件下你如果不做任何配置,隨著時間的推移,會膨脹的越來越大。

1、是什么占用了 sysaux 空間

select occupant_name, schema_name, occupant_desc, space_usage_kbytes
  from v$sysaux_occupants
 order by space_usage_kbytes desc

Oracle 一些表空間問題的處理

可以看到是主要是 AWR 占用了空間。

2、清除 AWR

SQL> connect / as sysdba
SQL> @?/rdbms/admin/catnoawr.sql
SQL> @?/rdbms/admin/catawrtb.sql

3、查看表空間占用情況

SELECT B.TABLESPACE_NAME 表空間,
       B.FILE_NAME 數據文件名,
       B.BYTES / 1024 / 1024 大小M,
       (B.BYTES - SUM(NVL(A.BYTES, 0))) / 1024 / 1024 已使用M,
       SUBSTR((B.BYTES - SUM(NVL(A.BYTES, 0))) / (B.BYTES) * 100, 1, 5) || '%' 使用率
  FROM DBA_FREE_SPACE A, DBA_DATA_FILES B
 WHERE A.FILE_ID = B.FILE_ID
 GROUP BY B.TABLESPACE_NAME, B.FILE_NAME, B.BYTES
 ORDER BY B.TABLESPACE_NAME

二、USER 表空間不足

1、zabbix 報警表空間不足

Oracle 一些表空間問題的處理

2、查看數據庫表空間占用情況

SELECT B.TABLESPACE_NAME 表空間,
       B.FILE_NAME 數據文件名,
       B.BYTES / 1024 / 1024 大小M,
       (B.BYTES - SUM(NVL(A.BYTES, 0))) / 1024 / 1024 已使用M,
       SUBSTR((B.BYTES - SUM(NVL(A.BYTES, 0))) / (B.BYTES) * 100, 1, 5) || '%' 使用率
  FROM DBA_FREE_SPACE A, DBA_DATA_FILES B
 WHERE A.FILE_ID = B.FILE_ID
 GROUP BY B.TABLESPACE_NAME, B.FILE_NAME, B.BYTES
 ORDER BY B.TABLESPACE_NAME

Oracle 一些表空間問題的處理

3、增加表空間

Alter tablespace USERS  add datafile '/ordata/orcl/users17.dbf' size 20G;

三、SYSTEM 表空間不足

1、查看表空間使用率

SELECT B.TABLESPACE_NAME 表空間,
       B.FILE_NAME 數據文件名,
       B.BYTES / 1024 / 1024 大小M,
       (B.BYTES - SUM(NVL(A.BYTES, 0))) / 1024 / 1024 已使用M,
       SUBSTR((B.BYTES - SUM(NVL(A.BYTES, 0))) / (B.BYTES) * 100, 1, 5) || '%' 使用率
  FROM DBA_FREE_SPACE A, DBA_DATA_FILES B
 WHERE A.FILE_ID = B.FILE_ID
 GROUP BY B.TABLESPACE_NAME, B.FILE_NAME, B.BYTES
 ORDER BY B.TABLESPACE_NAME

2、查找占用大的對象

從dba_segments中找出占用SYSTEM表空間中排名前10位的大對象。

SELECT *
  FROM (SELECT SEGMENT_NAME, SUM(BYTES) / 1024 / 1024 MB
          FROM DBA_SEGMENTS
         WHERE TABLESPACE_NAME = 'SYSTEM'
         GROUP BY SEGMENT_NAME
         ORDER BY 2 DESC)
 WHERE ROWNUM < 10;

3、關閉審計(可選)

system表空間滿了以后,對審計表進行清空,用新的審計表覆蓋舊的審計表,如果用處不大,我們可以選擇關閉審計功能,如下

sqlplus / nolog
connect sys/sys as sysdba
alter system set audit_trail='NONE' scope=spfile;
shutdown immediate;
startup;

4、清空審計日志

truncate table  SYS.AUD$;

5、給表空間增加數據文件

alter tablespace system add datafile '/data/orcl/system02.dbf' size 2G;
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女