| 一、在一个机器上配置dataguard | ||||||
|
环境:Windows,Oracle92,已建数据库biti,instance biti(主节点)
目的:在数据库biti中建一instance cjh(备用节点),做为instance biti的dataguard。 1)把主节点改为归档模式
SQL> alter system set log_archive_start=true scope=spfile;
System altered. SQL> alter system set log_archive_format='ARC%t%s.arc' scope=spfile; System altered. SQL> alter system set log_archive_dest_1='location=D:oracleoradatabitiarchive' scope=spfile; System altered.
SQL> shutdown immediate
... SQL> startup mount ... SQL> alter database archivelog; Database altered. SQL> alter database open; Database altered.
2)复制数据文件、日志文件
biti的数据文件、日志文件在D:oracleoradatabiti下面,在biti关闭的情况下,把它们复制到D:oradatacjh下面,这个便是新建的cjh的数据库文件目录。
3)复制参数文件
SQL> create pfile from spfile;
File created.
biti的参数文件initbiti.ora从spfile创建来,放在D:oracleora92database下面,在biti关闭的情况下,把initbiti.ora另存一份为initcjh.ora放在同样的目录下面。
4)修改cjh的参数文件
修改路径名,增加几个参数,修改后如下:
*.db_name='biti'
... *.aq_tm_processes=1 *.background_dump_dest='D:oracleadmincjhbdump' *.compatible='9.2.0.0.0' *.control_files='D:oradatacjhSTDBYCTL.CTL' *.core_dump_dest='D:oracleadmincjhcdump' ... *.log_archive_dest_1='LOCATION=D:oradatacjharchive' *.log_archive_dest_2='' *.log_archive_format='ARC%t%s.arc' *.log_archive_start=true ... *.user_dump_dest='/opt/oracle/admin/primary/udump' *.standby_archive_dest='d:oradatacjhstdarch' *.fal_server='BITI' *.fal_client='CJH' *. standby_file_management='AUTO' ... *.lock_name_space='CJH'
注意:
个参数可以自动检测并解决日志差异。
例如: fal_server='primary' fal_client='standby' 其中primary与standby必须是连接到主数据库与备用数据库的连接 standby_file_management 这个参数也是9i的新参数,可以自动同步数据文件。 例如: standby_file_management =auto 在同一台机器上面做standby的标准的做法,是用同样的db_name, 不通的SID, 然后通过Lock_name_space来配置的。 如果db_name相同,不配置Lock_name_space,那么Instance 是无法Mount的。 standby和primary的db_name必须一致的。不能修改。 修改db_name需要resetlogs,所以是不可一的。
最后一行参数是在一个机器上配置dataguard必须的。
另外还要把参数文件中的*.standby_file_management='AUTO'去掉,这是为了下面可以改控制文件
5)创建instance cjh
C:Documents and SettingsUser>oradim -new -sid cjh -srvc OracleServicecjh
6)创建口令文件
D:oracleora92database>orapwd file=pwdcjh.ora password=oracle entries=2
7)从biti创建cjh的控制文件
SQL> alter database create standby controlfile as 'D:/oradata/cjh/stdbyctl.ctl';
Database altered.
8)修改cjh的控制文件
因为cjh的数据库文件跟biti的数据库文件不在同一目录,所以必须修改cjh的控制文件stdbyctl.ctl,在cjh这个instance的mount状态修改
SQL> startup nomount
ORACLE instance started.
Total System Global Area 139534344 bytes
Fixed Size 454664 bytes Variable Size 67108864 bytes Database Buffers 71303168 bytes Redo Buffers 667648 bytes SQL> alter database mount standby database;
Database altered.
SQL> select name from v$datafile;
NAME
-------------------------------------- D:ORACLEORADATABITISYSTEM01.DBF D:ORACLEORADATABITIUNDOTBS01.DBF D:ORACLEORADATABITIUSERS01.DBF
SQL> alter database rename file 'D:ORACLEORADATABITISYSTEM01.DBF' to 'D:ORADATACJHSYSTEM01.DBF';
Database altered.
SQL> alter database rename file 'D:ORACLEORADATABITIUNDOTBS01.DBF' to 'D:ORADATACJHUNDOTBS01.DBF';
Database altered.
SQL> alter database rename file 'D:ORACLEORADATABITIUSERS01.DBF' to 'D:ORADATACJHUSERS01.DBF';
Database altered.
如果在参数文件initcjh.ora中加入 *.db_file_name_convert='D:ORACLEORADATABITI','D:ORADATACJH' 那么这一步是可以省略的,oracle会根据这个参数强制将控制文件里面对应的文件做转换。
9)创建必要的目录
创建D:oracleadmincjh目录,其下再创建bdump,cdump,create,pfile,udump目录,这是跟dump有关的一些目录。
创建D:oradatacjharchive目录,作为本地归档路径,创建D:oradatacjhstdarch目录,作为网络归档路径。
10)配置监听器listener.ora
在SID_LIST_LISTENER 里面加入: (SID_DESC = (GLOBAL_DBNAME = cjh) (ORACLE_HOME = D:oracleora92) (SID_NAME = cjh) )
11)配置tnsnames.ora
加入如下内容: CJH = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.2)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = cjh) ) ) BITI = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.2)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = biti) ) )
12)用tnsping测试网络连通,再用网络连接的方式登陆
D:oracleora92database>sqlplus
system/oracle@biti
SQL*Plus: Release 9.2.0.6.0 - Production on Thu Jun 30 20:19:23 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to: Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.6.0 - Production SQL> select name from v$database;
NAME
--------- BITI
SQL> select instance_name from v$instance;
INSTANCE_NAME
---------------- biti D:oracleora92database>sqlplus " sys/oracle@cjh as sysdba"
SQL*Plus: Release 9.2.0.6.0 - Production on Thu Jun 30 20:15:40 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to: Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.6.0 - Production
SQL> select name from v$database;
NAME
--------- BITI
SQL> select instance_name from v$instance;
INSTANCE_NAME
---------------- cjh
13)启动备用数据库
备用库作为dataguard,是处于mount状态的。
SQL> startup nomount
ORACLE instance started.
Total System Global Area 139534344 bytes
Fixed Size 454664 bytes Variable Size 67108864 bytes Database Buffers 71303168 bytes Redo Buffers 667648 bytes SQL> alter database mount standby database;
Database altered.
SQL> alter database open read only --进行检测
此时可Query Database 中的数据。
SQL> alter database recover managed standby database disconnect from session;
Database altered.
14)在主节点设置网络归档路径,测试
SQL> alter system set log_archive_dest_2='service=CJH mandatory reopen=60';
System altered.
SQL> alter system switch logfile;
System altered.
SQL> /
System altered.
在备用节点可以看到生成的日志传到D:oradatacjhstdarch。
|
http://leetaedong.itpub.net/post/6161/39659
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-399585/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/35489/viewspace-399585/
932

被折叠的 条评论
为什么被折叠?



