sql >> データベース >  >> RDS >> Oracle

ORA-00838

    先日、修正に時間がかかった興味深い問題に遭遇しました。非実稼働データベースを開始しようとしましたが、次のエラーが発生しました:

    ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 1428M
    ORA-01078: failure in processing system parameters

    手始めに、私のバージョンのOracleドキュメントには、MEMORY_TARGETの最小値は512 MBと記載されていますが、上記のエラーは、より大きな値を使用する必要があることを示しています。したがって、次の論理的な手順は、このエラーメッセージのヘルプを取得することです。

    [oracle@host ~]$ oerr ora 838
    00838, 00000, "Specified value of MEMORY_TARGET is too small, needs to be at least %sM"
    // *Cause: The specified value of MEMORY_TARGET was less than the sum of the
    // specified values for SGA_TARGET and PGA_AGGREGATE_TARGET.
    // *Action: Set MEMORY_TARGET to at least the recommended value.

    それは面白いですね。これが私のPFILEの内容です。

    *.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
    *.audit_trail='DB_EXTENDED'
    *.compatible='11.2.0.0.0'
    *.control_files='/u01/app/oracle/oradata/orcl/data01/control01.ctl','/u01/app/oracle/oradata/orcl/data02/control02.ctl','/u01/app/oracle/oradata/orcl/data03/control03.ctl'
    *.db_block_size=8192
    *.db_domain='naucom.com'
    *.db_files=1100
    *.db_name='orcl'
    *.db_recovery_file_dest_size=214748364800
    *.db_recovery_file_dest='/archivelog'
    *.diagnostic_dest='/u01/app/oracle'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
    *.event=''
    *.job_queue_processes=10
    *.memory_target=1048576000
    *.open_cursors=300
    *.processes=1600
    *.remote_login_passwordfile='EXCLUSIVE'
    *.sec_case_sensitive_logon=FALSE
    *.undo_tablespace='UNDOTBS4'

    SGA_TARGETまたはPGA_AGGREGATE_TARGETを指定していないことに注意してください。したがって、エラーメッセージのヘルプはここでは役に立ちませんでした。問題を解決した後、誰かが私のパラメータファイルを変更したことを発見しました。

    *.processes=1600

    これは小さな非本番データベースです。私のMEMORY_TARGETはわずか1GBです。では、なぜPROCESSESがこれほど大きな値に設定されているのでしょうか。これを600というはるかに小さい値に戻したとき、インスタンスの起動に問題はありませんでした。プロセスの数はセッションの数を導き出すため、より高いSGAが必要になります。最初のエラーメッセージは正しくありましたが、問題が存在した理由についての手がかりは提供されませんでした。


    1. SQLiteで数値以外の値を返す2つの方法

    2. SQLServerで日時と日付のみを比較する方法

    3. java.lang.IllegalStateException:CursorWindowから行0、列-1を読み取れませんでした-Androidsqliteの問題

    4. postgresqlポートの混乱5433または5432?