1. 利用imp/exp 可將10g(表+資料) 完美遷移 到 11g,地球人都知道。
2,11g (表+資料) 完美遷移 到 10g , 如下解決方案:
一、在11g伺服器上,使用expdp命令備份資料
EXPDP USERID='szairpay/szairpay@orcl' schemas=szairpay directory=DATA_PUMP_DIR dumpfile=sz11g.dmp logfile=sz11g.log version=10.2.0.3.0'
szairpay/szairpay@orcl
帳號/密碼@資料庫執行個體
schemas=szairpay 可省略
directory=data_pump_dir 放組建檔案的目錄,一般會產生到admin\orcl\dpdump
dumpfile=sz11g.dmp 產生的檔案名稱
logfile=sz11g.log日誌啊,
version=10.2.0.3.0 對應要放的10g的Oracle版本
以上參數右邊的值都可以按實際情況改
二、在10g伺服器上,使用impdp命令恢複資料
步驟:1.建庫2.建資料表空間3.建使用者並授權4.將dag.dmp拷貝到10g的dpdump目錄下5.impdp匯入資料庫
1、建庫:是在database configuration assistant 中直接建立一個資料庫(執行個體)。
2、建資料表空間:create tablespace szairpay datafile 'D:\oracle\product\10.2.0\oradata\orcl\szairpay .dbf' size 400m autoextend on next 20m online; 注意,此資料表空間名要與11g中的資料表空間一致
3、建使用者:
create uszairpay oa identified by szairpay; 注意,此使用者名稱要與11g中的使用者名稱一致
授權:
Alter user szairpay default tablespace szairpay quota unlimited on szairpay; //OA自己改,一看就懂了
grant create session to szairpay;
grant connect to szairpay;
grant connect, resource, dba to szairpay;
grant create table to szairpay;
grant create view to szairpay;
grant create trigger to szairpay;
grant select any table to szairpay;
grant create sequence to szairpay;
grant create procedure to szairpay;
grant create role to szairpay;
grant create type to szairpay;
grant GRANT ANY PRIVILEGE to szairpay;
4、匯入:首先測試機中10g裝在了D:/根目錄下,於是將sz11g.dmp檔案copy到了E:\SETUP\Oracle10g\zhumulu\admin\orcl\udump目錄下。
建立目錄命令如下:
sqlplus sys/sys@daggis
sql>create directory dump_dir as 'E:\SETUP\Oracle10g\zhumulu\admin\orcl\udump';
5、匯入資料
IMPDP USERID='szairpay/szairpay@orcl as sysdba' schemas=szairpay directory=DATA_PUMP_DIR dumpfile=sz11g.dmp logfile=sz11g.log version=10.2.0.3.0
到這裡為止,所有的操作都完成了,終於看到了久違的訊息:操作完成!
最後有一個命令查看原對象使用者總數,大家可以根據需要進行驗證,在匯出資料庫的機器運行一次,在匯入資料庫後的機器運行一次,看看結果是否一樣:
sql>select count(*) from dba_objects where owner in ('wangou','sup','qishun');
呵呵,上面就是我操作的全部過程,如果大家有更好的辦法完成,請記得共用哦!大家互相學習,一起進步!