ORACLE TECHNOLOGY NETWORK
 
 
   

Oracle Technology Network (OTN) Japan - 掲示板 » コミュニティ » 初心者の部屋

スレッド: コンピュータ名取得について

このスレッドに返信する このスレッドに返信する スレッド一覧へ スレッド一覧へ

Permlink 返信数: 6 - ページ数: 1 - 最新投稿 : 2005/03/15 18:56 最新投稿者: U10115 - スレッド表示形式:
U10115

投稿数: 9
登録日時: 02/10/01


コンピュータ名取得について
投稿時刻: 2005/03/15 18:13
  このスレッドに返信します… 返信

お世話になります。

【環境】
Oracle9i Release 9.2.0.1.0 - Production
PL/SQL Release 9.2.0.1.0 - Production
サーバ WindowsNTServer4.0
クライアント Windows2000

【目的】
DBMS_JOB.SUBMITで実行されるプロシージャ内で、
そのサーバのコンピュータ名を取得したい。
(表にUPDATEする際に、項目「コンピュータ名」に取得した値を追加する為)

【状況】
クライアント側のSQL*Plusにて下記SQLを含んだプロシージャを実行すると
変数v_COMP_NAMEにクライアントのコンピュータ名を取得することができました。

SELECT SYS_CONTEXT('USERENV','TERMINAL') INTO v_COMP_NAME FROM DUAL;
もしくは
SELECT SYS_CONTEXT('USERENV','HOST') INTO PK_COM.COMP_NAME FROM DUAL;

しかし、このプロシージャをDBMS_JOB.SUBMITでサーバ側で定期的に実行させると
変数v_COMP_NAMEにはサーバのコンピュータ名を取得することができませんでし
た。
値はNULLでした。

【問題点】
DBMS_JOB.SUBMITで実行されるプロシージャで、
SYS_CONTEXTを使ってサーバのコンピュータ名を取得することはできないのか?

また、他にコンピュータ名を取得する方法はあるのか?

よろしくお願い致します。


jyugem

投稿数: 3,423
登録日時: 00/09/13


RE:コンピュータ名取得について
投稿時刻: 2005/03/15 18:25   U10115 さんへの返信です。 U10115 さんへの返信です。
  このスレッドに返信します… 返信

>また、他にコンピュータ名を取得する方法はあるのか?

select host_name from v$instance ;

とか。

では。


okuchi

投稿数: 60
登録日時: 00/09/04


RE:コンピュータ名取得について
投稿時刻: 2005/03/15 18:38   U10115 さんへの返信です。 U10115 さんへの返信です。
  このスレッドに返信します… 返信


こんにちわ

>
>また、他にコンピュータ名を取得する方法はあるのか?
>
>よろしくお願い致します。

select UTL_INADDR.GET_HOST_NAME(NULL) from dual;

これもありみたい。。。
私もv$を使いますが、アプリケーションからすると
普通のスキーマでV$系のカタログが見えないことが
あるかもしれないので。。。

一応です。。。


U10115

投稿数: 9
登録日時: 02/10/01


RE[1]:コンピュータ名取得について
投稿時刻: 2005/03/15 18:47   jyugem さんへの返信です。 jyugem さんへの返信です。
  このスレッドに返信します… 返信

>>また、他にコンピュータ名を取得する方法はあるのか?
>
>select host_name from v$instance ;


SQL*Plusから↑のSQLを実行したところ
目的のサーバのコンピュータ名を参照できました。


が、プロシージャ内に組み込んでコンパイルしたところ
下記のエラーとなりました。
----------------------------
PL/SQL: SQL Statement ignored
PL/SQL: ORA-00942: 表またはビューが存在しません。
----------------------------

?、?共にもちろん同一ユーザでの結果なのですが
プロシージャとなるとSYSスキーマじゃないと無理なのでしょうか?


でで

投稿数: 9,881
登録日時: 00/10/25


RE[2]:コンピュータ名取得について
投稿時刻: 2005/03/15 18:51   U10115 さんへの返信です。 U10115 さんへの返信です。
  このスレッドに返信します… 返信

>?、?共にもちろん同一ユーザでの結果なのですが

丸数字でしょうか?文字化けしてますので、注意しましょう。

>プロシージャとなるとSYSスキーマじゃないと無理なのでしょうか?

ロール経由でなく、直接select any tableなどの権限が必要です。

---
でで OTN Viewer 1.1.8

U10115

投稿数: 9
登録日時: 02/10/01


RE[1]:コンピュータ名取得について【ご報告】
投稿時刻: 2005/03/15 18:53   okuchi さんへの返信です。 okuchi さんへの返信です。
  このスレッドに返信します… 返信


>select UTL_INADDR.GET_HOST_NAME(NULL) from dual;

こちらでテストした結果、
DBMS_JOB.SUBMITで実行されるプロシージャ内で、
そのサーバのコンピュータ名を取得することができました。

いろいろ方法があるようですね。
ご返信いただいた皆様ありがとうございました。

U10115

投稿数: 9
登録日時: 02/10/01


RE[3]:コンピュータ名取得について
投稿時刻: 2005/03/15 18:56   でで さんへの返信です。 でで さんへの返信です。
  このスレッドに返信します… 返信

>>?、?共にもちろん同一ユーザでの結果なのですが
>
>丸数字でしょうか?文字化けしてますので、注意しましょう。


初歩的なことですみません。
上の?が「1」で、下の?が「2」のつもりでした・・・。


>>プロシージャとなるとSYSスキーマじゃないと無理なのでしょうか?
>
>ロール経由でなく、直接select any tableなどの権限が必要です。
>
>---
>でで OTN Viewer 1.1.8







ウェブサイトのご使用条件 | 個人情報保護基本方針/情報保護基本方針