Oracle 11g 表+数据 完美迁移 到 10g 解决方案
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');
呵呵,上面就是我操作的全部过程,如果大家有更好的办法完成,请记得共享哦!大家互相学习,一起进步!