You are on page 1of 28

:

,,

QQ:54110058

GC dg

,
3750m

remote operation error-error:nmo not setuid-root


odd , agent

root

ok

Database EMREP event.domain

Customize , tns listener.ora ?

set locations go
,.

tempfiles Disk2

Target Name STD ,,/etc/oratab

dgmgrl

Physical

PRODSTD

, data guard creation in progress


PROSTD alert

switchover standby ,(
dg)log_archive_dest_2,valid_for,dg_config

dg
,
select max(sequence#) from v$archived_log; --,
.
standby redo , standby_log
drop


create tablespace test datafile /u01/app/oradata/PROD/Disk1/test01.dbf size 10M;

,
1:
backup as compressed database format '/home/oracle/backup/all_%U.bak';
2:
SQL>create pfile='/home/oracle/PROD.ora' from spfile;
SQL> alter database create standby controlfile as '/home/oracle/ctl_01.ctl';

[oracle@odd ~]$ scp ctl_01.ctl PROD.ora event:/home/oracle

even PRODSTD.ora ,,,


db_name,
db_unique_name ,service_names , tns

[oracle@event ~]$ export ORACLE_SID=PRODSTD


SQL> startup nomount

---

SQL> create spfile from pfile='/home/oracle/PRODSTD.ora';


SQL> shutdown immediate;
SQL> startup nomount;

--

SQL> show parameter contro

--

select controlfile_type from v$database;


SQL> select name from v$dbfile;

--

alter
system
set
db_file_name_convert='/u01/app/oradata/PROD/Disk1/','/u01/app/oradata/PRODSTD/Disk1/','/
u01/app/oradata/PROD/Disk2/','/u01/app/oradata/PRODSTD/Disk1/','/u01/app/oradata/PROD/
Disk3/','/u01/app/oradata/PRODSTD/Disk1/','/u01/app/oradata/PROD/Disk4/','/u01/app/oradata
/PRODSTD/Disk1/','/u01/app/oradata/PROD/Disk5/','/u01/app/oradata/PRODSTD/Disk1/'
scope=spfile;
PRODSTD 5
, redo
alter system set db_file_name_convert='PROD','PRODSTD'scope=spfile;
alter system set log_file_name_convert='PROD','PRODSTD'scope=spfile;
SQL> shutdown abort;
SQL> startup mount;
10.2.0.1 10.1.0.4
ORA-00218: block size 16384 of controlfile
'/u01/app/oradata/PRODSTD/Disk1/control_01.ctl' does not match DB_BLOCK_SIZE
10.2.0.1

SQL> select name from v$dbfile;


RMAN> restore database;

--

--,

SQL> create table test as select * from dba_objects;

listener.ora transname.ora PRODSTD

odd transname.ora
[oracle@odd admin]$ tnsping PRODSTD

-- PROD
-- ping

[oracle@event dbs]$ orapwd file=orapwPRODSTD password=oracle


SQL> conn sys/oracle@PRODSTD as sysdba
ERROR:
ORA-01031: insufficient privileges

-- orapw ,

SQL> alter system set log_archive_dest_2='service=PRODSTD';

-- arch ,

sql >alter system set log_archive_dest_state_2='enable';


alter system switch logfile;
even
alter database recover managed standby database disconnect from session;
alter database recover managed standby database cancel;
,
select dest_name,error from v$archive_dest;

SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;


SQL>
select
PROTECTION_MODE,PROTECTION_LEVEL,SWITCHOVER_STATUS,OPEN_MODE,DATABASE_ROLE
from v$database;
PROTECTION_LEVEL RESYNCHRONIZATION ,

Alter database commit to switchover to physical standby


ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected

alter database commit to switchover to physical standby with session shutdown;


End-of-Redo
shutdown immediate;
startup mount;
select
PROTECTION_MODE,SWITCHOVER_STATUS,OPEN_MODE,DATABASE_ROLE
v$database;
PHYSICAL STANDBY

PRODSTD
SQL>Alter database recover managed standby database disconnect from session;

from

SQL> alter database recover managed standby database cancel; --


,
SQL > alter database commit to switchover to primary;
PRODSTD database_role PRIMARY

If media recovery active, switchover will wait 900 seconds


SWITCHOVER_STATUS=sessions active
with session shutdown , ctrl+c ,,

Alter database commit to switchover to primary with session shutdown;


ORA-01153: an incompatible media recovery is active
alter database open;
select controlfile_type,open_mode from v$database;

alter system set log_archive_dest_state_2=defer;

alter system set log_archive_dest_2=service=prod;


SQL> alter system set log_archive_dest_state_2=enable;
tablespace PRODSTD PROD
SQL> create tablespace TEST datafile '/u01/app/oradata/PRODSTD/Disk1/test01.dbf' size 20M;
PRODSTD , PROD ,
select sequence#,applied from v$archived_log order by sequence#;
-- PROD
SQL> alter database recover managed standby database disconnect from session;
,
ORA-01274: cannot add datafile '/u01/app/oradata/PRODSTD/Disk1/test01.dbf' - file could not
be created
alter system db_file_name_convert=PRODSTD,PROD scope=spfile;
PROD mount
SQL> alter database recover managed standby database disconnect from session;
,,
ORA-01111: name for data file 13 is unknown - rename to correct file
ORA-01110: data file 13: '/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00013'


[oracle@odd Disk1]$ touch test01.dbf
[oracle@odd Disk1]$ ls
control_01.ctl lob_data01.dbf redo01.log sysaux01.dbf temp01.dbf undotbs01.dbf
data01.dbf
oltp_01.dbf
reg_01.dbf system01.dbf test01.dbf
SQL> alter database rename file '/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00013' to
'/u01/app/oradata/PROD/Disk1/test01.dbf';
SQL> Alter database recover managed standby database disconnect from session;

Errors in file /u01/app/admin/PROD/bdump/prod_mrp0_15241.trc:


ORA-01110: data file 13: '/u01/app/oradata/PROD/Disk1/test01.dbf'
ORA-01110: data file 13: '/u01/app/oradata/PROD/Disk1/test01.dbf'
ORA-01115: IO error reading block from file 13 (block # 1)
ORA-27069: attempt to do I/O beyond the range of the file

Errors in file /u01/app/admin/PROD/bdump/prod_mrp0_15348.trc:


ORA-01110: data file 13: '/u01/app/oradata/PROD/Disk1/test01.dbf'
ORA-01157: cannot identify/lock data file 13 - see DBWR trace file
ORA-01110: data file 13: '/u01/app/oradata/PROD/Disk1/test01.dbf'
Thu May 8 13:11:50 2014
MRP0: Background Media Recovery process shutdown (PROD)
Thu May 8 13:11:51 2014
Completed: Alter database recover managed standby database disconnect from session
PRODSTD PROD
RMAN> backup as copy datafile 13 format '/home/oracle/backup/test01.dbf';
[oracle@event backup]$ scp test01.dbf odd:/u01/app/oradata/PROD/Disk1/
PROD ,

SQL> create table tt tablespace test as select * from test;


PROD
SQL> alter database recover managed standby database cancel;
SQL> alter database open read only;
SQL>select segment_name,tablespace_name from dba_segments where segment_name='TT';
TT TEST
SQL> drop tablespace test including contents and datafiles;
PROD -- PROD , PRODSTD enable

select process,pid,status,client_process from v$managed_standby;


rfs
, performance
: AVAILABILITY , LOG_ARCHIVE_DEST_1 2 SYNC,
standby redo
select protection_mode,protection_level from v$database;
SQL> shutdown immediate;
SQL> startup mount;
SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY;
SQL> alter database open;
--,
ORA-03113: end-of-file on communication channel
alert
LGWR: Primary database is in MAXIMUM AVAILABILITY mode
LGWR: Destination LOG_ARCHIVE_DEST_1 is not serviced by LGWR
LGWR: Minimum of 1 LGWR standby database required
Thu May 8 14:56:15 2014
Errors in file /u01/app/admin/PROD/bdump/prod_lgwr_19607.trc:
ORA-16072: a minimum of one standby database destination is required
PRODSTD standby log
SQL> alter database add standby logfile group 4
'/u01/app/oradata/PRODSTD/Disk1/redostd01.log' size 10M;
SQL> alter database add standby logfile group 5
'/u01/app/oradata/PRODSTD/Disk1/redostd02.log' size 10M;
PROD

alter system set log_archive_dest_state_2=enable;

-- 2 enable

SQL> alter system set log_archive_dest_2='service=PRODSTD LGWR ASYNC AFFIRM'

SYNC
SQL> alter system set log_archive_dest_2='service=PRODSTD LGWR SYNC AFFIRM'
SQL> alter database open;

select protection_mode,protection_level from v$database;


LOG_ARCHIVE_CONFIG send,receive

NOSEND ,NORECEIVE
prod
SQL> startup mount;
alter database set standby database to maximize protection;

ORA-16057: DGID from server not in Data Guard configuration -- dg_config


Destination LOG_ARCHIVE_DEST_2 is UNSYNCHRONIZED
LGWR: Error 16057 disconnecting from destination LOG_ARCHIVE_DEST_2 standby host
'PRODSTD'
LGWR: Continuing...
LGWR: Minimum of 1 applicable standby database required

SQL> alter system set log_archive_config='dg_config=(PROD,PRODSTD)';


SQL> alter system set log_archive_dest_2='service=PRODSTD LGWR SYNC AFFIRM
DB_UNIQUE_NAME=PRODSTD';
ORA-16047: DGID mismatch between destination setting and standby
log_archive_config, log_archive_dest_2,
log_archive_config, log_archive_dest_2
log_archive_config
LOG_ARCHIVE_DEST_2 DB_UNIQUE_NAME .
(ID 172779.1)
protecion, LOG_ARCHIVE_CONFIG, LOG_ARCHIVE_DEST_2
LGWR SYNC AFFIRM, DB_UNIQUE_NAME

LGWR: RFS network connection re-established at host 'PROD'


LGWR: Error 16086 opening RFS destination for reconnect
Thu May 8 16:06:10 2014
Errors in file /u01/app/oracle/product/10.2.0/db_1/rdbms/log/prodstd_lgwr_17904.trc:
ORA-16086: standby database does not contain available standby log files
LGWR: Error 16086 creating archivelog file 'PROD'
PROD standby
SQL> select group#,sequence#,bytes,used,archived,status from v$standby_log;
GROUP# SEQUENCE#
BYTES
USED ARC STATUS
---------- ---------- ---------- ---------- --- ---------4
0 10485760
512 YES UNASSIGNED
5
0 10485760
512 YES UNASSIGNED
6
0 10485760
512 YES UNASSIGN

ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY;

,,
ORA-16009: remote archive log destination must be a STANDBY database
valid_for
ORA-16009
alter system set log_archive_dest_2='service=PRODSTD LGWR SYNC AFFIRM
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=PRODSTD';
alter system set log_archive_dest_2='service=PROD LGWR SYNC AFFIRM
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=PROD';

alter database commit to switchover to physical standby with session shutdown;


ORA-16416: Switchover target is not synchronized with the primary
gap sequence

SQL> alter database recover managed standby database disconnect from session;
ORA-01153: an incompatible media recovery is active

Check that the CONTROL_FILE_RECORD_KEEP_TIME initialization


parameter is defined to a value that is sufficiently large
enough to maintain adequate log switch information to resolve
archivelog gaps.
CURRENT_SCN datafile datafile_header ,

SELECT CURRENT_SCN FROM V$DATABASE;


select CHECKPOINT_CHANGE# from v$datafile;
select CHECKPOINT_CHANGE# from v$datafile_header;
:
current_scn scn ,
:
alter database create standby controlfile as '/home/oracle/cont.ctl';
:
alter database recover managed standby database cancel;
SQL> shutdown immediate;

SQL> startup mount;


SQL> alter database recover managed standby database disconnect from session;
, http://www.xifenfei.com/1176.html

:
SQL> SELECT CURRENT_SCN FROM V$DATABASE;
CURRENT_SCN
----------707981

-- datafile header scn ,, scn

:
SQL> select FILE#,name from v$datafile where CREATION_CHANGE#> =707981;
no rows selecte
,
BACKUP INCREMENTAL FROM SCN 707981 DATABASE
FORMAT '/home/oracle/backup/INC_%U';

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

catalog start with '/home/oracle/backup';


RMAN> recover database noredo;
standby controlfile
backup current controlfile for standby format '/home/oracle/control.bak';
[oracle@event ~]$ scp control.bak odd:/home/oracle/backup

SQL> shutdown;
SQL> startup nomount;
RMAN> restore standby controlfile from '/home/oracle/backup/control.bak';
RMAN> alter database mount;
:
alter database clear logfile group 1-5;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
SQL> alter system switch logfile;

select max(sequence#) from v$archived_log;


--, fal,,
Wed May 21 16:18:45 2014
FAL[client]: Failed to request gap sequence
GAP - thread 1 sequence 98-99
DBID 259228821 branch 847390485
FAL[client]: All defined FAL servers have been attempted.
------------------------------------------------------------Check that the CONTROL_FILE_RECORD_KEEP_TIME initialization
parameter is defined to a value that is sufficiently large
enough to maintain adequate log switch information to resolve
archivelog gaps.

gap
scp 1_4[98-99]_8000120.dbf 192.168.11.91:/u01/Disk2/arch/

alter database register logfile '/home/oracle/arch/1_52_853765302.dbf';


.
, V$ARCHIVED_LOG
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

standby_log
SQL> alter database add standby logfile group 6 '/u01/app/oradata/PROD/Disk1/redostd06.log'
size 100M reuse;
SQL> alter database add standby logfile group 7 '/u01/app/oradata/PROD/Disk1/redostd07.log'
size 100M reuse;

SQL> alter system switch logfile;


SQL> select error from v$archive_dest;
ORA-16086: standby database does not contain available standby
log files
standby logfile ,
ok

MAXIMIZE AVAILABILITY,, standby log .


SQL> alter database add standby logfile group 6
'/u01/app/oradata/PRODSTD/Disk1/redostd06.log' size 100M reuse;
SQL> SQL> alter database add standby logfile group 7
'/u01/app/oradata/PRODSTD/Disk1/redostd07.log' size 100M reuse;
SQL> alter system switch logfile;
SQL> select max(sequence#) from v$archived_log;
ORA-16401: archivelog rejected by RFS
log_archive_dest_2 service fal_client
PERFORMANCE,
.

:
SQL> shutdown abort
: SQL> alter database recover managed standby database finish force;
-- sync
SQL> alter database commit to switchover to primary;
SQL> alter database open;

gc

local_listener resouce plan


1521,1526

performance

,, log_archive_dest_2,valid_for,dg_config

SQL> alter system set log_archive_dest_state_2=enable


ORA-12154: TNS:could not resolve the connect identifier specified

max(sequence#)

, db_file_name_convert

GC dg
Errors in file /u01/app/oracle/product/10.2.0/db_1/rdbms/log/prodstd_ora_25735.trc:
ORA-07452: specified resource manager plan does not exist in the data dictionary
Error 7452 happened during db open, shutting down database
USER: terminating instance due to error 7452
Instance terminated by USER, pid = 25735
ORA-1092 signalled during: ALTER DATABASE OPEN READ ONLY..
:
Attempt to open the database without resource manager plan.
resource_plan

2 standby_redo, GC 6 standby ,

mount ,gc ( max imize availability )


alter database recover managed standby database cancel;
select group#,sequence# from v$standby_log;
alter database drop logfile group 8;
alter database drop logfile group 9;
alter database drop logfile group 10;
alter database drop logfile group 11;

standby reset

SQL> alter database recover managed standby database cancel;


Database altered.
SQL> alter database drop logfile group 6;
alter database drop logfile group 6
ERROR at line 1:
ORA-00261: log 6 of thread 1 is being archived or modified
ORA-00312: online log 6 thread 1: '/u01/app/oradata/SPDB/DIsk1/std01.log'
RFS standby redo log
1 RFS network timeout 8
2 standby RFS standby redo log
v$managed_standby RFS
: ora-16136 ora-16139

recover
alter database recover managed standby database disconnect from session;
-- ora-16139
, gc , ORA-07452 ,
ora-16504

dgmgrl sys/oracle@prod
dgmgrl >show configuration;

, GC PROD

1380 , agent

agent 1830

:
Clearing online redo logfile 4 complete
Media Recovery Waiting for thread 1 sequence 107
Fetching gap sequence in thread 1, gap sequence 107-107
Sun Sep 28 13:23:26 2014
FAL[client]: Failed to request gap sequence
GAP - thread 1 sequence 107-107
DBID 270895426 branch 859057090

1: SQL> SELECT SEQUENCE#,FIRST_CHANGE#,NEXT_CHANGE# FROM v$archived_log WHERE


SEQUENCE# >106;
2:
backup device type disk incremental from scn 2729603 database format
'/home/oracle/backup/incr_%U.bak';

[oracle@odd backup]$ scp incr_* even:/home/oracle/backup


SQL> ALTER DATABASE recover managed standby DATABASE cancel;
RMAN> catalog backuppiece '/home/oracle/backup/incr_14pjlabd_1_1.bak';
catalog backuppiece '/home/oracle/backup/incr_15pjlabt_1_1.bak';
recover DATABASE noredo;
ALTER DATABASE recover managed standby DATABASE disconnect FROM SESSION;

FAL[client]: Failed to request gap sequence


GAP - thread 1 sequence 108-108
SELECT file#,checkpoint_change# FROM v$datafile ORDER BY 1;
FILE# CHECKPOINT_CHANGE#
---------- -----------------1
2731453
SELECT file#,checkpoint_change# FROM v$datafile_header ORDER BY 1;

FILE# CHECKPOINT_CHANGE#
---------- -----------------1
2739320
SQL> ALTER DATABASE recover managed standby DATABASE cancel;
Database altered.
SQL> alter database open read only;
ERROR at line 1:
ORA-16004: backup database requires recovery
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/u01/app/oradata/SPDB/Disk1/system01.dbf'

alter database create standby controlfile as '/home/oracle/std.ctl';


[oracle@odd ~]$ scp std.ctl even:/home/oracle

RMAN> startup nomount;


RMAN> restore controlfile from '/home/oracle/std.ctl';
RMAN> alter database mount;
ALTER DATABASE recover managed standby DATABASE disconnect FROM SESSION;
ALTER DATABASE recover managed standby DATABASE cancel;

SQL> alter database open read only;


ORA-16004: backup database requires recovery
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/u01/app/oradata/SPDB/Disk1/system01.dbf'

You might also like