検索

Oracle DG之--构建Physical Standby 系统环境: 操作系统: RedHat EL4 Oracle: Oracle 10.2.0.1.0 650) this.width=650;" src="http://www.68idc.cn/help/uploads/allimg/151111/121R54538-0.jpg" title="dg2.png" alt="wKioL1R28C2B7wXmAACOWpabg-4498.jpg

Oracle DG之--构建Physical Standby


系统环境:

操作系统: RedHat EL4

Oracle:    Oracle 10.2.0.1.0

wKioL1R28C2B7wXmAACOWpabg-4498.jpg

                                  从以上图中所示:主库为bj(db_unique_name),备库为sh。


案例分析:

 本案例采用RMAN Duplicate方式建立standby database。

一、配置主备库初始化参数

主库的初始化参数:initbj.ora

[oracle@ocmtest dbs]$ more initbj.ora 
*.audit_file_dest='/u01/app/oracle/admin/bj/adump'
*.background_dump_dest='/u01/app/oracle/admin/bj/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u01/app/oracle/oradata/bj/control01.ctl','/u01/app/oracle/oradata/bj/control02.ctl','/u01/app/oracle/oradata/bj/control
03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/bj/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='bj'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=bjXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=68157440
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=205520896
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/app/oracle/admin/bj/udump'

以下为DG配置参数:

DB_UNIQUE_NAME=bj
LOG_ARCHIVE_CONFIG='DG_CONFIG=(bj,sh)'

LOG_ARCHIVE_DEST_1='LOCATION=/u01/disk1/arch/bj/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=bj'    

LOG_ARCHIVE_DEST_2='SERVICE=sh LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=sh'    
  
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_MAX_PROCESSES=3
FAL_SERVER=sh
FAL_CLIENT=bj
DB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/sh/','/u01/app/oracle/oradata/bj/'                            
LOG_FILE_NAME_CONVERT='/u01/app/oracle/oradata/sh/','/u01/app/oracle/oradata/bj/'                             
STANDBY_FILE_MANAGEMENT=AUTO

备库的初始化参数:initsh.ora

[oracle@ocmtest1 dbs]$ more initsh.ora 
*.audit_file_dest='/u01/app/oracle/admin/sh/adump'
*.background_dump_dest='/u01/app/oracle/admin/sh/bdump'
*.compatible='10.2.0.1.0'
*.control_file_record_keep_time=7
*.control_files='/u01/app/oracle/oradata/sh/control01.ctl','/u01/app/oracle/oradata/sh/control02.ctl','/u01/app/oracle/oradata/sh/control
03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/sh/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.DB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/bj/','/u01/app/oracle/oradata/sh/'
*.db_name='bj'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.open_cursors=300
*.pga_aggregate_target=68157440
*.processes=150
*.REMOTE_LOGIN_PASSWORDFILE='EXCLUSIVE'
*.sga_target=205520896
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/app/oracle/admin/sh/udump'

以下为DG配置参数:

*.DB_UNIQUE_NAME='sh'
*.FAL_CLIENT='sh'
*.FAL_SERVER='bj'
*.job_queue_processes=10
*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(bj,sh)'
*.LOG_ARCHIVE_DEST_1='LOCATION=/u01/disk1/arch/sh/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=sh'
*.LOG_ARCHIVE_DEST_2='SERVICE=bj LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=bj'
*.LOG_ARCHIVE_DEST_STATE_1='ENABLE'
*.LOG_ARCHIVE_DEST_STATE_2='ENABLE'
*.log_archive_format='arch_%t_%s_%r.log'
*.LOG_ARCHIVE_MAX_PROCESSES=3
*.LOG_FILE_NAME_CONVERT='/u01/app/oracle/oradata/bj/','/u01/app/oracle/oradata/sh/'
*.STANDBY_FILE_MANAGEMENT='AUTO'

二、在主库上建立standby 日志

   对于默认的最大性能的保护方式,可以不用建立standby redo logfiles;但建立standby redo logfiles可以更好的保存redo log;standby redo日志组组数应等于或多于redo log,日志的大小应该一致。
   
SQL> alter database add standby logfile group 4 ('/u01/app/oracle/oradata/bj/redo04.log') size 50m;

 SQL> alter database add standby logfile group 5 ('/u01/app/oracle/oradata/bj/redo05.log.rdo') size 50m;
 
 SQL> alter database add standby logfile group 6 ('/u01/app/oracle/oradata/bj/redo06.log') size 50m;

三、在备库上建立相应目录:

[oracle@ocmtest1 dbs]$mkdir -p /u01/app/oracle/admin/sh/adump
[oracle@ocmtest1 dbs]$mkdir -p /u01/app/oracle/admin/sh/udump
[oracle@ocmtest1 dbs]$mkdir -p /u01/app/oracle/admin/sh/bdump
[oracle@ocmtest1 dbs]$mkdir -p /u01/app/oracle/admin/sh/cdump
[oracle@ocmtest1 dbs]$mkdir -p /u01/app/oracle/oradata/sh

四、在主库生成备库的controlfile和备份


1、数据库在mount 状态下
06:57:41 SQL> alter database create standby controlfile as '/home/oracle/std_control01.ctl';

2、 将生成的控制文件,拷贝到备库相同的目录下
[oracle@ocmtest1 ~]$ scp  /home/oracle/std_control01.ctl 192.168.8.86:/home/oracle

对主库进行备份
[oracle@ocmtest bj]$ rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on Wed Aug 31 10:55:55 2011
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
connected to target database (not started)
RMAN> run {                                                                     
2>  startup force mount;                                                           
3>  backup database format='/u01/disk1/rman/bj/bj_%s.bak' plus archivelog;      
4> alter database open;                                                        
5> }


五、在备库上Duplicate  Database(备库启动到弄mount)

1)在备库上建立/u01/disk1/rman/bj目录
   拷贝主库的备份到备库/u01/disk1/rman/bj目录(拷贝到相同的目录下)

[oracle@ocmtest bj]$ scp /u01/disk1/rman/bj/bj_*.bak 192.168.8.86:/u01/disk1/rman/bj

2)配置Oracle network

因为,备库启动到no mount 状态,拒绝用户远程联机,所以采用静态注册,如下所示备库listenter
[oracle@ocmtest1 admin]$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
      (PROGRAM = extproc)
    )
   (SID_DESC =
      (GLOBAL_DBNAME = bj)
      (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
      (SID_NAME = bj)
    )
  
)

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ocmtest1.51CTO提醒您,请勿滥发广告!)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )

如下所示:主库的tnsnames文件:
[oracle@ocmtest1 admin]$ 
[oracle@ocmtest admin]$ cat tnsnames.ora 
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
BJ =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.84)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = bj)
    )
)
SH =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.86)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = sh)
       (UR=A)   ;添加此项连接到静态注册的备库
    )
)

测试连接备库
[oracle@ocmtest bj]$ sqlplus sys/oracle@sh as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Wed Aug 31 11:19:32 2011
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> exit                                                                                                                                
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

通过主库连接到备库,进行恢复(通过克隆方式建立备库)
[oracle@ocmtest bj]$ rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on Wed Aug 31 11:19:36 2011
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
connected to target database: BJ (DBID=1015723911)

RMAN> connect auxiliary sys/oracle@sh;                                                                                                 
connected to auxiliary database: BJ (not mounted)

RMAN> duplicate target database for standby;                                    
Starting Duplicate Db at 31-AUG-11
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: sid=155 devtype=DISK
contents of Memory Script:
{
   restore clone standby controlfile;
   sql clone 'alter database mount standby database';
}
executing Memory Script
Starting restore at 31-AUG-11
using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: copied control file copy
input filename=/home/oracle/stand.ctl
output filename=/u01/app/oracle/oradata/sh/control01.ctl
output filename=/u01/app/oracle/oradata/sh/control02.ctl
output filename=/u01/app/oracle/oradata/sh/control03.ctl
Finished restore at 31-AUG-11
sql statement: alter database mount standby database
released channel: ORA_AUX_DISK_1
contents of Memory Script:
{
   set newname for tempfile  1 to 
 "/u01/app/oracle/oradata/sh/temp01.dbf";
   switch clone tempfile all;
   set newname for datafile  1 to 
 "/u01/app/oracle/oradata/sh/system01.dbf";
   set newname for datafile  2 to 
 "/u01/app/oracle/oradata/sh/undotbs01.dbf";
   set newname for datafile  3 to 
 "/u01/app/oracle/oradata/sh/sysaux01.dbf";
   set newname for datafile  4 to 
 "/u01/app/oracle/oradata/sh/users01.dbf";
   set newname for datafile  5 to 
 "/u01/app/oracle/oradata/sh/example01.dbf";
   restore
   check readonly
   clone database
   ;
}
executing Memory Script
executing command: SET NEWNAME
renamed temporary file 1 to /u01/app/oracle/oradata/sh/temp01.dbf in control file
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
Starting restore at 31-AUG-11
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: sid=155 devtype=DISK
channel ORA_AUX_DISK_1: starting datafile backupset restore
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00001 to /u01/app/oracle/oradata/sh/system01.dbf
restoring datafile 00002 to /u01/app/oracle/oradata/sh/undotbs01.dbf
restoring datafile 00003 to /u01/app/oracle/oradata/sh/sysaux01.dbf
restoring datafile 00004 to /u01/app/oracle/oradata/sh/users01.dbf
restoring datafile 00005 to /u01/app/oracle/oradata/sh/example01.dbf
channel ORA_AUX_DISK_1: reading from backup piece /u01/disk1/rman/bj/bj_2.bak
channel ORA_AUX_DISK_1: restored backup piece 1
piece handle=/u01/disk1/rman/bj/bj_2.bak tag=TAG20110831T105953
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:48
Finished restore at 31-AUG-11
contents of Memory Script:
{
   switch clone datafile all;
}
executing Memory Script
datafile 1 switched to datafile copy
input datafile copy recid=10 stamp=760621486 filename=/u01/app/oracle/oradata/sh/system01.dbf
datafile 2 switched to datafile copy
input datafile copy recid=11 stamp=760621487 filename=/u01/app/oracle/oradata/sh/undotbs01.dbf
datafile 3 switched to datafile copy
input datafile copy recid=12 stamp=760621487 filename=/u01/app/oracle/oradata/sh/sysaux01.dbf
datafile 4 switched to datafile copy
input datafile copy recid=13 stamp=760621487 filename=/u01/app/oracle/oradata/sh/users01.dbf
datafile 5 switched to datafile copy
input datafile copy recid=14 stamp=760621487 filename=/u01/app/oracle/oradata/sh/example01.dbf
Finished Duplicate Db at 31-AUG-11

---备库建立完毕,并启动到mount状态!


六、在备库上启动MRP进程

11:40:28 SQL> SELECT status from v$instance;                                                                                             
STATUS
------------
MOUNTED

11:45:40 SQL> alter database recover managed standby database disconnect from session;                                                   
Database altered.

告警日志:
alter database recover managed standby database disconnect from session
Wed Aug 31 11:46:00 2011
Attempt to start background Managed Standby Recovery process (sh)
MRP0 started with pid=22, OS id=14159
Wed Aug 31 11:46:01 2011
MRP0: Background Managed Standby Recovery process started (sh)
Managed Standby Recovery not using Real Time Apply
Wed Aug 31 11:46:06 2011
Errors in file /u01/app/oracle/admin/sh/bdump/sh_mrp0_14159.trc:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/sh/redo01.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
Wed Aug 31 11:46:06 2011
Errors in file /u01/app/oracle/admin/sh/bdump/sh_mrp0_14159.trc:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/sh/redo01.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
Clearing online redo logfile 1 /u01/app/oracle/oradata/sh/redo01.log
Clearing online log 1 of thread 1 sequence number 23
Wed Aug 31 11:46:06 2011
Errors in file /u01/app/oracle/admin/sh/bdump/sh_mrp0_14159.trc:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/sh/redo01.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
Wed Aug 31 11:46:07 2011
Completed: alter database recover managed standby database disconnect from session
Wed Aug 31 11:46:08 2011
Clearing online redo logfile 1 complete
Wed Aug 31 11:46:08 2011
Errors in file /u01/app/oracle/admin/sh/bdump/sh_mrp0_14159.trc:
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/sh/redo02.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
Wed Aug 31 11:46:08 2011
Errors in file /u01/app/oracle/admin/sh/bdump/sh_mrp0_14159.trc:
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/sh/redo02.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
Clearing online redo logfile 2 /u01/app/oracle/oradata/sh/redo02.log
Clearing online log 2 of thread 1 sequence number 21
Wed Aug 31 11:46:08 2011
Errors in file /u01/app/oracle/admin/sh/bdump/sh_mrp0_14159.trc:
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/sh/redo02.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
Clearing online redo logfile 2 complete
Wed Aug 31 11:46:09 2011
Errors in file /u01/app/oracle/admin/sh/bdump/sh_mrp0_14159.trc:
ORA-00313: open failed for members of log group 3 of thread 1
ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/sh/redo03.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
Wed Aug 31 11:46:09 2011
Errors in file /u01/app/oracle/admin/sh/bdump/sh_mrp0_14159.trc:
ORA-00313: open failed for members of log group 3 of thread 1
ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/sh/redo03.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
Clearing online redo logfile 3 /u01/app/oracle/oradata/sh/redo03.log
Clearing online log 3 of thread 1 sequence number 22
Wed Aug 31 11:46:09 2011
Errors in file /u01/app/oracle/admin/sh/bdump/sh_mrp0_14159.trc:
ORA-00313: open failed for members of log group 3 of thread 1
ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/sh/redo03.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
Clearing online redo logfile 3 complete
Media Recovery Waiting for thread 1 sequence 23
Wed Aug 31 11:47:00 2011
Using STANDBY_ARCHIVE_DEST parameter default value as /u01/disk1/arch/sh/
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[1]: Assigned to RFS process 14219
RFS[1]: Identified database type as 'physical standby'
Wed Aug 31 11:47:00 2011
RFS LogMiner: Client disabled from further notification
Wed Aug 31 11:47:01 2011
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[2]: Assigned to RFS process 14221
RFS[2]: Identified database type as 'physical standby'
Wed Aug 31 11:47:01 2011
RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_7_760458507.log'
RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_8_760458507.log'
Wed Aug 31 11:47:01 2011
RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_6_760458507.log'
RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_10_760458507.log'
Wed Aug 31 11:47:01 2011
RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_9_760458507.log'
Wed Aug 31 11:47:02 2011
RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_11_760458507.log'
Wed Aug 31 11:47:02 2011
RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_12_760458507.log'
Wed Aug 31 11:47:02 2011
RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_13_760458507.log'
Wed Aug 31 11:47:02 2011
RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_14_760458507.log'
Wed Aug 31 11:47:02 2011
RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_15_760458507.log'
Wed Aug 31 11:47:02 2011
RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_16_760458507.log'
Wed Aug 31 11:47:03 2011
RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_17_760458507.log'
Wed Aug 31 11:47:03 2011
RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_18_760458507.log'
RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_19_760458507.log'
Wed Aug 31 11:47:03 2011
RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_20_760458507.log'
RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_22_760458507.log'
Wed Aug 31 11:47:04 2011
RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_21_760458507.log'
Wed Aug 31 11:47:04 2011
RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_24_760458507.log'
RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_25_760458507.log'
Wed Aug 31 11:47:05 2011
RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_23_760458507.log'
Wed Aug 31 11:47:05 2011
RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_26_760458507.log'
RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_27_760458507.log'
Wed Aug 31 11:47:05 2011
RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_28_760458507.log'
Wed Aug 31 11:47:05 2011
RFS[2]: Archived Log: '/u01/disk1/arch/sh/arch_1_29_760458507.log'
Wed Aug 31 11:47:05 2011
Media Recovery Log /u01/disk1/arch/sh/arch_1_23_760458507.log
Media Recovery Log /u01/disk1/arch/sh/arch_1_24_760458507.log
Media Recovery Log /u01/disk1/arch/sh/arch_1_25_760458507.log
Media Recovery Log /u01/disk1/arch/sh/arch_1_26_760458507.log
Media Recovery Log /u01/disk1/arch/sh/arch_1_27_760458507.log
Media Recovery Log /u01/disk1/arch/sh/arch_1_28_760458507.log
Media Recovery Log /u01/disk1/arch/sh/arch_1_29_760458507.log
Media Recovery Waiting for thread 1 sequence 30

七、在主库上切换日志测试数据同步

RMAN> sql'alter system switch logfile';                                                                                                
sql statement: alter system switch logfile

备库告警日志:
RFS[1]: No standby redo logfiles created
RFS[1]: Archived Log: '/u01/disk1/arch/sh/arch_1_30_760458507.log'
Wed Aug 31 11:48:06 2011
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[3]: Assigned to RFS process 14234
RFS[3]: Identified database type as 'physical standby'
Primary database is in MAXIMUM PERFORMANCE mode
Primary database is in MAXIMUM PERFORMANCE mode
RFS[3]: No standby redo logfiles created
Wed Aug 31 11:48:08 2011
Media Recovery Log /u01/disk1/arch/sh/arch_1_30_760458507.log
Media Recovery Waiting for thread 1 sequence 31 (in transit)

---备库接收到归档日志,并对其做Media Recover。

八、查看数据库信息:

18:02:08 SYS@ bj >select name,database_role,protection_mode from v$database;
NAME      DATABASE_ROLE    PROTECTION_MODE
--------- ---------------- --------------------
BJ         PRIMARY          MAXIMUM PERFORMANCE

18:02:50 SYS@ sh >select name,database_role,protection_mode from v$database;
NAME      DATABASE_ROLE    PROTECTION_MODE
--------- ---------------- --------------------
BJ        PHYSICAL STANDBY MAXIMUM PERFORMANCE

   

----@此案例采用Oracle 10g的环境,对于备库在recover状态下,只能启动到mount状态,如果启动到open环境,则会停止recover,失去了数据保护的功能;对于Oracle 11g,Oracle启用了新的特性,“Active Standby”,可以将备库启动到open状态,并且可以继续recover,从而增强了备库的应用范围和备库的功能。



声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Innodb Redoログの役割を説明し、ログを元に戻します。Innodb Redoログの役割を説明し、ログを元に戻します。Apr 15, 2025 am 12:16 AM

INNODBは、レドログと非論的なものを使用して、データの一貫性と信頼性を確保しています。 1.レドログは、クラッシュの回復とトランザクションの持続性を確保するために、データページの変更を記録します。 2.Undologsは、元のデータ値を記録し、トランザクションロールバックとMVCCをサポートします。

説明出力(タイプ、キー、行、追加)で探す重要なメトリックは何ですか?説明出力(タイプ、キー、行、追加)で探す重要なメトリックは何ですか?Apr 15, 2025 am 12:15 AM

説明コマンドのキーメトリックには、タイプ、キー、行、および追加が含まれます。 1)タイプは、クエリのアクセスタイプを反映しています。値が高いほど、constなどの効率が高くなります。 2)キーは使用されているインデックスを表示し、nullはインデックスがないことを示します。 3)行はスキャンされた行の数を推定し、クエリのパフォーマンスに影響します。 4)追加の情報を最適化する必要があるというFilesortプロンプトを使用するなど、追加情報を提供します。

説明の一時的なステータスを使用し、それを回避する方法は何ですか?説明の一時的なステータスを使用し、それを回避する方法は何ですか?Apr 15, 2025 am 12:14 AM

Temporaryを使用すると、MySQLクエリに一時テーブルを作成する必要があることが示されています。これは、異なる列、またはインデックスされていない列を使用して順番に一般的に見られます。インデックスの発生を回避し、クエリを書き直し、クエリのパフォーマンスを改善できます。具体的には、expliect出力に使用を使用する場合、MySQLがクエリを処理するために一時テーブルを作成する必要があることを意味します。これは通常、次の場合に発生します。1)個別またはグループビーを使用する場合の重複排除またはグループ化。 2)Orderbyに非インデックス列が含まれているときに並べ替えます。 3)複雑なサブクエリを使用するか、操作に参加します。最適化方法には以下が含まれます。1)OrderbyとGroupB

さまざまなSQLトランザクションの分離レベル(読み取り、commited、繰り返し読み取り、シリアル化可能、シリアル化可能)とmysql/innodbの意味を説明してください。さまざまなSQLトランザクションの分離レベル(読み取り、commited、繰り返し読み取り、シリアル化可能、シリアル化可能)とmysql/innodbの意味を説明してください。Apr 15, 2025 am 12:11 AM

MySQL/INNODBは、4つのトランザクション分離レベルをサポートしています。 1.ReadunCommittedは、知らないデータを読み取ることができます。 2。読み込みは汚い読み取りを回避しますが、繰り返しのない読みが発生する可能性があります。 3. RepeatablerEadはデフォルトレベルであり、汚い読み取りと非回復不可能な読みを避けますが、幻の読み取りが発生する可能性があります。 4. Serializableはすべての並行性の問題を回避しますが、同時性を低下させます。適切な分離レベルを選択するには、データの一貫性とパフォーマンス要件のバランスをとる必要があります。

MySQL対その他のデータベース:オプションの比較MySQL対その他のデータベース:オプションの比較Apr 15, 2025 am 12:08 AM

MySQLは、Webアプリケーションやコンテンツ管理システムに適しており、オープンソース、高性能、使いやすさに人気があります。 1)PostgreSQLと比較して、MySQLは簡単なクエリと高い同時読み取り操作でパフォーマンスが向上します。 2)Oracleと比較して、MySQLは、オープンソースと低コストのため、中小企業の間でより一般的です。 3)Microsoft SQL Serverと比較して、MySQLはクロスプラットフォームアプリケーションにより適しています。 4)MongoDBとは異なり、MySQLは構造化されたデータおよびトランザクション処理により適しています。

MySQL Index Cardinalityはクエリパフォーマンスにどのように影響しますか?MySQL Index Cardinalityはクエリパフォーマンスにどのように影響しますか?Apr 14, 2025 am 12:18 AM

MySQLインデックスのカーディナリティは、クエリパフォーマンスに大きな影響を及ぼします。1。高いカーディナリティインデックスは、データ範囲をより効果的に狭め、クエリ効率を向上させることができます。 2。低カーディナリティインデックスは、完全なテーブルスキャンにつながり、クエリのパフォーマンスを削減する可能性があります。 3。ジョイントインデックスでは、クエリを最適化するために、高いカーディナリティシーケンスを前に配置する必要があります。

MySQL:新規ユーザー向けのリソースとチュートリアルMySQL:新規ユーザー向けのリソースとチュートリアルApr 14, 2025 am 12:16 AM

MySQL学習パスには、基本的な知識、コアの概念、使用例、最適化手法が含まれます。 1)テーブル、行、列、SQLクエリなどの基本概念を理解します。 2)MySQLの定義、作業原則、および利点を学びます。 3)インデックスやストアドプロシージャなどの基本的なCRUD操作と高度な使用法をマスターします。 4)インデックスの合理的な使用や最適化クエリなど、一般的なエラーのデバッグとパフォーマンス最適化の提案に精通しています。これらの手順を通じて、MySQLの使用と最適化を完全に把握できます。

実際のmysql:例とユースケース実際のmysql:例とユースケースApr 14, 2025 am 12:15 AM

MySQLの実際のアプリケーションには、基本的なデータベース設計と複雑なクエリの最適化が含まれます。 1)基本的な使用法:ユーザー情報の挿入、クエリ、更新、削除など、ユーザーデータの保存と管理に使用されます。 2)高度な使用法:eコマースプラットフォームの注文や在庫管理など、複雑なビジネスロジックを処理します。 3)パフォーマンスの最適化:インデックス、パーティションテーブル、クエリキャッシュを使用して合理的にパフォーマンスを向上させます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、