Oracle は、大規模なエンタープライズ アプリケーションの重要なデータを保存および管理するためによく使用されるリレーショナル データベース管理システムです。 SID は Oracle インスタンスの識別子であり、異なる Oracle インスタンスを区別するために使用され、各インスタンスには一意の SID があります。場合によっては、同じサーバー上で複数のインスタンスを実行したり、現在のインスタンスの名前を変更したりするなど、Oracle SID の変更が必要になります。この記事ではOracleのSIDを変更する方法を紹介します。
SID を変更する前に、まず現在の SID を確認する必要があります。次のコマンドを使用してクエリを実行できます:
echo $ORACLE_SID
このコマンドは現在の SID を出力します。
SID を変更する前に、現在の Oracle インスタンスを停止する必要があります。次のコマンドを使用してインスタンスを停止できます:
sqlplus / as sysdba shutdown immediate;
これにより、Oracle インスタンスがただちに停止されます。
SID を変更する前に、/etc/oratab と $ORACLE_HOME/network/admin/tnsnames.ora の 2 つのファイルを編集する必要があります。以下にこれら 2 つのファイルを編集する方法を説明します。
3.1 /etc/oratab ファイルの編集
/etc/oratab ファイルには Oracle インスタンスのリストが含まれており、Oracle インスタンスの起動、シャットダウン、または再起動に使用できます。ファイルには、インスタンスごとに 1 行があります。各行の形式は次のとおりです。
ORACLE_SID:ORACLE_HOME:Y|N
ここで、ORACLE_SID はインスタンスの一意の名前、ORACLE_HOME はインスタンスの Oracle ホーム ディレクトリ、Y はインスタンスが自動的に起動することを示し、N はインスタンスが自動的に起動することを示します。インスタンスは自動的に起動しないはずです。
SID を変更するには、エディタを使用して /etc/oratab ファイルを開き、現在のインスタンスの行を見つけて、その ORACLE_SID フィールドを目的の SID に変更する必要があります。変更された行は次のようになります。
NEW_ORACLE_SID:/path/to/oracle/home:N
この例では、ORACLE_SID フィールドを NEW_ORACLE_SID に変更します。編集が完了したら、ファイルを保存して閉じます。
3.2 tnsnames.ora ファイルの編集
tnsnames.ora ファイルには、Oracle データベースのネットワーク サービス名が含まれています。このファイルには、各サービスのエントリがあります。 SID を変更するには、tnsnames.ora ファイル内のエントリを編集します。
まず、エディタを使用して tnsnames.ora ファイルを開きます。現在のインスタンスのエントリを見つけて、目的の SID に変更します。変更されたエントリは次のようになります。
NEW_ORACLE_SID = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = your_host)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = NEW_ORACLE_SID) ) )
この例では、SERVICE_NAME フィールドとエントリ全体の両方の SID を NEW_ORACLE_SID に変更します。編集が完了したら、ファイルを保存して閉じます。
Windows では、レジストリ キーを変更して、Oracle インスタンスの名前を新しい SID に更新する必要もあります。
まず、レジストリ エディターを開いて次のパスに移動します。
HKEY_LOCAL_MACHINESOFTWAREORACLEKEYORACLE_HOME_NAME
このパスの下で、ORACLE_SID フィールドを目的の SID に変更します。変更後、レジストリ エディタを閉じます。
SID を変更した後、Oracle インスタンスを再起動できます。
まず、現在の SID が希望の新しい値に変更されていることを確認します。次のコマンドを使用してクエリを実行できます。
echo $ORACLE_SID
次に、次のコマンドを使用して Oracle インスタンスを起動します。
sqlplus / as sysdba startup
これにより、Oracle インスタンスが起動します。何か問題が発生した場合は、次のコマンドを使用してエラーを表示できます。
select * from v$diag_info;
これにより、問題のトラブルシューティングに役立つエラーの詳細が提供されます。
この記事では、Oracle SID を変更する方法を紹介しました。これを行うときは、関連するすべてのファイルを必ずバックアップし、変更を加える前に必ず Oracle インスタンスを停止してください。
以上がOracle SIDの変更の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。