BIBD Asked: 2009-07-23 10:45:25 +0800 CST2009-07-23 10:45:25 +0800 CST 2009-07-23 10:45:25 +0800 CST 你如何克隆一个oracle实例? 772 你如何克隆一个oracle实例?基本上,我想最终将它从复制d:\oracle\oldname到d:\oracle\newname. 我正在使用 Oracle 10.2。 database oracle database-administration oracle10g 3 个回答 Voted Best Answer user11222 2009-07-26T04:44:43+08:002009-07-26T04:44:43+08:00 研究使用 RMAN DUPLICATE 命令。我相信这是在 9i 中引入的,但肯定在 10g 中可用。它负责手动克隆时需要执行的所有步骤,例如重命名数据文件、重新创建控制文件、重置数据库名称等。 如果您有数据和日志文件的新目录结构,您可以永久设置克隆的启动参数,通过字符串替换规范将这些参数自动转换为新的格式/位置。然后,克隆变得像连接到目标(“clone from”)、aux(“clone to”)和 RMAN 目录数据库并发出 RMAN 命令“DUPLICATE DATABASE to (myNewDBname)”一样简单。您还可以设置“直到时间”以将克隆带到较早的时间点。 Oracle 11g 增加了直接从实时数据库克隆的能力。 顺便说一句,如果您不使用 RMAN 进行备份,那么请放弃所有其他内容并立即开始执行此操作! James 2009-07-23T13:16:46+08:002009-07-23T13:16:46+08:00 我假设您想要克隆上的不同实例名称? 在许多方面,最简单的方法很可能是使用 RMAN 或您的备份和恢复软件来为您完成这项工作。 我认为应该是这样的: 备份您的数据库 关闭你的数据库 创建一个与原始数据库具有相同 SID 的新数据库 恢复到新数据库 导出 ORACLE_SID=新名称 更改 pfile 或 spfile 以反映控制文件的新位置 生成新密码文件 orapwd file=orapw password=?? 条目=5 启动新数据库 启动旧数据库 这是从记忆中拼凑起来的,并且有一个快速的谷歌,自从我对 oracle 进行任何认真的工作以来已经有大约 2 年了,所以我不认为上述内容是正确的,但它可能会让你朝着正确的方向前进。 如果您想在不同的服务器上使用相同的实例,我建议您使用 NFS、netapp 和 flexclone,因为它们工作得非常好。 DCookie 2009-07-25T15:24:38+08:002009-07-25T15:24:38+08:00 如果您可以获得数据库的冷备份或热备份: 将冷/热备份文件复制到新的目录结构。 修改新实例的 init.ora 文件。 以 sysdba 用户身份登录的问题 STARTUP MOUNT 运行以下命令: conn / as sysdba -- 数据库中的任何其他文件也需要重命名 CHARACTER SET WE8ISO8859P1; -- 根据需要调整 ALTER DATABASE OPEN RESETLOGS; 你可能也想做这样的事情: ALTER TABLESPACE TEMP ADD TEMPFILE 'd:\oracle\newname\temp.dbf' SIZE 20M REUSE AUTOEXTEND ON NEXT 20M MAXSIZE UNLIMITED; 那应该让你接近...
研究使用 RMAN DUPLICATE 命令。我相信这是在 9i 中引入的,但肯定在 10g 中可用。它负责手动克隆时需要执行的所有步骤,例如重命名数据文件、重新创建控制文件、重置数据库名称等。
如果您有数据和日志文件的新目录结构,您可以永久设置克隆的启动参数,通过字符串替换规范将这些参数自动转换为新的格式/位置。然后,克隆变得像连接到目标(“clone from”)、aux(“clone to”)和 RMAN 目录数据库并发出 RMAN 命令“DUPLICATE DATABASE to (myNewDBname)”一样简单。您还可以设置“直到时间”以将克隆带到较早的时间点。
Oracle 11g 增加了直接从实时数据库克隆的能力。
顺便说一句,如果您不使用 RMAN 进行备份,那么请放弃所有其他内容并立即开始执行此操作!
我假设您想要克隆上的不同实例名称?
在许多方面,最简单的方法很可能是使用 RMAN 或您的备份和恢复软件来为您完成这项工作。
我认为应该是这样的:
这是从记忆中拼凑起来的,并且有一个快速的谷歌,自从我对 oracle 进行任何认真的工作以来已经有大约 2 年了,所以我不认为上述内容是正确的,但它可能会让你朝着正确的方向前进。
如果您想在不同的服务器上使用相同的实例,我建议您使用 NFS、netapp 和 flexclone,因为它们工作得非常好。
如果您可以获得数据库的冷备份或热备份:
运行以下命令:
conn / as sysdba
-- 数据库中的任何其他文件也需要重命名 CHARACTER SET WE8ISO8859P1; -- 根据需要调整
ALTER DATABASE OPEN RESETLOGS;
你可能也想做这样的事情:
ALTER TABLESPACE TEMP ADD TEMPFILE 'd:\oracle\newname\temp.dbf' SIZE 20M REUSE AUTOEXTEND ON NEXT 20M MAXSIZE UNLIMITED;
那应该让你接近...