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

ORA-01618

    これは、このブログへの私の100番目の投稿です!!!

    プライマリにスレッド4、5、6があり、スタンバイにスレッド1と2があるという問題を再現しようとしています。切り替えを行ったとき、すべてが正常でしたが、古いプライマリが原因で元に戻すことができませんでした。現在、スタンバイは、新しいプライマリである古いスタンバイには存在しないスレッド4からのREDOを期待しています。私のテストでは、2ノードのRACプライマリと2ノードのRACスタンバイがあります。予想通り、これらには両方ともスレッド1と2があります。そこで、SPFILEのTHREADSパラメーターを変更するだけで、プライマリーをスレッド3と4に切り替えようとしました。しかし、起動時に、私は以下を受け取りました:

    PRCR-1079 : Failed to start resource ora.resp.db
    CRS-5017: The resource action "ora.resp.db start" encountered the following error:
    ORA-01618: redo thread 3 is not enabled - cannot mount
    . For details refer to "(:CLSN00107:)" in "/u01/app/crs11.2.0.3/log/myhost01/agent/crsd/oraagent_oracle/oraagent_oracle.log".
    CRS-2674: Start of 'ora.resp.db' on 'myhost01' failed
    CRS-2632: There are no more servers to try to place resource 'ora.resp.db' on that would satisfy its placement policy
    CRS-5017: The resource action "ora.resp.db start" encountered the following error:
    ORA-01618: redo thread 4 is not enabled - cannot mount
    . For details refer to "(:CLSN00107:)" in "/u01/app/crs11.2.0.3/log/myhost02/agent/crsd/oraagent_oracle/oraagent_oracle.log".
    CRS-2674: Start of 'ora.resp.db' on 'myhost02' failed

    これは単純なパラメータの変更ではありません。これを回避するには、まず、新しいスレッドをサポートするオンラインREDOログを作成する必要があります。

    SQL> alter database add logfile thread 3 group 30
      2  '/oracle_data/oradata/resp/redo30.log' size 52429312;
    Database altered.
    SQL> alter database add logfile thread 3 group 31
      2  '/oracle_data/oradata/resp/redo31.log' size 52429312;
    Database altered.
    SQL> alter database add logfile thread 4 group 40
      2  '/oracle_data/oradata/resp/redo40.log' size 52429312;
    Database altered.
    SQL> alter database add logfile thread 4 group 41
      2  '/oracle_data/oradata/resp/redo41.log' size 52429312;
    Database altered.

    次に、スレッドを有効にします。

    SQL> alter database enable public thread 3;
    Database altered.
    SQL> alter database enable public thread 4;
    Database altered.
    
    
    Lastly, we change the initialization parameters and bounce the instance:
    SQL> alter system set thread=3 sid='resp1' scope=spfile;
    
    System altered.
    
    SQL> alter system set thread=4 sid='resp2' scope=spfile;
    
    System altered.
    
    次に、srvctlを使用してインスタンスをバウンスします。すべてがバックアップされたら、スレッド1と2を無効にしました。
    SQL> alter database disable thread 1;
    Database altered.
    SQL> alter database disable thread 2;
    Database altered.

    1. Postgresql SCRAM認証の問題を解決するにはどうすればよいですか?

    2. SQLServerでのデータベーススキーマの使用

    3. date_part()がPostgreSQLでどのように機能するか

    4. MySQL LIKE IN()?