Oracleのサービス名を変更できません


9

Windows 2003サーバー上のOracle 11.2.0.3インストールのサービス名を変更しようとしています。

インストール中に、サービス名はデフォルトドメインで定義されましたが、それを取り除きたいと思います。

サービス名mydb.foo.barを次のように変更するためにこれまでに行ったこと(および以前に機能したこと)mydb

alter system set service_names = 'mydb' scope = both;
alter database rename global_name to mydb;

うまくいったようです:

SQL>パラメータ名を表示

名前タイプ値
------------------------------------ ----------- --- ---------------------------
db_name文字列mydb
db_unique_name文字列mydb
global_namesブールFALSE
instance_name文字列mydb
service_names文字列mydb
SQL>

(上記の出力から関連性のないいくつかのプロパティを削除しました)

次に、を使用alter system registerしてリスナーに再登録します。

これは効果がなかったので、データベースとリスナーを再起動しましたが、まだ運がありません。

現在の状況は次のとおりです。

select name from v$active_services 戻り値:

SERVICE_ID | NAME | ネットワーク名       
----------- + ----------------- + --------------------
1 | SYS $ BACKGROUND |                    
2 | SYS $ USERS |                    
3 | mydb | mydb           
5 | mydbXDB | mydbXDB        
6 | mydb.foo.bar | mydb.foo.bar

そのため、何らかの理由で古いサービス名がまだ存在し、実行されています。

を使用してサービスを停止しようとするとき

SQL> exec dbms_service.stop_service( 'mydb.foo.bar');
PL / SQLプロシージャが正常に完了しました。

エラーは報告されませんが、サービスを削除しようとすると、Oracleは私に許可しません:

SQL> exec dbms_service.delete_service( 'mydb.foo.bar');
BEGIN dbms_service.delete_service( 'mydb.foo.bar'); 終わり;

*
1行目のエラー:
ORA-44305:サービスmydb.foo.barが実行されています
ORA-06512:「SYS.DBMS_SYS_ERROR」の86行目
ORA-06512:「SYS.DBMS_SERVICE」の454行目
ORA-06512:「SYS.DBMS_SERVICE」の343行目
ORA-06512:1行目

私はそのサービスを使用して開いている接続がないことを確認しました:

select count(*)
FROM v$session
where service_name = 'mydb.foo.bar';

返された0(ゼロ)

私もoradimを使用してWindowsサービスを再作成しましたが、役に立ちませんでした。

ある時点で私は走った

alter system set service_names = 'mydb,mydb.foo.bar' scope = both;

それが今私が両方を持っている理由でしょうか?

しかし、service_namesを1つの名前だけに変更した後、2番目の名前はなくなっているはずですよね。

2番目のサービスを廃止できない場合は、長いサービス名ではなく、短いサービス名を使用してインスタンスをリスナーに登録するだけで十分です。

私はかなり明白なものを見逃していると確信していますが、それが何であるか理解できません。

回答:


5

私はかなり明白なものを見逃していると確信していますが、それが何であるか理解できません。

はい、それは非常に明白なものでした...

パラメータはDB_DOMAINまだ含まれfoo.barているため、インスタンスはを使用して自身を登録しましたmydb.foo.bar

した後

alter system set db_domain='' scope=spfile; 

データベースをバウンスすると、すべてが期待どおりに機能します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.