Oracle如何从Linux x86单机迁移到Solaries双节点RAC集群
本篇内容介绍了"Oracle如何从Linux x86单机迁移到Solaries双节点RAC集群"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
1.在线重做日志调整
(注: 每组一个,增加组数为8,调整大小为1G)
SQL> set linesize 300;SQL> col member for a50;SQL> select * from v$logfile; GROUP# STATUS TYPE MEMBER IS_---------- ------- ------- -------------------------------------------------- --- 2 ONLINE +DATADG/cams/onlinelog/group_2.292.989624633 NO 1 ONLINE +DATADG/cams/onlinelog/group_1.256.989624629 NO 3 ONLINE +DATADG/cams/onlinelog/group_3.296.989624869 NO 4 ONLINE +DATADG/cams/onlinelog/group_4.295.989624875 NO 5 ONLINE +DATADG/cams/onlinelog/group_5 NO 6 ONLINE +DATADG/cams/onlinelog/group_6 NO 7 ONLINE +DATADG/cams/onlinelog/group_7 NO 8 ONLINE +DATADG/cams/onlinelog/group_8 NO8 rows selected.SQL> select GROUP#,BYTES,MEMBERS,STATUS from v$log; GROUP# BYTES MEMBERS STATUS---------- ---------- ---------- ---------------- 1 1073741824 1 INACTIVE 2 1073741824 1 INACTIVE 3 1073741824 1 CURRENT 4 1073741824 1 INACTIVE 5 1073741824 1 CURRENT 6 1073741824 1 INACTIVE 7 1073741824 1 INACTIVE 8 1073741824 1 INACTIVE8 rows selected.
2.控制文件调整
(注: 调整控制文件为3个,存在在不同路径下)
SQL> set linesize 300;SQL> col name for a55;SQL> select * from v$controlfile;STATUS NAME IS_ BLOCK_SIZE FILE_SIZE_BLKS------- ------------------------------------------------------- --- ---------- -------------- +DATADG/cams/controlfile/controlfile1/controlfile1 NO 16384 1128 +DATADG/cams/controlfile/controlfile2/controlfile2 NO 16384 1128 +DATADG/cams/controlfile/current.303.989624627 NO 16384 1128
3.内存参数调整
(注:每个节点的内存都为64G,开启AMM)
SQL> show parameter memory;NAME TYPE VALUE------------------------------------ ----------- ------------------------------hi_shared_memory_address integer 0memory_max_target big integer 32256Mmemory_target big integer 32256Mshared_memory_address integer 0SQL> show parameter sga; NAME TYPE VALUE------------------------------------ ----------- ------------------------------lock_sga boolean FALSEpre_page_sga boolean FALSEsga_max_size big integer 32256Msga_target big integer 0SQL> show parameter pga;NAME TYPE VALUE------------------------------------ ----------- ------------------------------pga_aggregate_target big integer 0
4.调整其他参数
调整
job_queue_processes,
log_buffer,
db_block_checking,
processes,
session_cached_cursors,
open_cursors,
undo_retention
等参数,符合生产规范。
5.开启数据库归档
SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination +DATADGOldest online log sequence 8Next log sequence to archive 11Current log sequence 11
6.定义RMAN备份策略
(1)设置数据库自动备份控制文件
(2)每周日做RMAN 0级全库备份
(3)每日(除周日)做RMAN 1级增量备份
(4)在主服务器上只保留2周的全库备份、增量备份
(5)将两周前的全库备份、增量备份copy至其他环境中
7.部署备份脚本和crontab
(注:按照客户要求,这里将RMAN备份到ASM磁盘中)
先创建RMAN备份目录"+DATADG/CAMS/RMAN"
脚本存放目录:/u01/app/oracle/backup/rman
日志存放目录:/u01/app/oracle/backup/rman/logs
在oracle用户下执行:crontab -e,每天凌晨3点执行备份
0 3 * * 0-6 /u01/app/oracle/backup/rman/start_rman.sh >> /u01/app/oracle/backup/rman/start_rman.log
8.手工执行RMAN全量备份
手工执行RMAN 0级备份脚本,对数据库做全量RMAN备份。
9.控制文件损坏测试
(1)关闭数据库
(2)修改其中一个控制文件名字
(3)启动数据库(提示错误信息)
(4)使用RMAN恢复控制文件
(5)启动数据库
(6)检查控制文件信息
10.spfile文件损坏测试
(1)关闭数据库
(2)修改spfile文件名字
(3)启动数据库(提示错误信息)
(4)使用RMAN恢复spfile文件
(5)重启数据库
(6)检查数据库状态
11.重做日志损坏测试
(1)关闭数据库
(2)修改redo文件名字
(3)启动数据库(提示错误信息)
(4)使用RMAN完全恢复
(5)在sqlplus中recover数据库
(6)打开数据库
(7)检查数据库状态
12.数据损坏测试
(1)完全恢复
RMAN>startup mount;RMAN>restore database;RMAN>recover database;RMAN>alter database open;
(2)不完全恢复
oracle@cwgsdb1:~$ srvctl stop database -d camsoracle@cwgsdb1:~$ srvctl start database -d cams -o mountoracle@cwgsdb1:~$ export NLS_DATE_FORMAT="yyyy-mm-dd hh34:mi:ss"$ rman target /RMAN>restore database until time "to_date('2018-10-25 01:07:18','yyyy-mm-dd hh34:mi:ss')";RMAN>recover database until time "to_date('2018-10-25 01:08:06','yyyy-mm-dd hh34:mi:ss')";RMAN>alter database open resetlogs;RMAN>exit
13.其它问题处理
Solaries系统时间与互联网时间不一致,因为是测试环境,切换时会清理后重新导入生产数据,所以直接修改系统时间解决。
如果生产环境发现该问题,建议将硬件与系统时间同步关掉,停库一天,等时间超过当前时间,然后开系统,时间同步,然后再起数据库。
"Oracle如何从Linux x86单机迁移到Solaries双节点RAC集群"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!