(B)の欠如のシステムテーブルスペースオラクルの問題

2つの疾患は、SYSTEM表スペース不足エラー

 

まず、疾患:

PLSQLログインエラー:

ORA-00604:エラー再帰SQL層が表示されます。

ORA-01653:表ではない(表スペースで)を拡張することによって。

ORA-02002:エラーの書き込み監査証跡レコード

 

第二に、病理:

1、表スペース不足

2は、データベース監査機能を引き起こすことになっている(SYS.AUD $表)

 

第三に、ポジショニングの原因:

データベースに接続します。

OracleのSU#

#SQLPLUS / NOLOG 

SQL > CONN / AS SYSDBA           //が再接続する

SQLを> STARTUP MOUNT;              // 保留

SQL >  ALTER  データベース を開き ;    //データベースを開きます

次のSQLを実行し、テーブルスペースの使用状況を見ます

SELECT 

UPPER (F.TABLESPACE_NAME) "TABLESPACE_NAME"を、

D.TOT_GROOTTE_MB "TABLESPACE_SIZE(M)"、

D.TOT_GROOTTE_MB - F.TOTAL_BYTES "TABLESPACE_USED(M)"、

TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES)/ D .TOT_GROOTTE_MB *  1002)、' 990.99 ' ) "TABLESPACE_USED_BI"、

F.TOTAL_BYTES "TABLESPACE_FREE(M)" 

FROM 
SELECT TABLESPACE_NAME、ROUNDSUM(バイト)/1024  *  1024)、2)TOTAL_BYTES、ROUNDMAX(バイト)/1024  *  1024)、2)MAX_BYTES FROM SYS.DBA_FREE_SPACE GROUP  BY TABLESPACE_NAME)F、 
SELECT DD.TABLESPACE_NAME、ROUNDSUM(DD.BYTES)/1024  *  1024)、2)TOT_GROOTTE_MB FROM SYS.DBA_DATA_FILES DD GROUP  BY DD.TABLESPACE_NAME)D 


D.TABLESPACE_NAME = F.TABLESPACE_NAME ORDER


 BY  4  DESC

SYSTEM表領域の使用量の割合は99.81に達しています。

第四に、治療:

表スペースが不十分な処置です。

プログラム:表スペースが自己通電されていない場合、自己通電モードがに変更されます。(このためには適していません)

まず、表示された場合は、表スペースの増分

SQL >  を選択し FILE_NAME、TABLESPACE_NAME、AUTOEXTENSIBLE から DBA_DATA_FILES。

YESの説明は、自動インクリメントされ

NO次のSQLを実行した場合は、変更モード:

SQL>データベースのデータファイルを、NEXT 50M MAXSIZE UNLIMITED ON '/home/app/XXX/oradata/XXX/system01.dbf' AUTOEXTEND改変すること。

注:サイズの各増分のためにそれらの対応するデータ・ファイル・パスフィルによるシステム、50M。

 

オプションII:(このためには適していない)データファイルのサイズに対応するテーブルスペースの拡張

 

利用可能な対応するテーブルスペースファイルは32Gを持っています。

データファイルに対応するテーブルの所定の空間が32Gを超えることはできません。

あなたは、テーブルスペースを拡張することにより、対応するファイルのサイズに到達できない場合、SQLは次のようになります。

SQL >  変更 データベースのデータファイルを/home/app/XXX/oradata/XXX/system01.dbf  32000Mサイズを変更。

オプション3:データファイルSYSTEM02.DBFを追加SYSTEM表スペース(問題のない適した理由)

サイズ:500M、わずかな増加から:50M

SQL> alter  tablespace "SYSTEM" add datafile '/home/app/XXX/oradata/XXX/system02.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;

注:一个表空间能对应多个数据文件,但一个数据文件只能对应一个表空间

 

方案四:清空AUD$表数据并关闭审计功能(根本原因,笔者使用了该方案)

1、查sys.aud$及其索引 占用大小

SQL> SELECT t.owner, t.segment_name,SUM(bytes)/1024/1024/1024 as SIZE_G

FROM dba_segments t

WHERE t.tablespace_name = 'SYSTEM' and t.segment_name='AUD$'

GROUP BY t.owner,t.segment_name

ORDER BY SUM(bytes) desc;

可怕,就是这个审计表,达到了31个G了,问题就在此。

 

2、清空AUD$:

SQL> truncate table AUD$;

3、查看审计功能

SQL> show parameter audit

 

4、关闭审计功能:

SQL> alter system set audit_trail='none' scope=spfile;

如果只是清理 AUD$表,问题已经解决,但是时间久后,问题还是会复现,如果不需要审计数据可以关闭审计功能永久解决。

 

注:此上方案解决后,需要重启

SQL> shutdown immediate;   //关闭

SQL> startup mount;             //挂起

SQL> alter database open;   //打开数据库


转自:https://blog.csdn.net/heshushun/article/details/80899839

おすすめ

転載: www.cnblogs.com/zzdbullet/p/11130490.html