qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Oracle數據庫冷備份的還原及emca重建資料庫

           刪除oracle數據庫中已經建立的數據庫,按照備份的oracle路徑重新安裝新建數據庫,路徑、數據庫SMID必須和原來的完全一致。
            停止所有的Oracle服務,到oracle安裝目錄下,把新建的數據庫刪除,把備份的文件夾復制進來。
            重新啟動oracle服務,此時可以通過sqlplus對數據庫進行相關的操作,但要使用EM(Enterprise Manager)對數據庫進行管理時會顯示“Enterprise Manager 無法連接到數據庫實例,下面列出了組件的狀態”的信息,此時EM無法正常使用。出現問題的原因很多,可以用emca重建資料庫解決。
            emca重建資料庫:
            用sqlplus登錄,刪除早期DBCONSOLE創建的用戶:
            SQL> dropuser sysman cascade;
            若正常的話會等待一段時間,可能會出現如下錯誤:
            =========================================================
            ERROR at line 1:
            ORA-06553: PLS-801: internal error [56319]
            =========================================================
            錯誤原因:用64位系統上的備份片將數據庫還原到32位系統中所產生,反過來也會產生此錯誤。
            解決方案:運行腳本用32位系統重新編譯一下內核參數即可
            SQL> shutdown immediate;
            SQL> startup upgrade;
            SQL> @?/rdbms/admin/utlirp.sql
            SQL> @?/rdbms/admin/utlrp.sql
            SQL> shutdown immediate;
            SQL> startup;
            其中:
            utlirp.sql的作用是把相關內容全部在32bit平臺下編譯一遍.
            utlrp.sql的作用是編譯所有失效對象.
            然后再重新連接,就不會報錯了。
            接下來繼續重建資料庫
            SQL> droprole MGMT_USER;
            SQL> dropuser MGMT_VIEW cascade;
            刪除早期DBCONSOLE創建的對象:
            SQL> droppublic synonym MGMT_TARGET_BLACKOUTS;
            SQL> droppublic synonym SETEMVIEWUSERCONTEXT;
            在配置oem時遇到“DBSNMP 用戶名或密碼無效”的錯誤,原因是DBSNMP系統用戶可能被鎖用,所以我們首先解鎖DBSNMP用戶。
            登錄:SQL> conn sys/密碼 as sysdba
            解鎖:SQL> alter user dbsnmp account unlock;
            提交:SQL> commit;
            修改密碼:SQL> alter user dbsnmp identified by 你的新密碼;
            提交:SQL> commit;
            注意:提交很重要,不然解鎖不會生效。
           開始重新創建資料庫,在命令行執行以下命令:
            [oracle@localhost~]emca -repos recreate
            此時如出現(一般不會出現)如下錯誤:
            =========================================================
            ORA-12526: TNS:listener: all appropriate instances are in restricted mode
            =========================================================
            意思是:連接oracle數據庫出現oracleORA-12526: TNS:監聽程序: 所有適用例程都處于受限模式。
            原因是之前改字符集時執行了:
            [oracle@localhost~]# ALTER SYSTEM ENABLE RESTRICTEDSESSION;
            導致受限
            解決辦法:使用系統管理員身份運行以下一段代碼
            [oracle@localhost~]# ALTER SYSTEM DISABLE RESTRICTEDSESSION;
            解決完以后再次執行:
            [oracle@localhost~]# emca -repos recreate
            此時會提示輸入相關參數,按照提示輸入即可,其中監聽程序端口號為: 1521 ,等待一小會時間,執行完畢以后再停止agent:
            [oracle@localhost~]# emctl stop agent
            最后開始重建資料庫:
            [oracle@localhost~]# emca -config dbcontrol db
            此時同樣會提示輸入相關參數,按照提示輸入即可,其中監聽程序端口號還是為為: 1521 ,其中通知的電子郵件地址 (可選)和通知的發件 (SMTP) 服務器 (可選)兩項可以不寫,直接按enter鍵。
            再次等待一小會時間,執行完畢以后重建資料庫成功,啟動Enterprise Manager:
            [oracle@localhost ~]# emctl start dbconsole
            在瀏覽器地址欄輸入:http://localhost:1158/em即可使用Enterprise Manager管理數據庫。若其他機器無法連接,關閉防火墻即可。

          posted on 2014-04-22 18:36 順其自然EVO 閱讀(269) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄數據庫

          <2014年4月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 湛江市| 如东县| 禄丰县| 巫溪县| 陇南市| 汽车| 望城县| 辽阳市| 苗栗市| 泊头市| 泰州市| 民权县| 南宁市| 曲麻莱县| 内黄县| 开阳县| 巴南区| 漯河市| 屏南县| 天津市| 广宗县| 安新县| 宁陕县| 通海县| 永州市| 陈巴尔虎旗| 北川| 大邑县| 吴江市| 和田县| 浮山县| 肥城市| 通道| 延津县| 湛江市| 美姑县| 阳原县| 贡山| 台中县| 集安市| 肥东县|