第一部分 迁移 实施流程
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 出来的参数文件 ,检查确认是否 存在特殊参数 , 如果存在, 需要 在 目标端数据库进行 修改 ,保持一致 。
