2012-02-03 244 views
9

我已經與Oracle合作了一段時間,但非常瞭解管理方面的事情,並且正在學習,所以請耐心等待。無法使用Oracle SQL Developer登錄數據庫作爲SYS

我無法使用SQL Developer用SYS用戶名登錄到我的數據庫(orcl_test)。我可以使用SYS作爲SYSDBA在SQLPlus中正常登錄 - 當我嘗試使用SQL Developer時,出現錯誤:
ORA-01017:無效的用戶名/密碼;登錄被拒絕。

在SQLPlus中以SYS身份登錄SYSDBA,我在數據庫中創建了一個測試表,並授予具有SELECT權限的測試用戶SCOTT。 Scott用戶可以通過SQL Developer無記錄問題登錄並訪問允許的表。

我已經檢查了斯科特用戶和SYS在使用相同的設置都記錄 -
主機名(IP地址)
端口:1521
SID:orcl_test

對於SYS我旗的作用SYSDBA - 但其他情況下設置是相同的。

爲什麼我無法登錄使用SYS的想法?我只是忽略了一些東西,或者我錯誤地配置了我的數據庫?

不知道這是否相關,但我不能使用'localhost'作爲主機名,我必須輸入IP地址。我在哪裏配置Oracle識別本地主機?

這是在運行Windows XP的獨立測試盒上新安裝的Oracle 11.2.0.1.0。運行Oracle SQL Developer 1.5.5。

+1

如果用連接類型 「TNS」,發生了什麼嘗試? – 2012-02-03 14:54:30

+1

好電話!雖然仍然確定有問題:我將連接類型更改爲TNS(檢查tnsnames.ora中的orcl_test條目 - 看起來不錯)。當使用網絡別名:「orcl_test」時,它會失敗,但是如果我選擇連接標識符並將其保留爲空,則SYS作爲SYSDBA可以正常工作。任何解釋剛剛發生在這裏將不勝感激。 – owlie 2012-02-03 15:35:36

+0

機器上安裝了多個客戶端嗎?搜索tnsnames.ora,是否存在多個? – 2012-02-03 15:42:02

回答

5

如果我理解正確,數據庫與SQL Developer安裝位於同一主機上?

sqlplus "sys/[email protected] as sysdba" 

這可能是因爲錯誤是正確的情況:你用sqlplus測試時完全限定的連接。確保你已經創建了一個密碼文件。

+0

是的,數據庫與SQL Dev安裝在同一主機上。我可以使用您提到的完整連接字符串連接,也可以在命令行中輸入'sqlplus'並根據提示輸入用戶名/密碼。將檢查密碼文件的存在。 – owlie 2012-02-03 14:17:34

+0

已檢查:v $ pwfile_users表包含SYS,並且SYSDB&SYSOP字段設置爲TRUE。 – owlie 2012-02-03 14:20:11

+1

這是一個棘手的問題。 SQLDeveloper 3.0提供了一個連接選項 - Local/Bequeath,這可能有所幫助。 – 2012-02-03 14:35:57

2

您正在使用的sys密碼無效。

但是由於您通過Oracle計算機上的命令連接到oracle,即使您的密碼不正確,Oracle也不會檢查您的密碼。

只需更改sys密碼,然後重試。

2

蘇 - 預言

ORAPWD文件= $ ORACLE_HOME/DBS/orapw $ ORACLE_SID密碼= Euro2016條目= 5

這意味着:寫入文件$ ORACLE_HOME/DBS/orapw $ ORACLE_SID密碼Euro2016這是使用SYSDBA

現在你可以用的SQLDeveloper連接:用戶名SYS,密碼Euro2016與選擇SYSDBA,主機名,端口,SID從$ ORACLE_SID

+0

你是什麼意思.. orapwd file = $ ORACLE_HOME/dbs/orapw $ ORACLE_SID password = Euro2016 entries = 5你不能更具描述性嗎? – Hari 2015-07-03 08:24:31

+0

在許多外部應用程序中,它允許在此情況下使用SYSDBA密碼Euro2016。我在上面添加了一些評論。 http://www.dba-oracle.com/t_advanced_orapwd_utility.htm – 42n4 2015-07-07 12:43:30

3

The SYSDBA System Privilege (1)(Logging In and Connecting to the Database as SYSDBA (2))

(1): Connecting AS SYSDBA invokes the SYSDBA privilege. If you omit the AS SYSDBA clause when logging in as user SYS, the SQL Command Line rejects the login attempt.

(2): Using SQL Developer, open a database connection to the SYS user AS SYSDBA.

所以 - 如果這對你的作品:

sqlplus sys/[email protected] as sysdba; 

嘗試: 「SYS AS SYSDBA」 如下:

enter image description here

或者

您可以鍵入:「SYS」並從下拉菜單中選擇ROLE:SYSDBA。

enter image description here

相關問題