博客
关于我
exp迁移测试库10.2.0.5
阅读量:446 次
发布时间:2019-03-06

本文共 3357 字,大约阅读时间需要 11 分钟。

目的:

将一套10.2.0.5的UP-UNIX系统的数据,迁移到一台Windows环境下。

迁移方案:由于不同的操作系统,为了方便迁移,只是测试,使用EXP/IMP方式。

 

迁移流程:

一.源端导出

1)确定数据库大小

SQL>select round(sum(bytes)/1024/1024/1024,2) from dba_segments;

2)确定数据库版本,及字符集

SQL>select * from nls_database_parameters;

NLS_CHARACTERSET               US7ASCII            数据库字符集

NLS_NCHAR_CHARACTERSET  AL16UTF16          国家字符集

NLS_RDBMS_VERSION             10.2.0.4.0             数据库版本

3)迁移的用户数量

SQL> select 'create user '||a.username||' identified by values '''||b.password||''';' from dba_users a,user$ b where

b.name=a.username and a.username not like '%SYS%' and a.account_status='OPEN';

4)数据导出

$imp system/oracle file=/u01/dump/exp_full_20190325.dmp log=/u01/dump/exp_full_20190325.log full=y

5)  Dump文件传输

选择二进制方式,使用ftp传输不要选择默认方式,否则默认转换后dump文件损坏

·  -   设置文件传输类型为ASCII,默认类型

·  -   设置文件传输类型为binary(二进制传输) 

ftp> binary         --传输前进行修改传输类型,选择binary方式

200 Switching to Binary mode.

传输后,通过ls -lrt 等方式对比字节数量,确认无误.

IMP-00010 During Import using a Transferred File (文档 ID 157954.1)

CHANGES

Copied export dump file from Windows to Solaris.
CAUSE
Export file was copied/transferred as ASCII file instead of binary.
SOLUTION
Copy/Transfer the export dump file as binary not ASCII.

 

二、目标端导入前准备

 

1)数据库版本与源端一致。

2)创建永久、临时表空间

select tablespace_name,sum(bytes)/1024/1024/1024 g,sum(maxbytes)/1024/1024/1024 maxg from dba_data_files group by tablespace_name;

select tablespace_name,sum(bytes)/1024/1024/1024 g,sum(maxbytes)/1024/1024/1024 maxg from dba_temp_files group by tablespace_name;

3)迁移用户

3.1备份

新库,导入前,备份系统用户名称:
select username from dba_users;
3.2创建批量删除用户脚本:{导入不成功,使用脚本进行回退操作}
select 'drop user '||username||' cascade;' from dba_users where username not in('A','B');

3.2创建用户{源端查询后,将文本拷贝编辑,目标端执行即可}

SQL> select 'create user '||a.username||' identified by values '''||b.password||''';' from dba_users a,user$ b where

b.name=a.username and a.username not like '%SYS%' and a.account_status='OPEN';

对用户修改默认表空间

SQL> select 'alter user '||username||' default tablespace '||DEFAULT_TABLESPACE||';' from dba_users where ACCOUNT_STATUS='OPEN' and username not like '%SYS%';

4)用户授权【备选方案,实际操作中imp导入自动进行】

源端TEST4需要检查是否存在非默认角色
SQL> select 'grant '||GRANTED_ROLE||' TO '||GRANTEE||';' FROM DBA_ROLE_PRIVS;
SQL> select 'grant '||PRIVILEGE||' to '||GRANTEE||';' from dba_sys_privs;

5)参数修改

5.1.参数值备份

show parameter workarea_size_policy
show parameter sort_area_size
show parameter db_file_multiblock_read_count
show parameter "_sort_multiblock_read_count"

5.2.参数修改

alter system set workarea_size_policy = manual;
alter system set sort_area_size=1024000000 scope=spfile;
alter system set db_file_multiblock_read_count= 128;
 

6).导入操作

imp user/pwd  file=/u01/dump/exp_full_20190325.dmp log=/u01/dump/imp_full_20190325.log full=y

commit=y feedback=10000 buffer=10240000 ignore=y

7)数据对比

SQL> select object_type,count(*) from dba_objects group by object_type order by 2;

SQL> select object_type,count(*) from dba_objects where owner='SYS' group by object_type order by 2;

SQL>select round(sum(bytes)/1024/1024/1024,2) from dba_segments;

SQL> select tablespace_name,count(*) from dba_segments group by tablespace_name;

SQL> select SEGMENT_TYPE,count(*) from dba_segments where tablespace_name='USERS' group by SEGMENT_TYPE;

7)参数回退

SQL>  alter system set workarea_size_policy =AUTO;

SQL> alter system set sort_area_size=65536 scope=spfile;
SQL> alter system set db_file_multiblock_read_count= 16;

8)失效对象重新编译

编译失效对象:

SQL>@$ORACLE_HOME/rdbms/admin/utlrp.sql

转载地址:http://xilyz.baihongyu.com/

你可能感兴趣的文章
MYSQL一直显示正在启动
查看>>
MySQL一站到底!华为首发MySQL进阶宝典,基础+优化+源码+架构+实战五飞
查看>>
MySQL万字总结!超详细!
查看>>
Mysql下载以及安装(新手入门,超详细)
查看>>
MySQL不会性能调优?看看这份清华架构师编写的MySQL性能优化手册吧
查看>>
MySQL不同字符集及排序规则详解:业务场景下的最佳选
查看>>
Mysql不同官方版本对比
查看>>
MySQL与Informix数据库中的同义表创建:深入解析与比较
查看>>
mysql与mem_细说 MySQL 之 MEM_ROOT
查看>>
MySQL与Oracle的数据迁移注意事项,另附转换工具链接
查看>>
mysql丢失更新问题
查看>>
MySQL两千万数据优化&迁移
查看>>
MySql中 delimiter 详解
查看>>
MYSQL中 find_in_set() 函数用法详解
查看>>
MySQL中auto_increment有什么作用?(IT枫斗者)
查看>>
MySQL中B+Tree索引原理
查看>>
mysql中cast() 和convert()的用法讲解
查看>>
mysql中datetime与timestamp类型有什么区别
查看>>
MySQL中DQL语言的执行顺序
查看>>
mysql中floor函数的作用是什么?
查看>>