2013-06-18 41 views
-1

我剛剛安裝了Oracle - DevSuitehome2,Oracle數據庫10g快捷版和Oracle Developer Suit - DevSuiteHome2。 我對這個Oracle表單,Oracle Reports等是新手。在安裝過程中,它詢問密碼。我輸入了它。這是寫在SYS和SYSTEM數據庫帳戶中使用您的密碼。安裝完成後,我啓動了SQL * Plus。我輸入SYSTEM作爲用戶名和密碼。如何查找主機字符串?

    ERROR: 
       ORA-12154 :TNS:could not resolve the connect identifier specified 

我也嘗試SYS作爲我的用戶名,但仍然是相同的錯誤。我打開CMD和類型:

    C:\>sqlplus /nolog 
       SQL> conn/as sysdba 
       connected. 
       SQL> desc dba_users 
       NAME   NULL?   TYPE 
       ------   ------   -------- 
       USERNAME      VARCHAR2(30) 
       USERID       NUMBER 
       PASSWORD      VARCHAR2(30) 
       . 
       . 

       SQL>select username,password from user_dba; 
       USERNAME     PASSWORD 
       -----------     ------------- 
       SYS       XXXXXXXXXX 
       SYSTEM      XXXXXXXXXX 
       SCOTT      XXXXXXXXXX 
       HR       XXXXXXXXXX 
       . 
       . 

所有的密碼寫在複雜的形式,以便簡化它,我想更改密碼中的任何一個。所以,我寫道:

   SQL> alter user HR identified by password; 
       user altered. 

然後我試圖在打開SQL * Plus時使用這些。它不起作用。我現在不知道主機字符串是什麼。我可以獲取有關用戶,密碼和主機字符串的完整信息嗎?我試圖搜索tnsnames.ora文件,但無法找到。所有文件,文件夾都是亂七八糟的。

回答

1

用戶名和密碼:

SELECT USERNAME, PASSWORD 
FROM DBA_USERS; 

密碼,總是被加密的,所以你不會得到離譜了吧

主機名:

SELECT sys_context('USERENV', 'HOST') FROM DUAL; 

SYS_CONTEXT很多,很多事情的偉大工程:

http://psoug.org/reference/sys_context.html

如果您有權訪問命令行,則可以使用偵聽器狀態獲取更多信息。

LSNRCTL> STATUS 
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=net))) 
STATUS of the LISTENER 
------------------------ 
Alias      LISTENER 
Version     TNSLSNR for Linux: Version 11.2.0.0.0 - 
Beta 
Start Date    15-JAN-2008 12:02:00 
Uptime     0 days 0 hr. 5 min. 29 sec 
Trace Level    support 
Security     OFF 
SNMP      OFF 
Listener Parameter File /oracle/network/admin/listener.ora 
Listener Log File   /oracle/network/log/listener.log 
Listener Trace File  /oracle/network/trace/listener.trc 

Listening Endpoints Summary... 
    (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=net))) 
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521))) 
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=sales-server)(PORT=2484))) 

Services Summary... 
Service "sales1.us.example.com" has 1 instance(s). 
    Instance "sales", status READY, has 1 handler(s) for this service... 
Service "sales2.us.example.com" has 1 instance(s). 
    Instance "sales", status READY, has 2 handler(s) for this service... 
The command completed successfully 

來源:http://docs.oracle.com/cd/E11882_01/network.112/e10835/lsnrctl.htm#CIHGHCGJ (Oracle數據庫網絡服務參考)

+0

這LSNRCTL>狀態不是在命令行工作。 – ankitaP

+0

通過在命令行輸入命令,您可以** ** lsnrctl ** like ** sqlplus **,這將導致您** LSNRCTL> **,然後您可以鍵入** STATUS **。您也可以通過在命令行中一次全部輸入來使用它:** lsnrctl status。** –

+0

不,它不起作用。我也嘗試輸入「help lsnrctl」。輸出是「SP2-0172:找不到與此主題匹配的幫助」 – ankitaP