SID にアンダースコアを含ませたいんだけどできないのかな?
アンダースコアを含む SID で Oracle シングル環境を作成しようとしたら、以下のようなエラーがでる。
DBT-10322: 指定されたstringに英数字以外が含まれています。
エラーメッセージの通りなのだが、SID に記号を含めることができないのだ。
RAC の場合アンダースコアを SID に含めることができるが、シングルでは含めることができない。
これは仕様であり、もしもシングル環境で SID にアンダースコアを含めた環境が作成できたとしても、サポート対象外となってしまうので SID に記号を含めることはやめておこう。
データベース名とORACLE_SID
Oracle Service Identifier (SID)接頭辞はデータベース名の最初の8文字です。SID接頭辞には、a-z、A-Zおよび0-9の文字のみを使用できます。SID接頭辞には、オペレーティング・システムの特殊文字を含めることはできないため、データベース名の最初の8文字に特殊文字を使用した場合、この特殊文字はSID接頭辞では省略されます。各データベースに1つのSID接頭辞があります。データベースのSID接頭辞は、クラスタ内で一意である必要があります。
Oracle RACデータベースの場合、各インスタンスに、SID接頭辞とインスタンス番号で構成される一意の識別子(
ORACLE_SID
)があります。ORACLE_SID
接頭辞に使用できるのは、12文字までです。Oracle RACデータベース・インスタンスのORACLE_SID
は、そのデータベースに選択した管理方法に応じて異なる方法で生成されます。ポリシー管理型のデータベースを選択した場合、Oracleはname_# (nameはDB_UNIQUE_NAMEの最初の8文字の英数字で、#はインスタンス番号)という形式のSIDを生成します。管理者管理データベースを選択した場合、Oracle Database Configuration Assistantは、name# (nameはDB_UNIQUE_NAMEの最初の8文字の英数字で、#はインスタンス番号)という形式を使用して、インスタンス名のデフォルトSIDを生成します。ただし、インストール中またはデータベース作成中に、SIDのデフォルト以外の値を指定できます。インスタンスごとに、インスタンス番号がこの文字列の末尾に自動的に追加されます。Oracle RAC One Nodeデータベースの場合、インスタンス名はORACLE_SID_1で、これはSID接頭辞に「
https://docs.oracle.com/cd/F19136_01/riwin/selecting-a-database-name.html#GUID-3C954866-8375-4319-9184-CAA5F3B299D4_1
」を加えて構成されています。オンライン再配置の際には、2番目のインスタンスORACLE_SID_2が起動し、再配置の完了後にはそれが唯一のインスタンスになります。次のオンライン再配置では、新しいインスタンスとしてORACLE_SID_1が使用されます。
-
データベース名の選択
docs.oracle.com