千家信息网

生产系统32BITORACLE10G到64BIT迁移

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,为了达到提升SGA和PGA得目的我会调整参数,还由于为了最小化误操作顺利的完成数据迁移工作,我会在各个步骤中给中具体的参数值、命令和需要建立的目录。这里说明一下对于新的服务器经过分析我准备为SGA分配
千家信息网最后更新 2025年12月02日生产系统32BITORACLE10G到64BIT迁移

为了达到提升SGAPGA得目的我会调整参数,还由于为了最小化误操作顺利的完成数据迁移工作,我会在各个步骤中给中具体的参数值、命令和需要建立的目录。这里说明一下对于新的服务器经过分析我准备为SGA分配16GB内存,PGA分配到3GB,剩余的5GB来分配给系统使用。

1、迁移前几天停止现有DATA GUARD,提前安装好备库服务器的系统和数据库软件。

2、迁移前一天停止RMAN脚本中的DELETE ALL INPUT来停止删除归档日志文件。

3、全备前使用V$LOG来确定当前的日志序列号,为确定恢复所需要的归档日志文件做好准备。

4、在当前服务器中新建目录(/??)来保存RMAN备份文件

5、使用RMAN全备命令进行完整的RMAN备份,指定目录到新建的目录(/??)中。同时保存RMAN备份日志,用来过后确定ORACLE控制文件所在的备份集备份片。

命令如下:

run {

backup format "/??/db_%s_%p_%T"

database plus archivelog

format "/??/arch_%s_%p_%T";

}

6、在原数据库中使用CREATE PFILE FROM SPFILE来更新PFILE,保证所有的参数设置都是最新的

7、在目标服务器中通过DBCA新建数据库,数据库的名字和原数据库一样,我们的生产库就为POMSPRO,但是其他的文件位置不需要更改,因为这个步骤只是为了建立初始实例(INSTANCE)

8、建立完成后删除所有数据文件,日志文件,控制文件,同时删除SPFILE

9、在目标服务器中新建目录,此目录和原服务器中的目录一样,及和第5步中的目录一样(/??),用来存放RMAN全备的备份集备份片。

10、通过FTP传输所有备份集备份片到目标服务器中新建的目录中及/??目录中。

11、修改目标服务器中数据库的PFILE,要求和原数据库PFILE一样。然后修改部分参数,如下:

log_archive_dest_1='LOCATION=/u01/oradata/gelcprod10g

VALID_FOR=(ALL_LOGFILES,ALL_ROLES)'

pga_aggregate_target = 3221225472

sga_max_size= 17179869184

sga_target= 17072495001

data guard 参数

12、启动数据库到NOMOUNT状态,此时实例已经启动内存已经分配。

13、在目标服务器中新建目录用来存在恢复的控制文件,参照PFILE中的配置及建立如下目录

/oradata/gelcprod10g/GELCPRO/

14、使用命令恢复控制文件,命令如下

restore controlfile from '/??/??'

??代表的是第5步确定的控制文件所在的备份片

15、启动数据库到MOUNT状态,此时数据库已经加载了控制文件。

16、在目标服务器中新建数据文件目录,日志目录,归档目录,同时建立各种TRACE

文件目录。我们需要建立的目录如下

/u01/oradata/gelcprod10g 归档位置

/oradata/gelcprod10g/GELCPRO/ 数据文件所在位置

/oradata/gelcprod10g/GELCPRO/ 日志文件组1所在位置

/u01/oradata/gelcprod10g/GELCPRO/ 日志文件组2所在位置

/home/oraprod/admin/GELCPRO/adump

/home/oraprod/admin/GELCPRO/bdump

/home/oraprod/admin/GELCPRO/cbump

/home/oraprod/admin/GELCPRO/udump

/home/oraprod/admin/GELCPRO/dpdump

/home/oraprod/admin/GELCPRO/pfile

这些目录用来存放各种TRACE

17、通过RESOTRE DATABASE来进行数据文件还原

到此准备工作完成,下面的步骤需要断开所有应用,停止所有业务进行操作

18、关闭应用,确定不会再有新的数据写入到数据库。

19、迁移前提取原库的对象信息,使用命令如下

select count(*) from user_tables;

select count(*) from user_indexes;

select count(*) from user_views;

select count(*) from user_synonyms;

select OBJECT_TYPE, count(*)

from user_objects

group by OBJECT_TYPE

having OBJECT_TYPE not in ('TABLE', 'INDEX', 'VIEW','SYNONYM');

select count(*) from dba_users;

select count(*) from dba_db_links;

select count(*) from user_jobs;

20、进行多次日志切换,确保所有更改的数据都已经写入到归档日志,我们的日志组为3组所以进行4-6次切换保证所有的数据都进入了归档日志,使用日下命令 ALTER SYSTEM SWITCH LOGFILE

21、通过在原数据库查看V$LOG来确定当前日志序列(SEQUENCE#,判断出需要拷贝的归档日志文件,为了更加安全可以在最早的归档以前再多取几个。

22、通过FTP拷贝原服务器归档日志到目标服务器相应的目录中,及拷贝到目录/u01/oradata/gelcprod10g中。

23、通过应用归档日志文件进行恢复。命令如下

recover database until logseq **

**代表最后一个归档日志文件的SEQUENCE#

24、使用ALTER DATABASE OPEN RESETLOGS来打开数据库。

25、使用命令SHUTDOWN IMMEDIATE来关闭数据库。

26、使用命令STARTUP MIGRATE启动数据库。

27、运行rdbms/admin 下的utlirp.sql脚本

28、使用命令SHUTDOWN IMMEDIATE来关闭数据库。

29、使用命令STARTUP来启动数据库。

30、运行rdbms/admin 下的utlrp.sql脚本

31、使用命令SHUTDOWN IMMEDIATE来关闭数据库。

32、使用命令STARTUP来启动数据库。

到此数据迁移工作完成,下面的步骤进行IP切换和监听配置,此时需要关闭原库并且禁用网络服务,避免IP冲突

33、关闭原生产服务器网络服务使用命令如下

service network stop

34、修改/etc/sysconfig/network-scripts/ ifcfg-eth0参数如下

DEVICE=eth0

BOOTPROTO=static

BROADCAST=192.168.8.255

IPADDR=192.168.8.9

NETMASK=255.255.255.0

NETWORK=192.168.8.0

ONBOOT=yes

TYPE=Ethernet

35、修改/etc/hosts中主机名所对应的IP 192.168.8.9

36、使用命令重启网络服务,命令如下

service network restart

37、通过FTP拷贝原数据库的listener.oratnsnames.ora文件到目标服务器的network/admin目录下

38、通过命令来重启ORACLE监听器,命令如下

Lsnrctl stop

Lsnrctl start

到此IP切换工作完成,下面的步骤是进行对象的验证,作为DBA只能对数据库中的各种对象进行验证,而不会对具体的数据进行验证

39、验证用户所拥有的表数量,使用如下命令

select count(*) from user_table;

40、验证用户所拥有的索引数量,使用如下命令

select count(*) from user_indexes;

41、验证用户所拥有的视图数量,使用如下命令

select count(*) from user_views;

42、验证用户所拥有的同义词数量,使用如下命令

select count(*) from user_synonyms;

43、验证其他一些对象,包括过程,函数,触发器等,使用如下命令

select OBJECT_TYPE, count(*)

from user_objects

group by OBJECT_TYPE

having OBJECT_TYPE not in ('TABLE', 'INDEX', 'VIEW');

44、验证所有用户使用如下命令

select count(*) from dba_users;

45、验证所用Dblink使用如下命令

select count(*) from dba_db_links;

46、验证用户拥有的JOB使用如下命令

select count(*) from user_jobs;

至此我们DBA所能做的数据验证结束,需要开发人员进行详细的数据抽样验证,等到数据验证完成我们就可以启动应用。

数据 命令 文件 数据库 目录 日志 服务 服务器 验证 备份 目标 参数 用户 控制 位置 所在 步骤 中新 对象 拷贝 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 临夏bim软件开发工程 华中科技大学网络安全课程 中国互联网巨头冲刺高科技 为什么挂机都用云服务器 广西税控盘服务器连接异常 数据库系统概论第四版王珊答案 饥荒服务器名称什么意思 计算机网络技术 知识点汇总 服务器和云计算共同点 啥是网络安全演练 服务器管理口操作教程 网络安全与执法跨专业考研 我的世界服务器推荐招募管理 浙江弘瑞网络技术股 中小学网络安全文章 普陀区品质数据库服务商报价行情 如何查找互联网计算机服务器 虹口区机电软件开发推荐厂家 浪潮服务器机柜 静安区一站式网络技术优势 苏州戴尔服务器模组管理 软件开发工程师中专 江苏海航软件开发怎么样 数据库的物理设计的目 真网络安全大赛中国人物 我的世界2核4g服务器能干什么 新大地数字网络技术 苏州戴尔服务器维修期限 数据库视图设置 数据库原理名词解释系统故障
0