1. 程式人生 > >Oracle使用sqlplus和plsql都無法登入使用者

Oracle使用sqlplus和plsql都無法登入使用者

Oralce使用normal模式登入使用者失敗,不知道原因

1.sqlplus和plsql都無法登入普通使用者

  在sqlplus中:sqlplus / as sysdba;顯示許可權錯誤,以為是自己電腦的本地組ora_dba組中沒有電腦系統
的名稱,通過計算機管理->本地使用者和組—>組—>ora_dba—>新增—>高階—>立即查詢—>Administrater,確定即
可。再次測試,依然不行。

2.監聽器和資料庫服務確認已經開啟

  通過Ctrl+window鍵,鍵入services.msc開啟服務,找到"O"開頭的OracleServiceXXX服務和
OracleOraDb11g_home1TNSListenerLISTENER,
啟動即可。再次測試,還是不行。

3.登錄檔中的sid也是正確的

  通過Ctrl+window鍵,鍵入regedit開啟登錄檔HKEY_LOCAL_MACHINE—>SOFTWARE—>Wow6432Node(電腦
系統是64位,但是Oracle版本是32位的,如果Oracle是64位的SID。不知道SID是多少?其實就是之前開啟的服
務OracleServiceXXX中的XXX。修改之後進行測試,oh!no!感覺要崩潰了。

4. 修改配置檔案

  在Oracle安裝目錄中的$home\admin\myoracle\pfile\init.ora檔案中,修改
remote_login_passwordfile=EXCLUSIVE配置。不行,檢視
$home\product\11.2.0\dbhome_1\NETWORK\ADMIN\sqlnet.ora檔案中
SQLNET.AUTHENTICATION_SERVICES= (NTS)是否正確,檢視無誤,另外給目錄下的tnsnames.ora檔案中的
例項配置也沒有問題,配置檔案都沒有問題。但是就是不知道原因出在哪裡。

5.使用Oracle自帶的配置助手

  Net Manager和Net Configuration Assistant等工具進行各種配置,依然不行,這時候我就想重新裝了。
搞了一個下午,各種錯誤都有,有許可權的,有服務執行過程中Oracle ORA-01033: ORACLE initialization 
or shutdown in progress 錯誤,協議介面卡錯誤,ORA-01031: insufficient privileges,ORA-
28547:連線伺服器失敗,可能是Oracle Net管理錯誤等。

6.問題解決

  雖然各種服務,各種配置都沒有問題,但是我通過plsql通過sysdba形式登入sys使用者,做一些操作顯示資料庫
未開啟,很是鬱悶。上網一查,發現可能是自己之前建立的表空間被無意間通過在Windows資料夾中直接刪除,而
不是使用Oracle刪除表空間的方式。於是乎:(1)通過sys使用者drop掉表空間ALTER DATABASE DATAFILE 
'D:\Oracle\Person.dbf' OFFLINE DROP;(2)開啟資料庫ALTER DATABASE OPEN;(3)通過Oracle命
令刪除表空間DROP TABLESPACE PERSONTEMPSPACE INCLUDING CONTENTS;如果不知道表空間的名字,可以
通過select tablespace_name from dba_tablespaces;命令在資料庫中搜索。再次使用normal模式登入,
發現成功。深藏名與功。對於一個新手來說,無緣無故出現錯誤而又不知道如何解決,只能一個個排查,還算解決了
問題。

7.結論

  表空間不能隨便刪除,如果需要刪除的話,還是要以Oracle提供的正常的方式進行,而不能直接在作業系統中為
了方便直接刪除,否則都不知道錯在哪裡。