[ORACLE]今接続しているサーバー・スキーマとかを確認する

投稿日:2018-07-19

Oracle使ってる時に、今どのサーバーに繋いでるの?とか、今どのスキーマに繋いでるの?

ってなるとき無いですか?

そんなときの確認法。

今、どのサーバーに接続してるんだ?

先日の仮想マシンにOracleをインストールした時のこと・・・

ゲストOS内ではローカル接続は出来ていて、外から接続ができなくて悩んでいたタイミングに、IPの直接指定で接続できた(ように見えてしまって)いたんです。

実際には、ホストOS側のOracleに繋がっているという状態だったんですが、TRUNCATEコマンドなんかも実施したりしてたので、後で考えた時にゾッとしたわけです。

実際、ローカル環境だったので、dumpファイルインポートしちゃえば無かったことに出来るので、大丈夫ではあったんですが、どのサーバーに繋いでいるのか?っていうのは確認必須だな・・・と。

接続・実行先の確認方法

SQLDeveloper

色々楽なので、使うんですが、SQLDeveloperだと、こんな感じで接続状態と、SQLの実行先が分かります。

データベースアイコンに電源コネクタみたいなのが表示されるようになってるので、現在の接続先が分かりやすい。

ただ、これも接続確認が出来ている状態で有効な確認方法であって、100%ではないわけです。

先日の接続出来ていない状態だと、アイコンもこういう風に変わって、普通に接続できているように見えていたので。

インスタンスの確認

SELECT * FROM v$instance;

確認できる項目はいくつかあるけど、

  • INSTANCE_NAME
  • HOST_NAME
  • VERSION
  • STARTUP_TIME

なんかを確認すると良い感じ。

少なくとも、HOST_NAMEが正しい必要はある。

接続先IPアドレスの確認

CYS_CONTEXTを使うと、もっと色々と情報は取得できるけど、インスタンスの確認でHOST_NAMEがわかっているので、念のためにIP確認をする。

SELECT sys_context('USERENV', 'IP_ADDRESS') FROM dual;

「IP_ADDRESS」部分を変更すれば現在のセッションの定義を確認できる。

パラメータについては、

https://docs.oracle.com/cd/E60665_01/db112/SQLRF/functions184.htm

を参照のこと。

まとめ

うちの会社では、プロジェクトごとに仮想マシンをWindowsServer上に作成して、Oracle11gXEでDB環境を作って社内での開発に使用してたりします。

が、先日のような事が起こると、どこに接続しているか?というのは非常に重要なファクターなので、確認せざるを得ないなと。

SELECT文やVIEWなら全然問題ないけど、TRUNCATEや、大量データのDELETEをかます時には一度確認したいなと。

別にローカルDBに接続されてしまっているだけなら全く問題ないけど、実はスキーマが本番テスト用でした・・・とかだと笑えないので。

まぁ、本番テスト用だろうが管理者に頭下げてロールバックなりして貰えれば解決するけど、その間になぜかPLとかから怒られるので・・・

後は、特に客先では気をつけましょうって話。







-ORACLE
-,

関連記事

Oracleで「ORA-00918: 列の定義が不明瞭です 」のエラーの解決法と発生理由

発生したエラー ORA-00918: 列の定義が不明瞭です 原因 原因は、同じ列名やテーブルの別名を使用していること。 解決方法 Select句で羅列している列に同一の列名(別テーブル)があれば、as …

ORACLEで「IMP-00013: DBAのみ別のDBAがエクスポートしたファイルをインポートできます。」の解決法。

客先DBのエクスポートしたものがインポートできずに、タイトルのエラーを吐く。 幸い、お客さんの目の前じゃなかったので、ゆっくり調べて解決できたけど、客先で発生したら困るよなぁ・・・ もともと英語のメッ …

[ORACLE]マテリアライズドビューの一覧を取得する

正直、使わなさ過ぎてマテリアライズドビューって何?って感じではあるけど、たまにフラット出てくるのでメモ。 詳細は、Oracleのリファレンス見てください。 https://docs.oracle.co …

続) 何度だって引っかかるORACLEのエラー・・・。ORA-01008:バインドされていない変数があります。

この土日は休日出勤でした・・・ そして、昨日・・・新しい現象が発生しました。 日本の中心付近で仕様変更と闘うSE日記日本の中心付近で仕様変更と闘うSE日記http://ht-jp.net/blog/p …

[ORACLE]ORA-00918:列の定義が未確定です・・・のエラーにならなかった

なんでエラーになるものをマージしてるんだ? と、怒られました。 一瞬、理解が出来ず・・・ で、エラーを再現してもらう・・・と。 あっさり発生。 早く修正しろって突っ返されました。 頭には「?」しか浮か …


カテゴリー