不同配置决定不同的复制的流程
一 远程站点相同路径结构的复制
Duplicating a Database on a Remote Host with the Same Directory Structure
对于这种选择而言 *** 作实在太过简单 你甚至不需要修改初始化参数文件或者重命名复制的数据文件(可惜 做测试的话这却不能做为我们的首选 一般测试都只有一台机器 难道让我再虚拟个 *** 作系统?)如果是多台机器的话 这种 *** 作非常省事 步骤也很少
创建辅助实例
Rman连接并运行duplicate命令 结束
确实太简单的是吧 好吧那我来给你找点麻烦 注意第 步 其执行是有几个先决条件的 或者说伟大的oracle大人又一次下放了它高贵的权力 而给你来做出选择 如下
如果没有配置自动分配通道的话 表忘记至少手工指定 条辅助通道
不要忘记指定NOFILENAMECHECK参数
就像前面说的 如果辅助实例并非服务器端初始化参数文件启动 表忘记指定PFILE参数 更加表忘记该文件必须在运行RMAN的客户端上
例如 假设你配置了自动分配通道 并且决定使用pfile启动辅助实例 那么在RMAN连接到目标库和辅助实例之后 只需要执行下列
DUPLICATE TARGET DATABASE TO dupdb PFILE = F:\oracle\product\ \admin\jssdup\pfile\init ora NOFILENAMECHECK;
最后 RMAN会自动以RESETLOGS方式打开数据库并重建REDO LOGS 竣工
二 远程站点不同路径结构的复制
Duplicating a Database on a Remote Host with a Different Directory Structure
如果副本数据库创建在远程站点 并且目录结构也不一致 那么你必须修改几个初始化参数值以便副本数据库的数据文件能够在新的目录结构存取 这种类型的复制又可以细分成几个小类
在初始化参数中重命名复制文件和日志文件 复制步骤如下
a) 首先还是创建辅助实例 注意初始化参数的配置 按下列的方式进行一些调整
? 浏览初始化参数中以_DEST结尾的参数以及包含路径的参数 确认这些路径对即将创建的副本数据库有效
? 设置DB_FILE_NAME_CONVERT参数 让其自动转换数据文件路径
? 设置LOG_FILE_NAME_CONVERT参数 让其自动转换日志文件路径
所谓道有千条我取其一 除了上述方式之外呢 还有很多其它方法来指定文件存放路径 比如CONFIGURE AUXNAME或SET NEWNAME命令等等 不过此处是在写初始化参数中重命名类型的复制 就不多占篇章了 后面有章节专门讲解 感兴趣的朋友不妨keep你的好奇心 往下看 )
b) RMAN连接并执行duplicate命令 结束
在这里同样需要注意辅助通道的分配和pfile的加载(如果使用pfile的话)
例如 我们使用自动分配通道 并且辅助实例使用服务器端初始化参数文件 这下dulicate命令更简单了
DUPLICATE TARGET DATABASE TO dupdb
这种方式主要的工作都在创建辅助实例上
在Duplicate命令中重命名数据 日志文件 复制步骤如下
a 创建辅助实例
b RMAN连接运行Duplicate命令 注意此处需要加些参数如下
? 通道 还是通道!如果没有自动分配通道 则至少要手工指定一条辅助通道
? 通过LOGFILE子句指定副本数据库redo logs文件地址大小等
? 通过DB_FILE_NAME_CONVERT转换原数据文件路径到新路径
? pfile 又见pfile 如果使用了pfile的话 表忘记指定pfile参数
例如 我们使用自动分配通道 但辅助实例未使用服务器端初始化参数文件 手工指定日志文件数据文件路径 示例如下
DUPLICATE TARGET DATABASE TO dupdb PFILE = F:\oracle\product\ \admin\jssdup\pfile\init ora DB_FILE_NAME_CONVERT=(F:\oracle\oradata\jssweb\ F:\oracle\oradata\jssdup\) LOGFILE F:\oracle\oradata\jssdup\redo log SIZE M F:\oracle\oradata\jssdup\redo log SIZE M F:\oracle\oradata\jssdup\redo log SIZE M;
使用SET NEWNAME命令重命名数据文件 复制步骤如下
a 创建辅助实例
b RMAN连接并按下列步骤执行
? 配置通道
? 使用SET NEWNAME命令设置数据文件新路径
? Duplicate命令设置logfile 如辅助实例采用pfile要加载pfile
本节重点是SET NEWNAME命令格式 见例
RUN { # set new filenames for the datafiles SET NEWNAME FOR DATAFILE TO F:\oracle\oradata\jssdup\system dbf ; SET NEWNAME FOR DATAFILE TO F:\oracle\oradata\jssdup\undotbs dbf ; # issue the duplicate mand DUPLICATE TARGET DATABASE TO dupdb # create at least o online redo log groups }
使用CONFIGURE AUXNAME命令重命名数据文件 复制步骤如下
略与上同 不详述 唯一不同处即是CONFIGURE AUXNAME命令格式 如例 而且configure命令是在run块外执行的
# configure the new desired filenames
CONFIGURE AUXNAME FOR DATAFILE TO F \oracle\oradata\jssdup\system dbf
CONFIGURE AUXNAME FOR DATAFILE TO F \oracle\oradata\jssdup\undotbs dbf
# …… add more CONFIGURE AUXNAME mands as needed
不过需要注意的是 duplicate执行完之后 推荐清除CONFIGURE AUXNAME 这样就不会对未来的类似 *** 作造成影响
# clear specified auxiliary names for the datafiles
CONFIGURE AUXNAME FOR DATAFILE CLEAR
CONFIGURE AUXNAME FOR DATAFILE CLEAR
三 本地创建
Creating a Duplicate Database on the Local Host
与第二种 远程站点不同路径结构的复制 有 %以上的相似性 唯一不同的是 本地创建的话需要注意DB_NAME与目标数据库不可相同 这点主要体现在辅助实例中初始化参数的配置里 其它的 *** 作步骤可以完全复制第二种中介绍的各种方法 所以也就不详述了 )
除此之外呢 还有比如向ASM存储系统复制 或向OMF存储复制等等 复制流程与上基本大同小异 不过就是初始化参数文件中设置不同的参数 或者将参数设置成不同的值罢了
lishixinzhi/Article/program/Oracle/201311/18270现在常用的一种javascript的方法是在当前的html文档中插入一个script标签,在标签中引入script脚本Js代码var__includes__=newArray;ArrayprototypeindexOf=function(obj){for(vari=0;i<thislength;i++){if(this[i]==obj)returni;}return-1;}Arrayprototypeadd=function(obj){this[thislength]=obj;}functioninclude_js(js){if(__includes__indexOf(js)-1)return;__includes__add(js);varhead=documentgetElementsByTagName('head')[0];script=documentcreateElement('script');scriptsrc=js;scripttype='text/javascript';headappendChild(script);}当你只是在你的htmlw文档中使用这个方法的时候,一切OK,这其实是script的标签的一种快捷的写法而已。但是,如果你在一个javascript使用这个方法,问题就来了,比如我在testjs中使用include_js("test1js"),在test1js中有一个变量test1是在testjs中要使用的,在webkit中尽然出现了test1变量未定义的错误,我不知道ie和firefox是否有这种问题,我想可能是include_js本身不是同步执行导致的,所以我只好使用以下方法来完善inlcude_jsJs代码var__includes__=newArray;ArrayprototypeindexOf=function(obj){for(vari=0;i<thislength;i++){if(this[i]==obj)returni;}return-1;}Arrayprototypeadd=function(obj){this[thislength]=obj;}functionx>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)