科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道在单机上创建物理的Oracle9istandby数据库

在单机上创建物理的Oracle9istandby数据库

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

  说明;Oracle9i数据库的Data Guard 特性确保对数据进行完整的保护,是Oracle 9i的一个关键特性之一.Data Guard可以创建物理的Standby数据库,也可以创建逻辑的Standby数据库,还可以混合使用。

作者:中国IT实验室 来源:中国IT实验室 2007年10月7日

关键字: 开发 数据库 ORACLE

  • 评论
  • 分享微博
  • 分享邮件

  说明;Oracle9i数据库的Data Guard 特性确保对数据进行完整的保护,是Oracle 9i的一个关键特性之一.Data Guard可以创建物理的Standby数据库,也可以创建逻辑的Standby数据库,还可以混合使用,灵活性比较强.这个文档是Fenng练习时候记下来的东西,谈不上是什么心得.*这不过是一份安装过程中的笔记而已* 如果对这个有更高的期望,或者想得到关于Oracle数据库的data guard 和Standby的更多信息,请参考官方的文档.
  
  系统环境:Windows 2000 专业版 SP3 512M 内存
  
  现有的数据库实例(Primary)名字:Demo
  预创建的Standby 数据库实例名字:Pstandby
  
  数据库版本信息:
  
  SQL> select * from v$version;
  
  BANNER
  ----------------------------------------------------------------
  Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
  PL/SQL Release 9.2.0.1.0 - Production
  CORE  9.2.0.1.0    Production
  TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
  NLSRTL Version 9.2.0.1.0 - Production
  
  准备工作
  
  首先确认Primary数据库是否在归档模式下
  SQL> show user
  USER is "SYS"
  SQL>
  SQL> archive log list
  Database log mode       Archive Mode
  Automatic archival       Enabled
  Archive destination      d:\oracle\oradata\demo\archive
  Oldest online log sequence   42
  Next log sequence to archive  44
  Current log sequence      44
  
  如果不在归档模式下,调整数据库。
  首先提交命令修改SPfile:
  
  SQL>alter system set LOG_ARCHIVE_START=TRUE scope=spfile;
  
  然后关闭数据库实例
  
  SQL>SHUTDOWN
  
  备份数据库
  
  SQL>STARTUP MOUNT
  
  SQL>ALTER DATABASE ARCHIVELOG;
  SQL>ALTER DATABASE OPEN;
  
  SQL>SHUTDOWN IMMEDIATE
  备份
  
  1. Primary Database 需要做的准备工作:
  
  1.1 激活 Forced Logging
  
  SQL> ALTER DATABASE FORCE LOGGING;
  
  1.2 设置本地归档目标
  
  SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=D:\oracle\oradata\DEMO\Archive' SCOPE=BOTH;
  此操作直接生效
  
  2.创建物理的Standby数据库
  
  2.1 标记出Primary数据库的数据文件
  
  SQL> select name from v$datafile;
  
  NAME
  -----------------------------------------------------
  
  D:\ORACLE\ORADATA\DEMO\SYSTEM01.DBF
  D:\ORACLE\ORADATA\DEMO\UNDOTBS01.DBF
  D:\ORACLE\ORADATA\DEMO\CWMLITE01.DBF
  D:\ORACLE\ORADATA\DEMO\DRSYS01.DBF
  D:\ORACLE\ORADATA\DEMO\EXAMPLE01.DBF
  D:\ORACLE\ORADATA\DEMO\INDX01.DBF
  D:\ORACLE\ORADATA\DEMO\ODM01.DBF
  D:\ORACLE\ORADATA\DEMO\TOOLS01.DBF
  D:\ORACLE\ORADATA\DEMO\USERS01.DBF
  D:\ORACLE\ORADATA\DEMO\XDB01.DBF
  D:\ORACLE\ORADATA\DEMO\OEM_REPOSITORY.DBF
  
  11 rows selected.
  
  SQL>
  
  2.2 关闭Instance 拷贝数据文件到既定目的地
  
  SQL> SHUTDOWN IMMEDIATE;
  
  2.3 为Standby 数据库创建控制文件
  
  SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE
  AS 'C:\DataGuard\Pstandby\DEMO\DEMOSTANDBY.CTL';
  
  要注意这个控制文件的名字不要和Primary的控制文件名字重复
  
  2.4 为Standby数据库准备初始化参数文件名字:
  
  SQL> CREATE PFILE='C:\DataGuard\Pstandby\DEMO\initpstandby' FROM SPFILE;
  
  2.5 设定初始化Physical Standby Database参数
  
  *.aq_tm_processes=1
  *.background_dump_dest='D:\oracle\admin\DEMO\bdump'
  *.compatible='9.2.0.0.0'
  *.control_files='C:\DataGuard\Pstandby\DEMO\DEMOSTANDBY.CTL'
  *.core_dump_dest='D:\oracle\admin\DEMO\cdump'
  *.db_block_size=8192
  *.db_cache_size=19922944
  *.db_domain=''
  *.db_file_multiblock_read_count=32
  *.db_name='DEMO'
  *.dispatchers='(PROTOCOL=TCP) (SERVICE=DEMOXDB)'
  *.fast_start_mttr_target=300
  *.hash_area_size=1048576
  *.hash_join_enabled=TRUE
  *.instance_name='pstandby'
  *.java_pool_size=20971520
  *.job_queue_processes=10
  *.large_pool_size=7340032
  *.log_archive_dest_1='location=d:\oracle\oradata\demo\archive'
  *.log_archive_start=TRUE
  *.open_cursors=300
  *.optimizer_mode='FIRST_ROWS'
  *.pga_aggregate_target=17825792
  *.processes=150
  *.query_rewrite_enabled='TRUE'
  *.remote_login_passwordfile='EXCLUSIVE'
  *.shared_pool_size=33554432
  *.sort_area_size=1048576
  *.star_transformation_enabled='TRUE'
  *.timed_statistics=TRUE
  *.undo_management='AUTO'
  *.undo_retention=10800
  *.undo_tablespace='UNDOTBS1'
  *.user_dump_dest='D:\oracle\admin\DEMO\udump'
  
  lock_name_space=pstandby
  standby_file_management=AUTO
  remote_archive_enable=TRUE
  standby_archive_dest='C:\DataGuard\Pstandby\DEMO\Archive'
  db_file_name_convert=('D:\oracle\oradata\DEMO', 'C:\DataGuard\Pstandby\DEMO\')
  log_file_name_convert=('D:\oracle\oradata\DEMO', 'C:\DataGuard\Pstandby\DEMO\')
  log_archive_dest_1=('LOCATION=C:\DataGuard\Pstandby\DEMO\Archive')
  
  整个操作的过程中,容易出现错误的地方几乎都集中在此处。必须认真仔细的对待这个文件。标记为黑色的地方是需要进行修改的。
  
  2.6 创建一个Windows服务
  
  WINNT> oradim -NEW -SID Pstandby -STARTMODE manual
  
  2.7 Create a Server Parameter File for the Standby Database
  
  可参考执行如下操作:
  C:\>set oracle_sid=pstandby
  C:\>sqlplus /nolog
  SQL> connect / as sysdba
  SQL> CREATE SPFILE FROM PFILE='C:\DataGuard\Pstandby\DEMO\initPstandby.ora';
  
  2.8 启动物理Standby数据库
  
  C:\>set oracle_sid=pstandby
  C:\>sqlplus /nolog
  SQL> connect / as sysdba
  SQL> STARTUP NOMOUNT;
  SQL> ALTER DATABASE MOUNT STANDBY DATABASE;
  
  2.9 在Standby数据库上,初始化Log Apply 服务:
  
  SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
  
  2.10 激活到物理Standby数据库的归档
  
  SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=Pstandby' SCOPE=BOTH;
  SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE SCOPE=BOTH;
  
  2.11 启动远程归档
  
  SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;
  
  3.安装完的的验证:
  
  3.1在database, 查询V$ARCHIVED_LOG
  (其实也可以直接到相关目录下查看Log是否创建):
  
  SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME
  2 FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
  
  SEQUENCE# FIRST_TIME NEXT_TIME
  ---------- ---------- ----------
  38 23-7? -02 23-7? -02
  39 23-7? -02 23-7? -02
  40 23-7? -02 23-7? -02
  41 23-7? -02 23-7? -02
  42 23-7? -02 23-7? -02
  
  3.2 在Primary数据库上,归档当前的Log
  
  SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;
  
  3.3 验证是否收到:
  
  SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME
  2> FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
  
  SEQUENCE# FIRST_TIME NEXT_TIME
  ---------- ---------- ----------
  38 23-7? -02 23-7? -02
  39 23-7? -02 23-7? -02
  40 23-7? -02 23-7? -02
  41 23-7? -02 23-7? -02
  42 23-7? -02 23-7? -02
  43 23-7? -02 23-7? -02
  
  3.4 验证是否新的归档Redo日志已经被应用:
  
  SQL> select sequence#,applied from v$archived_log
  2 order by sequence#;
  
  SEQUENCE# APP
  ---------- ---
  38 YES
  39 YES
  40 YES
  41 YES
  42 YES
  43 YES
  
  OK.表明我们还是成功的。暂时告一段落。
  
  参考文档
  
  Oracle Data Guard Concepts and Administration
  Release 2 (9.2)
  Part Number A96653-02
  
  附加内容:
  
  primary数据库的Pfile内容:
  
  *.aq_tm_processes=1
  *.background_dump_dest='D:\oracle\admin\DE

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    闂傚倸鍊搁崐鎼佸磹妞嬪孩顐介柨鐔哄Т閻骞栧ǎ顒€濡肩紒鎰殜閺岋繝宕堕埡浣锋睏闂佸搫顑呴柊锝夊蓟閺囷紕鐤€閻庯綆浜炴禒鐐節濞堝灝鐏犻柕鍫熸倐瀵寮撮敍鍕澑闁诲函缍嗘禍鏍磻閹捐鍐€妞ゆ挶鍔庣粙蹇涙⒑鐠恒劌娅愰柟鍑ゆ嫹

    婵犵數濮烽弫鍛婃叏閻戝鈧倹绂掔€n亞鍔﹀銈嗗坊閸嬫捇鏌涢悢閿嬪仴闁糕斁鍋撳銈嗗坊閸嬫挾绱撳鍜冭含妤犵偛鍟灒閻犲洩灏欑粣鐐烘⒑瑜版帒浜伴柛鎾寸洴閹儳煤椤忓應鎷洪梻鍌氱墛閸楁洟宕奸妷銉ф煣濠电姴锕ょ€氼參宕h箛鏃傜瘈濠电姴鍊绘晶娑㈡煕鐎c劌濡介柕鍥у瀵粙濡歌閳ь剚甯¢弻鐔兼寠婢跺﹥娈婚梺鍝勭灱閸犳牠骞冨⿰鍫濈厸闁稿本绋撹ぐ瀣煟鎼淬値娼愭繛鍙壝悾婵堢矙鐠恒劍娈鹃梺鍓插亝濞叉牠鎮″☉銏$厱閻忕偛澧介惌瀣箾閸喐鍊愭慨濠勭帛閹峰懐绮电€n亝鐣伴梻浣规偠閸斿宕¢崘鑼殾闁靛繈鍊曢崘鈧銈嗗姂閸庡崬鐨梻鍌欑劍鐎笛呯矙閹寸姭鍋撳鐓庡籍鐎规洑鍗冲畷鍗炍熼梹鎰泿闂備線娼ч悧鍡涘箠鎼淬垺鍙忔い鎺嗗亾闁宠鍨块崺銉╁幢濡炲墽鍑规繝鐢靛О閸ㄦ椽鏁嬮柧鑽ゅ仦娣囧﹪濡堕崨顔兼闂佺ǹ顑呴崐鍦崲濞戙垹骞㈡俊顖濐嚙绾板秹鏌f惔銏e妞わ妇鏁诲璇差吋閸偅顎囬梻浣告啞閹搁箖宕版惔顭戞晪闁挎繂顦介弫鍡椼€掑顒婂姛闁活厽顨嗙换娑㈠箻閺夋垹鍔伴梺绋款儐閹瑰洭寮婚敐鍛婵炲棙鍔曠壕鎶芥⒑閸濆嫭婀扮紒瀣灴閸╃偤骞嬮敃鈧婵囥亜閺囩偞鍣洪柍璇诧功缁辨捇宕掑▎鎴濆濡炪們鍔岄幊姗€骞嗗畝鍕<闁绘劙娼х粊锕傛煙閸忚偐鏆橀柛鏂跨焸閹偤宕归鐘辩盎闂佸湱鍎ら崹鐢割敂閳哄懏鍊垫慨姗嗗墻濡插綊鏌曢崶褍顏€殿喕绮欐俊姝岊槼闁革絻鍎崇槐鎾存媴缁涘娈┑鈽嗗亝缁诲牆顕f繝姘亜缁炬媽椴搁弲锝夋偡濠婂啰效闁诡喗锕㈤幊鐘活敆閸屾粣绱查梺鍝勵槸閻楀嫰宕濇惔锝囦笉闁绘劗鍎ら悡娑㈡倶閻愯泛袚闁哥姵锕㈤弻鈩冩媴閻熸澘顫掗悗瑙勬礈閸犳牠銆佸鈧幃鈺呮惞椤愩倝鎷婚梻鍌氬€峰ù鍥х暦閸偅鍙忛柟鎯板Г閳锋梻鈧箍鍎遍ˇ顖炲垂閸岀偞鐓㈡俊顖滃皑缁辨岸鏌ㄥ┑鍡╂Ц缂佲偓鐎n偁浜滈柡宥冨妿閳藉绻涢崼鐔虹煉婵﹨娅e☉鐢稿川椤斾勘鈧劕顪冮妶搴′簼婵炶尙鍠栧畷娲焵椤掍降浜滈柟鍝勬娴滈箖姊洪幐搴㈢┛濠碘€虫搐鍗遍柟鐗堟緲缁秹鏌涢锝囩畼妞ゆ挻妞藉铏圭磼濡搫顫岄悗娈垮櫘閸撴瑨鐏冮梺鍛婁緱閸犳岸宕㈤幖浣光拺闁告挻褰冩禍浠嬫煕鐎n亜顏柟顔斤耿閺佸啴宕掑☉姘箞闂佽鍑界紞鍡涘磻閸℃ɑ娅犳い鎺戝€荤壕濂告煕鐏炲墽鈽夌紒妞﹀洦鐓欓柣鐔告緲椤忣參鏌熼悡搴㈣础闁瑰弶鎸冲畷鐔兼濞戞瑦鐝¢梻鍌氬€搁崐椋庣矆娓氣偓楠炴牠顢曢妶鍌氫壕婵ê宕崢瀵糕偓瑙勬礀缂嶅﹪寮婚崱妤婂悑闁告侗鍨界槐閬嶆煟鎼达紕鐣柛搴ㄤ憾钘濆ù鍏兼綑绾捐法鈧箍鍎遍ˇ浼存偂閺囥垺鐓涢柛銉e劚婵$厧顭胯閸ㄤ即婀侀梺缁樓圭粔顕€顢旈崼鐔虹暢闂傚倷鐒︾€笛呮崲閸屾娑樜旈崨顓犲幒闂佸搫娲㈤崹娲偂閸愵亝鍠愭繝濠傜墕缁€鍫熸叏濡寧纭鹃柦鍐枛閺屾洘绻涜鐎氱兘宕戦妸鈺傗拺缂備焦锚婵洦銇勯弴銊ュ籍闁糕斂鍨藉鎾閳ユ枼鍋撻悽鍛婄叆婵犻潧妫楅埀顒傛嚀閳诲秹宕堕妸锝勭盎闂婎偄娲︾粙鎰板箟妤e啯鐓涢悘鐐靛亾缁€瀣偓瑙勬礋娴滃爼銆佸鈧幃銏$附婢跺澶�

    重磅专题
    往期文章
    最新文章