我想检查SID和当前数据库名称.
我正在使用以下查询来检查oracle SID
select instance from v$thread;
Run Code Online (Sandbox Code Playgroud)
但表或视图不存在错误即将到来.
我正在使用以下查询来检查当前数据库名称
select name from v$database;
Run Code Online (Sandbox Code Playgroud)
但表或视图不存在错误即将到来.
对上述两个问题有什么想法吗?
我从Oracle下载了SQLPLUS:
http://www.oracle.com/technetwork/topics/winx64soft-089540.html
Basic Lite和SQL*Plus
然后我启动了SQL*Plus:
c:\Program Files\Oracle\instantclient_12_1>sqlplus /nolog
SQL*Plus: Release 12.1.0.2.0 Production on Wed Apr 15 15:25:36 2015
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Run Code Online (Sandbox Code Playgroud)
并尝试连接到数据库:
connect user\password@hostname
Run Code Online (Sandbox Code Playgroud)
并收到错误消息:
ERROR:
ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
我运行了Jakub建议的查询,我得到了
SQL> select sys_context('USERENV','SERVICE_NAME') from dual;
SYS_CONTEXT('USERENV','SERVICE_NAME')
--------------------------------------------------------------------------------
SYS$USERS
SQL> select sys_context('USERENV','SID') from dual;
SYS_CONTEXT('USERENV','SID')
--------------------------------------------------------------------------------
877
SQL>
Run Code Online (Sandbox Code Playgroud)