Oracle数据库(数据泵)迁移方案(上)

来源:这里教程网 时间:2026-03-03 18:29:41 作者:

第一部分  迁移 实施流程

X XX 客户 需要迁移 X XX 数据库, 目前, X XX 生产库运行在 HP-UNIX 上面,目标端为 LINUX 6.10 环境,计划采用数据泵迁移 方式进行 割接。

1.1  项目联系人员

以下 为具体项目联系人 ,如下:

联系人

手机

邮箱

角色

 

1.2  测试迁移流程

STEP

实施 内容

实施 人员

实施时间

是否 业务

1.

目标端安装操作系统和数据库

X XX

1

2.

目标端初始化 空库 及优化配置

X XX

3 小时

3.

源端导出业务 数据 expdp

X XX

2 小时

4.

目标端 导入 业务 数据 im pdp

X XX

4 小时

5.

目标端校验 无 效对象 及处理

X XX

1 小时

6.

目标端开启 监听 服务

X XX

1 小时

7.

应用程序全模块通测

应用厂商

2

8.

形成测试迁移方案

X XX

2 小时

 

1.3  正式迁移流程

STEP

实施 内容

实施 人员

实施时间

是否 业务

1.

目标端数据库重新初始化

X XX

3 小时

2.

源端关闭应用服务(含停监听)

X XX

3 0 分钟

3.

源端导出业务 数据 expdp

X XX

2 小时

4.

目标端 导入 业务 数据 im pdp

X XX

4 小时

5.

目标端校验 无 效对象 及处理

X XX

1 小时

6.

源端和目标端 I P 地址改造

X XX

3 0 分钟

7.

目标端开启 监听 服务

X XX

1 小时

8.

应用程序全模块通侧

应用厂商

30 分钟

9 .

形成正式割接方案

X XX

2 小时

第二部分  前期环境确认

前期的 调研及项目需求需要 最终 客户配合, 完成 前期的 环境确认 工作。

2.1  源端生产库基础信息确认

数据库信息

数据库版本

10.2.0.1.0 - 64bi t

数据库名称

J k

数据量

283.667847 G

归档路径

/u02/archive

数据库 字符集

Z HS16GBK

源端查询,获取目标端业务表空间初始化创建 语句

set heading off feedback off trimspool on linesize 500 
spool tts_create_ts.sql 
prompt /* ===================== */ 
prompt /* Create user tablespaces */ 
prompt /* ===================== */ 
select 'create TABLESPACE ' || tablespace_name || 
       ' DATAFILE ' ||'''+DATA/nbhz/'||tablespace_name||'.dbf'''||' size 10M autoextend on;'
   from dba_tablespaces 
   where tablespace_name not in ('SYSTEM','SYSAUX') 
      and contents = 'PERMANENT'; 
spool off

注意:绝对 路径及大小 ,要 根据 实际 环境 做替换。

2.2  目标端数据库基础信息确认

数据库信息

数据库版本

11.2.0.4.0-64bit

数据库名称

J k

归档路径

+ ARCH

数据库 字符集

Z HS16GBK

          2.3  部署目标端数据库环境

根据目标环境的建设要求,手动安装 G I 集群软件( R AC 架构)、数据库软件、 P SU 补丁集以及数据库创建及参数优化等工作。

2.4  目标端数据库参数优化

为了 保证数据库 运行 在最优模式下,需要优化 下列 参数

2.4.1 密码策略

密码过期 时间,从 11 g 开始, oracle 对数据库所有密码默认过期时间 180 天。

SQL> alter profile default limit  PASSWORD_LIFE_TIME unlimited;

         密码 登陆错误 次数, 对于输入错误密码导致数据库 账号 被锁定

SQL> alter profile default limit  FAILED_LOGIN_ATTEMPTS unlimited;

         密码 大小写敏感 该参数默认值是TRUE ,因此,默认情况下密码大小写是敏感的

SQL> alter system set SEC_CASE_SENSITIVE_LOGON=false sid='*';

         密码错误延迟登录, 11G 引入了延迟密码验证,在输入错误的密码后,后续如果还是采用错误的密码登陆,将会导致密码延迟验证,从第三次开始,后续的每次登陆导致密码延迟 1 秒左右,而且会导致失败登陆延长,可以通过如下事件来屏蔽密码的延迟验证。

SQL> ALTER SYSTEM SET event='28401 TRACE NAME CONTEXT FOREVER, LEVEL 1' SCOPE=SPFILE SID='*';

2.4.2 审计 策略

O racle 的审计从 11 g 开始, 默认 为开启,建议关闭

SQL> alter system set audit_trail=none scope=spfile sid='*';

2.4.3 CPU 资源管理

关闭 Resource Manager 特性为 11 g 新特性,用来给特定的资源组分配指定的 CPU 配额,容易引起 等待事件: RESMGR:cpu quantum 导致数据库响应慢 CPU 耗尽。

ALTER SYSTEM SET "_resource_manager_always_on"=FALSE SCOPE=SPFILE SID='*';
alter system set "_resource_manager_always_off"=true scope=spfile;
 
execute dbms_scheduler.set_attribute('SATURDAY_WINDOW','RESOURCE_PLAN',''); 
execute dbms_scheduler.set_attribute('SUNDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('MONDAY_WINDOW','RESOURCE_PLAN',''); 
execute dbms_scheduler.set_attribute('TUESDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('WEDNESDAY_WINDOW','RESOURCE_PLAN',''); 
execute dbms_scheduler.set_attribute('THURSDAY_WINDOW','RESOURCE_PLAN','');
execute dbms_scheduler.set_attribute('FRIDAY_WINDOW','RESOURCE_PLAN','');

2.4.4 关闭延迟段创建

ALTER SYSTEM SET deferred_segment_creation=FALSE SCOPE=SPFILE SID='*';

2.4.5 直接 路径读

对于大表, Oracle 11g 倾向于直接路径读。如果 AWR ,关于直接 路径 读的等待事件较高,可以考虑关闭该等待事件。

alter system  set "_serial_direct_read"=never scope=spfile sid='*'

2.4.6 优化 参数   SCN 部分  

alter system set "_external_scn_rejection_threshold_hours"=1 scope=spfile sid='*';
alter system set "_external_scn_logging_threshold_seconds"=600 scope=spfile sid='*';

2.4.7 内存 参数优化

根据超融合虚拟机实分配的物理 内存进行优化, 如果内存较大,建议开启操作系统大页,大页配置与 S GA 保持一致,要尽量满足  SGA+PGA 内存 >60%OS_Mem ,并且 确保主机交换 空间 充足 ,防止出现 O OM

2.4.8 在线 日志调整

在线 redo 日志组建议,每个节点 5 ,每组一个日志文件,每个日志文件 大小 不小于5 00 M 由于涉及到导入操作,为了在一定程度加快导入,可以临时将redo 设置到 1 G

2.5  对比生产端参数文件

由于 升级涉及到跨版本,将HP-UNIX 端的参数文件 create 出来,并检查是否存在特殊的隐含参数 或者 event ,并确认参数 使用场景 ,如果在 高版本 新环境中参数依旧生效, 需要 将参数设置到 高版本 环境中

端执行:

su - oracle
sqlplus "/ as sysdba"
SQL> create pfile='/tmp/initjk.ora' from spfile;

根据 create 出来的参数文件 ,检查确认是否 存在特殊参数 如果存在, 需要 目标端数据库进行 修改 ,保持一致  

相关推荐