1.首先是数据库的导出。(导出用户需要DBA权限)
创建一个DBA权限用户,或者使用system用户。
1)进入cmd
2)sqlplus / as sysdba 或者 sqlplus sys/密码 as sysdba
3) alter user system identified by 123456;
4) GRANT SYSDBA to system;
5)exp system/123456@TBM file=d:/daochu.dmp full =y;
exp system/123456@TBM log=exp.log full =y;
exp system/123456@TBM file=d:/USERtdaochu.dmp owner=(USER); 只导出USER用户数据
针对于10g的导出,碰到以下问题
1.在远程操作时报 ora-12560 TNS: 协议适配器错误的解决方法
请参考http://blog.csdn.net/lioncode/article/details/7913338
2.在数据导出时有个MAXSIZE错误,具体记不清楚了
使用oracle 10g 客户端进行导出
3.由于本人机器上装有10g 客户端,11g客户端,11服务端
所以注意环境变量的配置。
oracle_home变量删除或为空。PATH:填写自己当前所需要用的版本路径。
2.数据导入
1.新库中创建表空间(USER用户下有两个表空间)
create tablespace ABC000 datafile 'D:\app\Administrator\oradata\orcl\ABC000' size 30000M autoextend on next 100M;
create tablespace ABCNDX datafile 'D:\app\Administrator\oradata\orcl\ABCNDX' size 4000M autoextend on next 100M;
2.创建用户
create user USERNAME identified by PASSWORD default tablespace ABC000;
3.授权
grant connect,resource to USERNAME;
4. 撤销unlimited tablespace权限
revoke unlimited tablespace from USERNAME;
5.设置USERNAME对表空间ABCNDX没有配额限制
alter user USERNAME quota unlimited on ABCNDX;
6.导入
imp system/123456@ORCL file=d:/USERdaochu.dmp full=y ignore=y;
由于其中进行测试所以涉及到数据库用户的删除,表空间删除。
3.用户删除
drop user USERNAME cascade;
删除表空间
DROP TABLESPACE ABC000 INCLUDING CONTENTS AND DATAFILES;
DROP TABLESPACE ABCNDX INCLUDING CONTENTS AND DATAFILES;
物理文件删除。
以上三步完成数据库的迁移及测试后恢复。