既知の問題と回避策
ORA-12154: TNS: 接続識別子を解決できませんでした
説明: Oracle Exadata Database Service on Dedicated Infrastructure (ExaDB-D)上のデータベースのExadataフリート更新コレクションのパッチ適用サイクルが正常に完了した後、特定のデータベースのORA-12154: TNS:could not resolve the connect identifier。
<Database home>/bin/sqlplus <db_user>/<db_pass>@<tns service name>
SQL*Plus: Release x.x.x.x.x
Version x.x.x.x.x
Copyright (c) 1982, 2022, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
Enter user-name:処置:特定のデータベースの古いOracleホームから現在のOracleホームにファイルをコピーします。
cp <old_oracle_home>/network/admin/<dbname>/* <current_oracle_home>/network/admin/<dbname>/DBパッチの適用に失敗しました
説明:パラメータ
WALLET_LOCATIONまたはENCRYPTION_WALLET_LOCATIONと、sqlnet.oraファイルのその値が次のように分割または破損すると、データベース・パッチの適用が失敗します。WALLET_LOCATION=
(SOURCE= (METHOD=FILE)
(METHOD_DATA=(DIRECTORY=/var/opt/oracle/dbaas_acfs/grid/tcps_wallets)))
ENCRYPTION_WALLET_LOCATION=
(SOURCE= (METHOD=FILE)
(METHOD_DATA=(DIRECTORY=/var/opt/oracle/dbaas_acfs/ST1001DB/wallet_root/tde)))処置:影響を受ける
sqlnet.oraファイルを次のように変更して、パラメータWALLET_LOCATIONおよびENCRYPTION_WALLET_LOCATIONとその値が同じ行に残っていることを確認します。WALLET_LOCATION= (SOURCE= (METHOD=FILE)
(METHOD_DATA=(DIRECTORY=/var/opt/oracle/dbaas_acfs/grid/tcps_wallets)))
ENCRYPTION_WALLET_LOCATION= (SOURCE= (METHOD=FILE)
(METHOD_DATA=(DIRECTORY=/var/opt/oracle/dbaas_acfs/ST1001DB/wallet_root/tde)))Oracle Exadata Database Service on Dedicated Infrastructure (ExaDB-D)の収集の作成に失敗する
説明:イングレスのソースCIDRが宛先ポート7085に対して大きすぎます。パブリック・サブネットocidのCIDRブロックを指定して、関連するセキュリティ・ルールのソースCIDRを更新します。
処置:セキュリティ・ルールを次のように更新してください。
- ステートレス: いいえ(すべてのルールはステートフルである必要があります)
- ソース・タイプ: CIDR
- ソースCIDR: クライアント・サブネットのCIDR
- IPプロトコル: TCP
- ソース・ポート範囲: すべて
- 宛先ポート範囲: 7085
- 説明: オプションで、ルールのわかりやすい説明を追加します。たとえば、サブネット内のExadataフリート更新プライベート・エンドポイントへのアクセスを許可します。
Exadata Cloud ServiceでExadataフリート更新を介した23.7から23.5へのデータベースのロールバックが失敗する
アクション:
23.7 から23.5に戻すときにロールバックが失敗しないようにするには、次の回避方法を適用します。
- OPatchを使用して、パッチ37547027を1回かぎりの23.5 DBホームに適用します。
- 修正を適用した後、ロールバック操作を23.7から23.5に進みます。
これにより、エラーが発生することなくロールバック・プロセスが成功します。
(または)
23.7 から23.5へのロールバック中に
datapatch出力で次のエラーが発生した場合は、次のステップに従って解決します。Error: prereq checks failed! patch 36741532: Value of ru_version is undefined in dba_registry_sqlpatch_ru_info in PDB PDB$SEED
- 環境変数を設定してください
export ORACLE_HOME="<targetHomePath>" export ORACLE_SID="<DBSID>" - SQL*PlusにSYSDBAとして接続します。
$ORACLE_HOME/bin/sqlplus / as sysdba - 読取り/書込みモードで
PDB$SEEDを開きますalter session set "_oracle_script"=true; alter pluggable database pdb$seed close instances=all; alter pluggable database pdb$seed open read write instances=all; PDB$SEEDに切り替えてエラーを確認します。alter session set container=pdb$seed; select * from dba_errors;次のようなエラーが発生する場合があります。PLS-00907: cannot load library unit SYS.SYS_STUB_FOR_PURITY_ANALYSIS (referenced by SYS.GETLONG)
- 必要なパッケージのコンパイル
alter package SYS.SYS_STUB_FOR_PURITY_ANALYSIS compile; show errors; -- Should return "No errors."alter package dbms_lob compile body; show errors; -- Should return "No errors."次の問合せを実行して、エラーが残っていないことを確認します。select * from dba_errors; PDB$SEEDを読取り専用モードでクローズして再オープンしますalter pluggable database pdb$seed close instances=all; alter pluggable database pdb$seed open read only instances=all;- SQL*Plusを終了します
exit; datapatchを実行してSQLパッチを適用します$ORACLE_HOME/OPatch/datapatch -verbose複数のPDBがあり、ノード間でパッチ適用ワークロードを分散する場合は、
-pdbsオプションを使用できます。- データベースを再起動
# Stop the database srvctl stop database -d <DB_NAME># Start the database srvctl start database -d <DB_NAME> - PDBの状態の検証
再起動後、すべてのPDBがRESTRICTEDモードから解放され、23.5へのロールバックが成功します。
ExaDB-D IAD環境で、Data Guard構成のプライマリ・データベースのアップグレードに失敗しました
Data Guard設定を含むデータベース構成をアップグレードする場合、プライマリ・データベースをアップグレードする前に、まずスタンバイ・データベースをターゲット・リリースにアップグレードする必要があります。
この順序に従わないと、アップグレードの失敗や構成の問題が発生する可能性があります。