ORACLE 10g新手入門常見錯誤整理

2020-10-20 11:00:44

設定環境:Win 10系統 64位元 ORACLE 32位元

一、安裝錯誤/TNS:無法解析指定的連線識別符號

oracle 10g和PLSQL Developer在安裝時報錯或者安裝後無法登陸大多都是安裝路徑的問題!
如:ORA-12154: TNS:無法解析指定的連線識別符號
PL/SQL Developer預設安裝路徑
PL/SQL Developer預設安裝路徑一般是這樣,oracle也差不多。而它們的路徑是不允許有括號等特殊字元。因此這裡建議安裝路徑不要有空格、括號、中文等,推薦參考如下安裝路徑:
正確安裝路徑參考

二、OEM設定與啟動錯誤

1、OEM設定與啟動錯誤

首先要檢查資料庫和監聽是否都已經啟動並正常工作,可以在服務中找到對應選項右擊啟動/重新啟動。
服務中選擇對應選項

2、找不到伺服器IP地址

出現這種情況可能是由於IP更改了的原因,包括很多其他造成OEM無法正常啟動的原因,大多能通過emca命令重新設定ORACLE EM來解決。
OEM無法正常訪問

①在這之前需要在cmd中建立EM資料庫。emca -repos create(已建立的可以直接看②)
其中監聽埠號可在該檔案目錄下檢視(以記事本開啟):
F:\oracle\product\10.2.0\db_2\NETWORK\ADMIN\listener.ora
我們可以看到監聽埠號是1521。
監聽埠號
在cmd中輸入命令(口令不顯示,管自己輸入即可):
創建em資料庫
②設定dbcontrol。emca -config dbcontrol db
按要求輸入資訊(電子郵件地址和發件伺服器可以直接回車不填),繼續選擇Y,耐心等待即會提示已成功完成Enterprise Manager的設定。如圖所示的四個資訊也是我們之後經常要用到的。
重新配置EM1
重新配置EM2
其中倒數第三行顯示的URL即為我們存取OEM的連結。這時就能正常登入了
oem登入介面
oem主介面

3、時區錯誤Java.lang.Exception

Java.lang.Exception: IOException in sending Request :: Connection refused: connect 錯誤。
java.lang
出現這個錯誤的原因是我們Oracle的時區是預設的,和我們所在的時區不符,所以產生異常,需要手動修改時區,下面介紹一下步驟:
①在oracle安裝目錄下找到emd.properties檔案
F:\oracle\product\10.2.0\db_2\DESKTOP-HE6O2QJ.mshome.net_orcl\sysman\config
檔案路徑
②右擊選擇以記事本方式開啟,滑到最後,將agentTZRegion= GMT改為Asia/Shanghai,儲存。
改時區
③若提示無法修改,只要在屬性裡修改一下許可權就可以啦。
修改許可權
之後重新服務(可能需要重新啟動多次),此時oem的時區就對啦~

三、如何連線ORACLE

1、使用sql *plus連線資料庫

在「開始」裡找到Oracle-OraDblog_home2下找到SQL Plus。輸入登入使用者名稱、口令、主機字串(要連線的資料庫名稱)
sqlplus來連線資料庫
sqlplus連線資料庫

2、PL/SQL Developer連線資料庫

developer登入
developer連線資料庫

3、用cmd連線資料庫

以管理員身份開啟cmd,輸入命令sqlplus 使用者名稱@資料庫名 as sysdba/sysoper
cmd連線資料庫

四、Listener監聽程式相關錯誤

1、ORA-12560:TNS:協定介面卡錯誤

這通常是由於服務沒有啟動,在服務中心啟動相關服務即可。
tns介面卡錯誤
啟動服務

2、Listener服務啟動後停止

本地計算機上的OracleOraDb10g_home2TNSListener服務啟動後停止。某些服務在未由其他服務或程式使用時將自動停止
listener錯誤
這通常是由於清理掉了一些組態檔,需要重新設定。.在「開始」裡找到Oracle-OraDblog_home2下的Net Configuration Assistant。其他步驟按照預設設定來。
net1
net2
net3
之後Listener可以正常啟動了。
listener正常啟動

五、startup重新啟動資料庫失敗

ORA-12514:TNS:監聽程式當前無法識別連線描述符中請求的服務
ORA-24324:未初始化服務控制程式碼
ORA-01041:內部錯誤,hostdef擴充套件名不存在
startup錯誤提示

1、解決方法一:指定ORACLE_SID

通過查詢原因,知道這個報錯的根本原因是監聽中已經沒有了範例的註冊資訊;可能和多資料庫有關,可以嘗試指定ORACLE_SID。
①先從sql環境中退出 exit
②指定ORACLE_SID為你想要重新啟動的資料庫範例名 set oracle_sid=booksale
③重新連線資料庫 sqlplus sys/tiger as sysdba(tiger指的是初始密碼,若是修改了用自己設定得使用者口令密碼)
④這時就能啟動資料庫範例了 startup
解決方法1

2、解決方法二:修改監聽檔案

①找到目錄F:\oracle\product\10.2.0\db_2\NETWORK\ADMIN下的listener.ora檔案(開啟方式、許可權修改上文已講過)
監聽檔案目錄
②修改檔案內容。這裡以orcl和booksale為例,設定GLOBAL_DBNAME。(儲存之後需要多次重新啟動服務)

    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = F:\oracle\product\10.2.0\db_2)
      (SID_NAME = orcl)
    )
     (SID_DESC =
      (GLOBAL_DBNAME = booksale)
      (ORACLE_HOME = F:\oracle\product\10.2.0\db_2)
      (SID_NAME = booksale)
    )

修改ora
③在cmd中驗證。資料庫可以正常啟動了。
監聽好了

六、無法啟動聯機備份,未啟用媒介恢復

在使用者備份表空間時提示無法啟動聯機備份,未啟用媒介恢復。按照以下步驟即可(startup mount啟動不了可參照上文)

①shutdown immediate
②startup mount
③alter database archivelog
④alter database open

備份
備份

以上就是新手入門時常見的一些錯誤整理,希望能對你起到幫助~