检查Oracle sid和数据库名称
我想检查SID和当前数据库名称。检查Oracle sid和数据库名称
我使用下面的查询检查的Oracle SID
select instance from v$thread;
但表或视图不存在错误来了。
我使用下面的查询检查当前数据库名
select name from v$database;
但表或视图不存在错误来了。
以上两个问题的任何想法?
我相信select user from dual;
应该给你当前用户
和select sys_context('userenv','instance_name') from dual;
实例
的名字,我相信你可以得到SID为SELECT sys_context('USERENV', 'SID') FROM DUAL;
(
不能检查这个现在
)
V $视图主要是系统度量的动态视图。它们用于性能调整,会话监控等。因此,默认情况下访问仅限于DBA用户,这就是为什么您要获得ORA-00942
。
查找数据库名称的最简单的方法是:
select * from global_name;
这一观点被授予PUBLIC,所以任何人都可以查询。
有关oracle SID的内容?是否有任何方法从斯科特账户中检查它? – Adnan 2011-06-09 08:59:42
正如上面提到,
select global_name from global_name;
是要走的路。
您无法查询v $ database/v $ instance/v $线程,因为您的用户没有所需的权限。您可以(通过DBA账户)授予他们:
grant select on v$database to <username here>;
只是为了完整性,您还可以使用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
上述查询不需要特殊权限。仅通过创建具有CONNECT权限的新用户进行验证。 – bdeem 2015-08-03 15:18:33
如果像我一样,你的目标是获得数据库主机和SID生成一个甲骨文JDBC URL,如
jdbc:oracle:thin:@<server_host>:1521:<instance_name>
以下命令将帮助:
Oracle查询命令检查SID(或实例名):
select sys_context('userenv','instance_name') from dual;
Oracle查询命令检查数据库名称(或服务器主机):
select sys_context('userenv', 'server_host') from dual;
ATT。 塞尔吉奥·马塞洛
完美。这正是我想知道的,但不知道如何表达。 – Addison 2016-07-20 07:13:35
我也是。谢谢塞尔吉奥! – horseatingweeds 2017-04-05 22:31:58
类型上sqlplus
命令提示符
SQL> select * from global_name;
则u会看到结果在命令提示符下
SQL ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM
这里第一个“ORCL”是数据库的名称,可能是你的系统“ XE“以及其他关于oracle下载时间的内容。
谢谢,你让我的一天。 – 2015-11-04 10:25:30
感谢您的快速回复。实例和oracle SID一样吗? – Adnan 2011-06-09 04:49:15
@Adnan他们不需要是相同的,因为可以在单个机器上运行的数据库的多个实例通过SID确定 – V4Vendetta 2011-06-09 04:51:34
@adnan您是否得到了所需的值? – V4Vendetta 2011-06-09 05:08:09