[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-01950: 表領域’USERS’に対する権限がありません。のエラー対処法

  Oracle 12c R2(R1でも同様のエラーが発生)で ORA-01950: 表領域’USERS’に対する権限がありません のエラーが発生しました。 状況とし …

ORACLEで他のスキーマでSQLを実行した時に、権限不足で「ORA-01031: 権限が不足しています。」のエラーになる

A5Mk2 http://www.wind.sannet.ne.jp/m_matsu/developer/a5m2/ 普段、SQL関連は、A5Mk2っていうソフトを使用しています。 今回のエラーは、自 …

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

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

no image

OracleでLISTAGG関数を使ったら、世界が変わった話。

11gR2からGROUP_CONCAT(複数行をまとめて1列に)が可能に http://d.hatena.ne.jp/kkz_tech/20150311/1426048592 日本の中心付近で仕様変更 …

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

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


カテゴリー