回答:
私SELECT user FROM dual;
はあなたに現在のユーザーを与えるべきだと思います
およびSELECT sys_context('userenv','instance_name') FROM dual;
インスタンスの名前
私はあなたがSIDを取得できると信じています SELECT sys_context('USERENV', 'SID') FROM DUAL;
select sys_context('userenv','db_name') from dual;
データベース名とsidについては、既に回答に追加しています。これがあなたが望むものをあなたに与えることを願っています
私のように、データベースホストとSIDを取得してOracle JDBC URLを生成することが目的の場合は、
jdbc:oracle:thin:@<server_host>:1521:<instance_name>
次のコマンドが役立ちます。
SID(またはインスタンス名)を確認するOracleクエリコマンド:
select sys_context('userenv','instance_name') from dual;
データベース名(またはサーバーホスト)を確認するOracleクエリコマンド:
select sys_context('userenv', 'server_host') from dual;
添付 セルジオ・マルセロ
完全を期すために、ORA_DATABASE_NAMEを使用することもできます。
すべてのメソッドで同じ出力が得られるわけではないことに注意してください。
SQL> select sys_context('userenv','db_name') from dual;
SYS_CONTEXT('USERENV','DB_NAME')
--------------------------------------------------------------------------------
orcl
SQL> select ora_database_name from dual;
ORA_DATABASE_NAME
--------------------------------------------------------------------------------
ORCL.XYZ.COM
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
ORCL.XYZ.COM
V $ビューは、主にシステムメトリックの動的ビューです。これらは、パフォーマンスのチューニング、セッションの監視などに使用されます。そのため、デフォルトでは、アクセスはDBAユーザーに制限されているため、を取得していORA-00942
ます。
データベース名を見つける最も簡単な方法は次のとおりです。
select * from global_name;
このビューはPUBLICに付与されているため、誰でもクエリできます。
上のタイプsqlplus
コマンドプロンプト
SQL> select * from global_name;
その後、コマンドプロンプトで結果が表示されます
SQL ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM
ここで、最初の「ORCL」はデータベース名です。システムの「XE」など、Oracleのダウンロード時に指定されたものである可能性があります。