热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Oracle技术之用RMAN克隆数据库

源库RHEL4.5:192.168.137.199GLOBAL_NAMEWENDING.LKOracle_SIDWENDING克隆库RHEL4.5:192.168.137.200GLOBAL_NAMESTRM.L

源库RHEL4.5:192.168.137.199 GLOBAL_NAME=WENDING.LK Oracle_SID=WENDING 克隆库RHEL4.5:192.168.137.200 GLOBAL_NAME=STRM.L

源库RHEL4.5:192.168.137.199 GLOBAL_NAME=WENDING.LK Oracle_SID=WENDING

克隆库RHEL4.5:192.168.137.200 GLOBAL_NAME=STRM.LK ORACLE_SID=STRM

1. 全备份源库

$ sqlplus '/as sysdba'

记下备份前的SCN,规复的时间就规复到这个点。

SQL> select DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER from dual;

GET_SYSTEM_CHANGE_NUMBER

------------------------

181557

SQL> exit

$ mkdir -p /orahome/backup

$ cd /orahome

$ vi backup.rcv

run{

allocate channel c1 type disk;

backup full database format '/orahome/backup/db_t%t_s%s_p%p.bak';

backup archivelog all format '/orahome/backup/arch_u%u.bak';

backup current controlfile format '/orahome/backup/cf_u%u.bak';

release channel c1;

}

$ nohup rman target / @backup.rcv log backup.log &

$ tail -50f backup.log

参照源库参数文件新建一个克隆库参数文件:

SQL> create pfile = '/orahome/backup/initSTRM.ora' from spfile;

得到源库数据文件的编号和寄放职位 信息,是为了预备克隆库参数db_file_name_convert或rman规复时set newname的设置:

$ sqlplus '/as sysdba'

SQL> col name format a60

SQL> set lines 1024

SQL> select file#,name from v$datafile union all select file#,name from v$tempfile;

FILE# NAME

---------- ------------------------------------------------------------

1 /orahome/oradata/WENDING/system.dbf

2 /orahome/oradata/WENDING/undotbs1.dbf

3 /orahome/oradata/WENDING/sysaux.dbf

4 /orahome/oradata/WENDING/users01.dbf

1 /orahome/oradata/WENDING/temp01.dbf

SQL> exit

拷贝备份文件到克隆库主机的同一职位 ,确保克隆库主机也有目次 /orahome/backup。

$ cd /orahome/backup

$ scp *.bak 192.168.137.200:/orahome/backup

$ scp initSTRM.ora 192.168.137.200:/orahome/backup

2. 克隆库预备事变

克隆库上设置干系 的环境 变量:

$ vi .bash_profile (思量 从源库主机拷贝一份,,然后批改ORACLE_SID参数值)

export ORACLE_BASE=/u01/app/oracle;

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;

export ORACLE_SID=STRM;

export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"

export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

$ . .bash_profile

3. 批改克隆库参数文件

$ vi /orahome/backup/initSTRM.ora

:%s/WENDING/STRM/g

一样平常批改以下参数:

audit_file_dest,background_dump_dest,core_dump_dest,user_dump_dest,db_name,db_unique_name,log_archive_dest_1,control_files.

并确保以下参数:

*.remote_login_passwordfile = exclusive

*.DB_FILE_NAME_COnVERT= '/orahome/oradata/WENDING/', '/orahome/oradata/STRM/'

4. 按照步调 3批改的路径信息在克隆库主机新建须要的目次

$ mkdir -p /orahome/flash_recovery_area

$ mkdir -p /orahome/arch/STRM

$ mkdir -p /orahome/oradata/STRM/

$ mkdir -p /u01/app/oracle/admin/STRM/adump

mkdir -p /u01/app/oracle/admin/STRM/bdump

mkdir -p /u01/app/oracle/admin/STRM/cdump

mkdir -p /u01/app/oracle/admin/STRM/dpdump

mkdir -p /u01/app/oracle/admin/STRM/udump

5. 在克隆库创建 一个新的password文件

(unix/Linux下暗码文件技俩必需是orapw

$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=iamwangnc force=y

6. 克隆库startup nomount

$ sqlplus '/as sysdba'

SQL> create spfile from pfile='/orahome/backup/initSTRM.ora';

SQL> startup nomount;

SQL> exit

7. 克隆库用rman规复

$ cd /orahome

$ vi recover.rcv (由于源库在全备后还也许发生归档文件,以是规复的时间要设置set until值,不然会发生过错 RMAN-06025)

run{

allocate auxiliary channel c1 type disk;

# set until time '2008-11-21.11:33:31';

# set until sequence 21254 thread 1;

set until scn 181557;

duplicate target database to STRM

LOGFILE

group 1 ('/orahome/oradata/STRM/REDO01.DBF') SIZE 50M,

group 2 ('/orahome/oradata/STRM/REDO02.DBF') SIZE 50M,

group 3 ('/orahome/oradata/STRM/REDO03.DBF') SIZE 50M;

}

其它set newname和LOGFILE后头的文件职位 信息可以按照本身必要 设定。

起头规复:(wending.lk是源库做事名,确保源库的监听已经启动)

$ nohup rman target sys/iamwangnc@192.168.137.199:1521/wending.lk auxiliary / @recover.rcv log recover.log &

$ tail -50f recover.log

database opened

Finished Duplicate Db at 2008-11-21 13:02:39

规复数据库时发生如下过错:RMAN-06025: no backup of log thread 1 seq 21255 scn 4144283685 found to restore

多次执行备份﹐然后克隆﹐发现有时候出错﹐有时候不出错。非常费解。后来在仔细观察发现,在短缺末了一个归档日记文件会出错。而这个日记文件是在备份之后产

生的﹐目标数据的备份中没有。把这个文件传递到目标主机就可以了。而假如产生备份之后﹐短时间之内克隆﹐原数据库没有归档文件﹐则不会出现错误。这个在很多

操纵文档中﹐没有讲到。

8. 测试克隆库

$ sqlplus '/as sysdba'

SQL> select status from v$instance;

SQL> archive log list;


推荐阅读
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ... [详细]
  • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
  • Postgresql备份和恢复的方法及命令行操作步骤
    本文介绍了使用Postgresql进行备份和恢复的方法及命令行操作步骤。通过使用pg_dump命令进行备份,pg_restore命令进行恢复,并设置-h localhost选项,可以完成数据的备份和恢复操作。此外,本文还提供了参考链接以获取更多详细信息。 ... [详细]
  • REVERT权限切换的操作步骤和注意事项
    本文介绍了在SQL Server中进行REVERT权限切换的操作步骤和注意事项。首先登录到SQL Server,其中包括一个具有很小权限的普通用户和一个系统管理员角色中的成员。然后通过添加Windows登录到SQL Server,并将其添加到AdventureWorks数据库中的用户列表中。最后通过REVERT命令切换权限。在操作过程中需要注意的是,确保登录名和数据库名的正确性,并遵循安全措施,以防止权限泄露和数据损坏。 ... [详细]
  • 本文详细介绍了使用 SQL Load 和 Excel 的 Concatenate 功能将数据导入 ORACLE 数据库的方法和步骤,同时介绍了使用 PL/SQL tools 将数据导入临时表的方法。此外,还提供了一个转链接,可参考更多相关内容。摘要共计XXX字。 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • oracle恢复失败,RMAN数据库恢复失败解决一例
    问题:这是一个从RAC环境的数据库的RAMN备份恢复到一个单机数据库的操作。当恢复数据文件和恢复正常,但在open数据库时出报下面的错误。--rman备 ... [详细]
author-avatar
荡平三界_713
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有