您好,登錄后才能下訂單哦!
今天還原oracle 11 G到oracle 10G上,首先出現了版本不匹配的問題。
此問題使用 http://hundage.blog.51cto.com/3779401/1285465 中的解決方法可以解決。
解決頭文件驗證失敗的問題后,執行還原命令總是提示用戶不存在。
在運行對話框中輸入 cmd > sqlplus /nolog >conn sys/manager as sysdba; >conn user/password;返回的結果是已連接。
就想著是不是創建用戶出現了問題,就使用oracle em(http://ip:1158/em)去創建表空間、用戶。
結果em登錄出現了unknown host specified “java.lang.Exception: Exception in sending Request :: null”的問題,em 出現不能用的問題,我就選擇避開,使用命令行的方式進行數據還原。
操作步驟如下:
--創建表空間
CREATE SMALLFILE TABLESPACE "test_data_CW" DATAFILE 'D:\ORACLE\PRODUCT\ORADATA\ORCL\test_data_cw' SIZE 100M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
CREATE SMALLFILE TABLESPACE "test_data_BLOB" DATAFILE 'D:\ORACLE\PRODUCT\ORADATA\ORCL\test_data_blob' SIZE 100M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
--創建用戶
CREATE USER "test_data" PROFILE "DEFAULT" IDENTIFIED BY "test_data" DEFAULT TABLESPACE "test_data_CW" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK
GRANT "CONNECT" TO "test_data"
--授權
GRANT ALTER ANY INDEX TO "test_data" WITH ADMIN OPTION
GRANT ALTER ANY PROCEDURE TO "test_data" WITH ADMIN OPTION
GRANT ALTER ANY TABLE TO "test_data" WITH ADMIN OPTION
GRANT CREATE ANY INDEX TO "test_data" WITH ADMIN OPTION
GRANT CREATE ANY TABLE TO "test_data" WITH ADMIN OPTION
GRANT CREATE ANY VIEW TO "test_data" WITH ADMIN OPTION
GRANT CREATE PROCEDURE TO "test_data" WITH ADMIN OPTION
GRANT DROP ANY INDEX TO "test_data" WITH ADMIN OPTION
GRANT DROP ANY PROCEDURE TO "test_data" WITH ADMIN OPTION
GRANT DROP ANY TABLE TO "test_data" WITH ADMIN OPTION
GRANT DROP ANY VIEW TO "test_data" WITH ADMIN OPTION
--修改限額
ALTER USER "test_data" QUOTA UNLIMITED ON "test_data_BLOB" QUOTA UNLIMITED ON "test_data_CW"
然后執行
imp test/test@orcl fromuser=testA touser=test_data full=y file='d:\oracle\backup\testA.dmp' ignore=y log='d:\oracle\backup\testAlog.log'不成功,提示ORA-01435。
上網查找這個問題還是用戶不存在造成的。我到'D:\ORACLE\PRODUCT\ORADATA\ORCL'找我創建的test_data_CW.DBF文件,文件存在。
納悶了怎么還是提示用戶不存在呢,于是采用如下命令刪除了表空間:
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES
使用 DROP USER test_data; 刪除了我創建的用戶。
重新執行上面的創建命令,再進行還原還是存在這個問題。
后來執行 select name from v$database; 查詢當前數據
select instance_name from v$instance;查詢當前數據庫實例
發現數據庫和數據庫實例均不是我還原時用的orcl。
進入到服務面板,找到oracle相關的服務OracleServiceOrcl和listener,重新啟動服務。
總是不成功,后來發現還存在另外一個監聽。
再后來就重啟了機器。
這一次決定em 的方式創建用戶,解決unknown host specified這個錯誤,后來通過百度得到的解決方法是修改時區。具體做法如下:
① 修改 $ORACLE_HOME\10.2.0\db_1\KEVIN_orcl\sysman\config\emd.properties(其中KEVIN_orcl是我本機上的目錄名稱:servername_sid,若是自定義的$ORACLE_HOME請自行更改) 【也可以到oracle的安裝目錄下直接搜索emd.properties】
② 用記事本打開emd.properties,其中的agentTZRegion缺省是GMT,改為你所在的時區即可,例如:
agentTZRegion=Asia/Shanghai
重啟機器或者OracleDBConsole<SID>服務
此時使用 http://ip:1158/em登錄可以正常使用了,我就使用em創建表空間>用戶>授權>執行還原命令。
這樣就成功把oracle11G還原成oracle10G了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。