主要步骤:
准备工作:新主机始化软件,对应目录目录
1.安装GI (确保原与新主机版本一致)
2.安装RDMS (确保原与新主机版本一致)
查看相关权限
[grid@vm1 bin]$ id grid
uid=501(grid) gid=1000(oinstall) groups=1000(oinstall),102(dba),1001(asmadmin),1002(asmdba)
[grid@vm1 bin]$ id oracle
uid=1001(oracle) gid=1000(oinstall) groups=1000(oinstall),102(dba),1002(asmdba)
[grid@vm1 bin]$
3.初始化ORACLE_HOME(oracle 用户下,对应的grid 用户为 GI_HOME)
cd /u/app/oracle/rdbms/admin && mkdir -p test/{adump, dpdump, hdump, pfile,scripts}
正式实施
1.检查源和目标环境软件是否一致
$ORACLE_HOME/OPatch/opatch lsinventory
$ORACLE_HOME/OPatch/opatch lsinventory | grep ^Patch
旧主机
1.备份spfile,密码文件,并传到新主机(两台机器都需要)
2.停库
3.修改pfile -- oracle 用户下执行 主要修改的有,
cluster_interconnects
remote_listener
local_listener
4.切asm 卷 参考:识别asm
5. 新主机 查看卷挂载信息 -- grid 用户下执行
[grid@vm1~]$ kfod disks=all ds=true cluster=true status=true
上面查看没有问题后,查看dg 情况
asmcmd
lsdg
6.数据库添加到CRS中
--在oracle 用户下执行 在grid 用户下执行会有问题
vm1:subsys1 >
srvctl add database -d t0test -n t0test -o $ORACLE_HOME -a "data_t0test_dg,fra_t0test_dg,redo_t0test_dg" -t IMMEDIATE
srvctl add instance -d t0test -i t0test1 -n vm1
srvctl add instance -d t0test -i t0test2 -n vm2
如有service 添加service
注监听
--在grid 用户下执行
srvctl config network
srvctl add listener -l t0test -o $ORACLE_HOME -p 1549-k 1 --1 是上一步查出来的数据
srvctl start listener -l t0test
srvctl status listener -l t0test
检查数据库在ocr中的配置:
srvctl config database -d t0test
配置tnsnames.ora,orapwt0test1,initt0test1.ora
配置tnsnames.ora(两节点都需要) -- oracle 用户下执行
从源旧主机中copy 对应的文件到生产主机,路径如下:
$ORACLE_HOME/network/admin/tnsnames.ora 修改对应的tns 中的ip
$ORACEL_HOME/dbs/orapwt0test1
$ORACLE_HOME/dbs/initt0test1.ora
注以上是节点1为参考,对于节点2时需要把1 改成2
创建spfile
-- oracle 用户下执行
vm1:t0test1 > sqlplus / as sysdba
SYS@t0test1> create spfile='DATA_t0test_DG/t0test/spfilet0test.ora' from pfile='/u/app/oracle/rdbms/oracle/t0test_pfile.ora'
启库
startup
重启没问题后
SYS@t0test1> shutdown immediate
srvctl start database -d t0test
crsctl status res -t
生产环境中还需要数据库正常后还需要重新解析域名(如有),应用修改连接串
同里迁移新主机后
确认日志清理策略
rman target /
show all --查看清理策略
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
重新注册catlog (如有)
rman/rman@catlog
--注销该库信息
RMAN> unregister database ;
--重新注册该库信息
RMAN> register database;
后续处理
清理老库的资源
清理以下资源
主要清理的资源有,database,service ,listener,service
crsctl status res -t |grep -i t0test
srvctl stop database -d t0test
srvctl remove database -d t0test
srvctl stop listener -l t0test
srvctl remove listener -l t0test
srvctl remove service -l srvp_t0test_fls_t0test1 -d t0test
crsctl status res -t |grep -i t0test