Oracle11g還原數(shù)據(jù)庫導(dǎo)入dmp文件的實現(xiàn)方式
1.首先你要知道往哪個用戶里面導(dǎo),先創(chuàng)建個用戶然后授權(quán)
打開sqlplus,用system登錄(或者有dba權(quán)限的用戶) 一次執(zhí)行下面的命令語句。
CREATE USER "用戶名" PROFILE "DEFAULT" IDENTIFIED BY "密碼" DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK; GRANT CREATE ANY TABLE TO "用戶名"; GRANT UNLIMITED TABLESPACE TO "用戶名"; GRANT "CONNECT" TO "用戶名"; GRANT "RESOURCE" TO "用戶名"; GRANT CREATE ANY VIEW TO "用戶名"; GRANT dba TO "用戶名";
2.然后打開cmd,根據(jù)自己的數(shù)據(jù)庫執(zhí)行下面語句
imp 剛才創(chuàng)建的用戶名/密碼@數(shù)據(jù)庫實例名 full=y file=文件的絕對路徑(包含文件名) ignore=y
3.導(dǎo)入過程中報錯?怎么重新導(dǎo)入?
如果導(dǎo)入數(shù)據(jù)有問題的話,大多是表空間缺失,因為dmp文件不會把表空間也備份出來的,若報表空間不存在,刪掉用戶,建表空間,重新imp就行了
執(zhí)行下面語句刪除用戶(慎用,別刪錯了,這是刪除用戶和用戶底下所有的數(shù)據(jù))
drop user 用戶名 cascade
4.最后記錄一下導(dǎo)入過程中遇到的問題
1.在A用戶下導(dǎo)入但是數(shù)據(jù)卻導(dǎo)入到了B用戶里
這是由于導(dǎo)入的dmp文件的原因,里面設(shè)定了自動導(dǎo)入A用戶,這時候你需要重新創(chuàng)建一個Oracle實例,注意不是Oracle用戶,是實例,創(chuàng)建過程中一定要設(shè)置數(shù)據(jù)庫字符集為ZHS16GBK
如何連接到另外一個Oracle實例?
conn 用戶名/密碼@實例名
2.導(dǎo)入過程中提示: “XXXX值太大,無法執(zhí)行”
這就是沒有設(shè)置ZHS16GBK的原因,打開sqlplus,登錄后先確定你連接的數(shù)據(jù)庫是你需要修改的(別改錯了),然后登錄有dba權(quán)限(最高權(quán)限)的用戶,依次執(zhí)行以下命令語句
SQL> conn /as sysdba; SQL> shutdown immediate;//這個可能久一點,不超過5分鐘 SQL> startup mount;//歸檔模式 SQL> alter system enable restricted session;//數(shù)據(jù)庫訪問受限狀態(tài) SQL> alter system set JOB_QUEUE_PROCESSES=0; SQL> alter system set AQ_TM_PROCESSES=0; SQL> alter database open; SQL> alter database character set internal_use ZHS16GBK; SQL> alter database character set ZHS16GBK SQL> shutdown immediate; SQL> startup;
執(zhí)行完成之后再次進(jìn)行導(dǎo)入發(fā)現(xiàn)沒有問題了
3.導(dǎo)入過程中提示: "表空間不存在"或“表不存在創(chuàng)建觸發(fā)器失敗”
這是因為dmp文件有問題,最初導(dǎo)出dmp文件的時候,沒有提前設(shè)置好導(dǎo)出空表,只能去原來數(shù)據(jù)庫將缺少的空表或序列手工導(dǎo)進(jìn)來,可以用Navicat。
4.報錯內(nèi)容包含表缺失
有可能是源頭數(shù)據(jù)庫是11g,沒有開啟空表導(dǎo)出,這個解決起來比較麻煩,需要知道哪些表是空表,表與表之間的關(guān)聯(lián)關(guān)系
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
oracle誤刪數(shù)據(jù)表還原的二種方法(oracle還原)
這篇文章主要介紹了oracle誤刪數(shù)據(jù)表還原的二種方法,大家參考使用吧2014-01-01
Oracle數(shù)據(jù)庫Schema備份與導(dǎo)入導(dǎo)出的全攻略
在 Oracle 數(shù)據(jù)庫管理中,Schema(模式)的備份與恢復(fù)是保障數(shù)據(jù)安全的核心操作,本文將系統(tǒng)講解 Schema 的備份策略、導(dǎo)出方法、導(dǎo)入恢復(fù)及常見問題處理,幫助數(shù)據(jù)庫管理員高效完成數(shù)據(jù)備份與遷移工作,需要的朋友可以參考下2025-10-10
Oracle to_char 日期轉(zhuǎn)換字符串語句分享
這篇文章主要介紹了Oracle to_char 日期轉(zhuǎn)換字符串語句,別處挖過來的,真是太長了,學(xué)習(xí)oracle的朋友可以收藏下2014-08-08

