大数跨境
0
0

数据恢复服务,Oracle 10g RAC数据库恢复到单机环境

数据恢复服务,Oracle 10g RAC数据库恢复到单机环境 数据库运维之道
2024-05-06
2
导读:五一假期结束后,我们接到一个Oracle 10g 数据库恢复的服务需求,并配合客户进行业务数据恢复。虽然版本有点老,但是恢复还原过程跟新版本是相似的。

行业新闻】5月2日,Oracle Database 23ai正式发布!在过去四年中,Oracle数据库开发部门一直在努力研发Oracle 数据库的下一个长期支持版本,重点是AI和开发人员的工作效率。鉴于此版本数据库中对AI的关注,Oracle Database 23c更名为Oracle Database 23ai。Oracle Database 23ai 专注于三个关键领域:AI for Data、数据开发和数据关键任务。大家可通过以下两篇文章进一步了解。

Oracle Database 23ai 正式发布

新的里程碑:Oracle Database 23ai将AI引入企业数据和应用程序

1前言

五一假期结束后,客户发现有个业务表数据错乱了,想直接恢复到节前。接到这种数据恢复服务需求,我们第一步就是检查生产环境有没有备份。这个库有做定时备份,因此可以直接从备份中进行恢复。这个数据库备份配置可以参考以下文章。

【必备技能】Windows/Linux环境挂载NFS远程目录备份数据库

2恢复参数文件

(1)在oracle用户操作,手动创建pfile参数文件。

cd $ORACLE_HOME/dbs 即/u01/oracle/10g/dbsvi initorcl.ora*.sga_target=6144m*.pga_aggregate_target=2048m*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'*.audit_trail='db'*.compatible='10.2.0.3.0'*.control_file_record_keep_time=30*.control_files='/u01/app/oracle/oradata/orcl/controlfile/control.ctl'*.db_block_size=8192*.db_create_file_dest='/u01/app/oracle/oradata/orcl'*.db_domain=''*.db_name='orcl'*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'*.log_archive_dest_1='LOCATION=/u01/app/oracle/oradata/orcl'*.log_archive_format='%t_%s_%r.dbf'*.processes=600*.remote_login_passwordfile='exclusive'*.undo_tablespace='UNDOTBS1'

(2)创建参数文件后,手动将数据库启动到nomount状态

export ORACLE_SI=orclsqlplus / as sysdbastartup nomount

(3)创建相应的目录并授权

mkdir -p /u01/app/oracle/admin/orcl/adumpmkdir -p /u01/app/oracle/oradata/orcl/controlfilecd /u01/app/chown -R oracle:oinstall oracle/

3控制文件恢复

(1)由于源库是通过nfs挂载备份盘进行备份,因此,我们直接把这块备份盘也以nfs方式挂载到恢复环境。

# showmount -e 192.168.6.40Export list for 192.168.6.40:/oa              192.168.6.0/24
# mount -t nfs -o rw,bg,hard,nointr,rsize=32768,wsize=32768,nolock,proto=tcp,actimeo=0,vers=3,timeo=600 192.168.6.40:/oa /newstart
# df -h文件系统 容量 已用 可用 已用% 挂载点/dev/mapper/VolGroup00-LogVol00 1.3T 900G 275G 77% //dev/sda1 99M 13M 81M 14% /boottmpfs 9.8G 0 9.8G 0% /dev/shm192.168.6.40:/oa      2.0T  533G  1.4T  28% /newstart

(2)在挂载目录下找到CTRL开头的备份文件,并且是备份文件日期是近期的。

rman target /restore controlfile from '/newstart/ORCL/ORCL_CONT_1520764057_20240506_27041.ctl';

(3)恢复过程出现RMAN-06172错误。检查备份文件的权限,发现权限不对,并授权775权限。

RMAN> restore controlfile from '/newstart/ORCL/ORCL_CONT_1520764057_20240506_27041.ctl';Starting restore at 06-MAY-24using channel ORA_DISK_1
RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of restore command at 05/06/2024 22:11:22RMAN-06172: no autobackup found or specified handle is not a valid copy or piece

(4)调整备份目录的权限后,成功恢复出控制文件,并加载数据库。

RMAN> restore controlfile from '/newstart/ORCL/ORCL_CONT_1520764057_20240506_27041.ctl';Starting restore at 06-MAY-24using target database control file instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: sid=655 devtype=DISKchannel ORA_DISK_1: restoring control filechannel ORA_DISK_1: restore complete, elapsed time: 00:00:02output filename=/u01/app/oracle/oradata/orcl/controlfile/control.ctlFinished restore at 06-MAY-24

RMAN> alter database mount;

4数据文件恢复

(1)由于源库是RAC集群,数据文件存放在ASM共享磁盘组,因此需要进行数据文件路径转换。即修改控制文件里的数据文件路径。
RMAN> report schema;RMAN-06139: WARNING: control file is not current for REPORT SCHEMAReport of database schema
List of Permanent Datafiles===========================File Size(MB) Tablespace RB segs Datafile Name---- -------- -------------------- ------- ------------------------1 0 SYSTEM *** +DATA/orcl/datafile/system.265.9973955292 0 DATA2 *** +DATA/orcl/datafile/ncoa2_023 0 SYSAUX *** +DATA/orcl/datafile/sysaux.305.997402961省略部分数据文件
将对应的数据文件路径调整为新的目录set newname for datafile 1 to '/u01/app/oracle/oradata/orcl/system.265.dbf';set newname for datafile 2 to '/u01/app/oracle/oradata/orcl/ncoa2_02';set newname for datafile 3 to '/u01/app/oracle/oradata/orcl/sysaux.305.dbf';省略部分数据文件

(2)恢复数据文件前,须跟业务部门明确需要恢复的具体时间点。然后利用rman工具,更改数据文件存放路径并restore数据文件到新的路径。以下是恢复脚本。

如果挂载路径与备份路径不一致,需要先注册备份文件到控制文件中catalog start with '/oradata'恢复脚本信息:RUN {ALLOCATE CHANNEL ch00 TYPE disk;ALLOCATE CHANNEL ch01 TYPE disk;ALLOCATE CHANNEL ch02 TYPE disk;ALLOCATE CHANNEL ch03 TYPE disk;set until time "to_date('2024-04-29 15:55:00','yyyy-mm-dd hh24:mi:ss')";set newname for datafile 1   to '/u01/app/oracle/oradata/orcl/system.265.dbf';set newname for datafile 2   to '/u01/app/oracle/oradata/orcl/ncoa2_02';set newname for datafile 3   to '/u01/app/oracle/oradata/orcl/sysaux.305.dbf';省略部分数据文件restore database; switch datafile 1;switch datafile 2;switch datafile 3;switch datafile 4;switch datafile 5;switch datafile 6;switch datafile 7;switch datafile 8;switch datafile 9;switch datafile 10;switch datafile 11;switch datafile 12;switch datafile 13;switch datafile 14;switch datafile 15;switch datafile 16;switch datafile 17;switch datafile 18;switch datafile 19;switch datafile 20;switch datafile 21;switch datafile 22;switch datafile 23;switch datafile 24;switch datafile 25;recover database; RELEASE CHANNEL ch00;RELEASE CHANNEL ch01;RELEASE CHANNEL ch02;RELEASE CHANNEL ch03;}

(3)恢复和还原数据文件后,打开数据库。最后配合业务部门进行数据准确性验证。

打开数据库alter database open resetlogs;

近期热门文章:

👉【TDSQL】手动调整备份节点或冷备节点
👉【TDSQL】TCPMSS最大数据分段大小值不合理导致JAVA程序连接数据库异常案例
👉教你快速上手TiDB DM数据迁移工具并实现MySQL数据迁移同步
👉TiDB 7.5 实验测试环境搭建及小插曲处理
👉学好Oracle只需要看一本书就够了?

全文完,希望可以帮到正在阅读的你,如果觉得有帮助,可以分享给你身边的朋友,同事,你关心谁就分享给谁,一起学习共同进步~~~


【声明】内容源于网络
0
0
数据库运维之道
数据库领域原创技术号,专注于Oracle、MySQL、TDSQL、HotDB、TiDB、达梦等数据库研究,深入数据库技术原理,分布式数据库,开源数据库,国产数据库,前沿数据库技术。
内容 50
粉丝 0
数据库运维之道 数据库领域原创技术号,专注于Oracle、MySQL、TDSQL、HotDB、TiDB、达梦等数据库研究,深入数据库技术原理,分布式数据库,开源数据库,国产数据库,前沿数据库技术。
总阅读17
粉丝0
内容50