2011-08-04 5 views
1

oracleサーバーの設定(nls_date_formatなど)属性(実際にこれらの種類の設定がいくつあるかわかりません)は、実行中のoracleクライアントにダウンロードされますSQL * Plusにサーバーのホスト名を使用して接続することで、別のマシンにインストールできますか?Oracleクライアントとサーバーでの設定

クライアントがSQL * Plusであると仮定すると、クライアントはその異なるセットを変更します。

クライアントに独自の設定がある場合は、サーバーと同じ設定を行うことができますか。サーバーからすべての設定をエクスポートし、それらの設定をクライアントにインポートするようにします。

クライアントがSQL Developerの場合、同期を維持する方法はありますか。サーバー設定とクライアントの間。

答えて

1

NLS-Views(NLS_DATABASE_PARAMETERSNLS_INSTANCE_PARAMETERSNLS_SESSION_PARAMETERS)から設定(約20変数)を照会できます。 show parameter nlsによって、SQL * Plusの実際の設定を表示できます。

これらはいくつかの方法でSYSDBAによって変化させることができる。

  • 起動中に、データベース・パラメータは(S)PFILEから読み出されます。 spfileを使用する場合はALTER SYSTEM SCOPE=SPFILEで変更できます。あなたはPFILEを使用する場合は、インスタンスパラメータがALTER SYSTEM SCOPE=MEMORYによって設定され、一度シャットダウン
  • どちらの時に失われますSCOPE=BOTHを使用して変更することができます
  • それを手動で編集する必要があります。これはすぐに適用され、クライアントが自分のセッションのためにこれを無効にすることができ、シャットダウンに

を存続される2つの方法(少なくとも?):あなたのセッションの

  • がセットにALTER SESSIONことにより、SQL * Plusでシェルでexport NLS_...=...

を経由してクライアントの起動前

  • 設定環境変数後者オーバーライド以前のものなので、SESSIONはを打ちますは、DATABASEを食べます。

    SELECT * FROM NLS_INSTANCE_SETTINGSを使用して、これらの変数ごとに(おそらくいくつかのPL/SQLプロシージャを介して)現在のセッションにALTER SESSION SET ...を適用することができます。もう1つの方法は、インスタンスパラメータが使用されるようにすべてのセッションパラメータを設定解除することだけです。

    環境内にNLS変数(特にNLS_LANG)を設定しない場合、セッションはインスタンスまたはデータベースのものと同じにする必要があります。実際には、これは期待どおりに機能しません。なぜなら、常にlocaleの設定ではSQLP * Plusの結果が邪魔になるためです。 ;-)