set serveroutput on
DECLARE
CURSOR c is
select s.db_unique_name,
s.database_mode,
s.dest_id id,
s.status stats,
s.recovery_mode,
s.protection_mode,
s.standby_logfile_count,
s.standby_logfile_active,
s.archived_thread#,
s.archived_seq#,
s.applied_thread#,
s.applied_seq#,
d.status,
d.destination,
d.archiver,
d.transmit_mode,
d.affirm,
d.async_blocks,
d.net_timeout,
d.delay_mins,
d.reopen_secs,
d.register,
d.binding,
d.compression,
d.error,
to_char(d.FAIL_DATE,'dd-mm-yyyy hh24:mi:ss') FAIL_DATE
from v$archive_dest_status s, v$archive_dest d
where d.dest_id=s.dest_id
and s.db_unique_name != 'NONE'
and d.destination is not null;
BEGIN
dbms_output.put_line('-----------------------------------------------------');
FOR r IN c LOOP
DBMS_OUTPUT.PUT_LINE('Host Name : ' || UTL_INADDR.GET_HOST_NAME);
DBMS_OUTPUT.PUT_LINE('Ip Address : ' || UTL_INADDR.GET_HOST_ADDRESS);
dbms_output.put_line('Error date : ' ||r.FAIL_DATE );
dbms_output.put_line('Dest ID : ' ||r.id );
dbms_output.put_line('Status : ' ||r.stats);
dbms_output.put_line('DB Name : ' ||r.db_unique_name );
dbms_output.put_line('DB Mode : ' ||r.database_mode);
dbms_output.put_line('Recovery Mode : ' ||r.recovery_mode);
dbms_output.put_line('Protection Mode : ' ||r.protection_mode);
dbms_output.put_line('SRL Count : ' ||r.standby_logfile_count );
dbms_output.put_line('SRLActive : ' ||r.standby_logfile_active);
dbms_output.put_line('Archived Thread# : ' ||r.archived_thread# );
dbms_output.put_line('ArchivedSeq# : ' ||r.archived_seq#);
dbms_output.put_line('Applied Thread# : ' ||r.applied_thread# );
dbms_output.put_line('Destination : ' ||r.destination);
dbms_output.put_line('Archiver : ' ||r.archiver);
dbms_output.put_line('Transmit Mode : ' ||r.transmit_mode);
dbms_output.put_line('Affirm : ' ||r.affirm);
dbms_output.put_line('Asynchronous Blocks: ' ||r.async_blocks);
dbms_output.put_line('Net Timeout : ' ||r.net_timeout);
dbms_output.put_line('Delay (Mins) : ' ||r.delay_mins);
dbms_output.put_line('Reopen (Secs) : ' ||r.reopen_secs);
dbms_output.put_line('Register : ' ||r.register);
dbms_output.put_line('Binding : ' ||r.binding);
dbms_output.put_line('Compression : ' ||r.compression);
dbms_output.put_line('Error : ' ||r.error);
dbms_output.put_line('----------------------------------------------------');
END LOOP;
END;
/
SQL> r
1 DECLARE
2 CURSOR c is
3 select s.db_unique_name,
4 s.database_mode,
5 s.dest_id id,
6 s.status stats,
7 s.recovery_mode,
8 s.protection_mode,
9 s.standby_logfile_count,
10 s.standby_logfile_active,
11 s.archived_thread#,
12 s.archived_seq#,
13 s.applied_thread#,
14 s.applied_seq#,
15 d.status,
16 d.destination,
17 d.archiver,
18 d.transmit_mode,
19 d.affirm,
20 d.async_blocks,
21 d.net_timeout,
22 d.delay_mins,
23 d.reopen_secs,
24 d.register,
25 d.binding,
26 d.compression,
27 d.error,
28 to_char(d.FAIL_DATE,'dd-mm-yyyy hh24:mi:ss') FAIL_DATE
29 from v$archive_dest_status s, v$archive_dest d
30 where d.dest_id=s.dest_id
31 and s.db_unique_name !='NONE'
32 and d.destination is not null;
33 BEGIN
34 dbms_output.put_line('-----------------------------------------------------');
35
36 FOR r IN c LOOP
37 DBMS_OUTPUT.PUT_LINE('Host Name : ' || UTL_INADDR.GET_HOST_NAME);
38 DBMS_OUTPUT.PUT_LINE('Ip Address : ' || UTL_INADDR.GET_HOST_ADDRESS);
39 dbms_output.put_line('Error date : ' ||r.FAIL_DATE );
40 dbms_output.put_line('Dest ID : ' ||r.id );
41 dbms_output.put_line('Status : ' ||r.stats);
42 dbms_output.put_line('DB Name : ' ||r.db_unique_name );
43 dbms_output.put_line('DB Mode : ' ||r.database_mode);
44 dbms_output.put_line('Recovery Mode : ' ||r.recovery_mode);
45 dbms_output.put_line('Protection Mode : ' ||r.protection_mode);
46 dbms_output.put_line('SRL Count : ' ||r.standby_logfile_count );
47 dbms_output.put_line('SRLActive : ' ||r.standby_logfile_active);
48 dbms_output.put_line('Archived Thread# : ' ||r.archived_thread# );
49 dbms_output.put_line('ArchivedSeq# : ' ||r.archived_seq#);
50 dbms_output.put_line('Applied Thread# : ' ||r.applied_thread# );
51 dbms_output.put_line('Destination : ' ||r.destination);
52 dbms_output.put_line('Archiver : ' ||r.archiver);
53 dbms_output.put_line('Transmit Mode : ' ||r.transmit_mode);
54 dbms_output.put_line('Affirm : ' ||r.affirm);
55 dbms_output.put_line('Asynchronous Blocks: ' ||r.async_blocks);
56 dbms_output.put_line('Net Timeout : ' ||r.net_timeout);
57 dbms_output.put_line('Delay (Mins) : ' ||r.delay_mins);
58 dbms_output.put_line('Reopen (Secs) : ' ||r.reopen_secs);
59 dbms_output.put_line('Register : ' ||r.register);
60 dbms_output.put_line('Binding : ' ||r.binding);
61 dbms_output.put_line('Compression : ' ||r.compression);
62 dbms_output.put_line('Error : ' ||r.error);
63 dbms_output.put_line('----------------------------------------------------');
64 END LOOP;
65* END;
-----------------------------------------------------
Host Name : anuj.kumarsingh.co.uk
Ip Address : 127.0.0.1
Error date : 02-06-2013 06:49:58
Dest ID : 2
Status : ERROR
DB Name : STANDBY
DB Mode : UNKNOWN
Recovery Mode : IDLE
Protection Mode : MAXIMUM PERFORMANCE
SRL Count : 0
SRLActive : 0
Archived Thread# : 0
ArchivedSeq# : 0
Applied Thread# : 0
Destination : STDY
Archiver : LGWR
Transmit Mode : ASYNCHRONOUS
Affirm : NO
Asynchronous Blocks: 16381
Net Timeout : 180
Delay (Mins) : 0
Reopen (Secs) : 15
Register : YES
Binding : OPTIONAL
Compression : DISABLE
Error : ORA-12543: TNS:destination host unreachable
----------------------------------------------------
PROMPT *****************************************************************
PROMPT * Archive Destinations
PROMPT *****************************************************************
set linesize 200 pagesize 200
COLUMN dest_id HEADING "Dest|Id" FORMAT 99
COLUMN dest_name HEADING "Dest Name" FORMAT a20
COLUMN db_unique_name HEADING "UniqueName" FORMAT a15
COLUMN destination HEADING "Destination" FORMAT a28
COLUMN archiver HEADING "Arch|iver" FORMAT a4
COLUMN compression HEADING "Compress" FORMAT a8
COLUMN transmit_mode HEADING "Tranmit|Mode"
COLUMN affirm HEADING "AFFIRM" FORMAT a6
COLUMN reopen_secs HEADING "Reopen|(sec)" FORMAT 999999
COLUMN delay_mins HEADING "Delay|(min)" FORMAT 99999
COLUMN max_connections HEADING "Max|Conns" FORMAT 99999
COLUMN net_timeout HEADING "Net|Time|Out" FORMAT 9999
COLUMN alternate HEADING "Alertnate" FORMAT a10
COLUMN dependency HEADING "Dependency" FORMAT a10
COLUMN register HEADING "Regi|ster" FORMAT a4
COLUMN log_sequence HEADING "LogSeq" FORMAT 9999999
COLUMN async_blocks HEADING "ASYNC|Blocks" FORMAT 999999
COLUMN valid_now HEADING "Valid|Now" FORMAT a7
COLUMN verify HEADING "Verify" FORMAT a6
COLUMN fail_sequence HEADING "FailSeq" FORMAT 9999999
COLUMN failure_count HEADING "Fail|Count" FORMAT 99999
COLUMN max_failure HEADING "Max|Fail" FORMAT 99999
COLUMN error HEADING "Error" FORMAT a30
SELECT ad.dest_id
, ad.dest_name
, ad.db_unique_name
, ad.destination
, ad.status
, ad.schedule
, ad.target
, ad.valid_type
, ad.valid_role
, ad.binding
, ad.name_space
, ad.compression
, ad.archiver
, ad.transmit_mode
, ad.affirm
FROM v$archive_dest ad
WHERE status <> 'INACTIVE'
;
Dest Arch Tranmit
Id Dest Name UniqueName Destination STATUS SCHEDULE TARGET VALID_TYPE VALID_ROLE BINDING NAME_SP Compress iver Mode AFFIRM
---- -------------------- --------------- ---------------------------- --------- -------- ---------------- --------------- ------------ --------- ------- -------- ---- ------------ ------
1 LOG_ARCHIVE_DEST_1 NONE /u01/app/oracle/ArchiveLog VALID ACTIVE PRIMARY ALL_LOGFILES ALL_ROLES OPTIONAL SYSTEM DISABLE ARCH SYNCHRONOUS NO
2 LOG_ARCHIVE_DEST_2 vihaan_stdy stdy1 DEFERRED PENDING STANDBY ONLINE_LOGFILE ALL_ROLES OPTIONAL SYSTEM DISABLE LGWR ASYNCHRONOUS NO
set lines 300 pagesize 300 numf 9999999999999 column destination format a25 column id format 999 column target format a7 column seq# format 999999999 column proc format a10 col transmit_mode for a20 select dest_id as id, status , target,archiver, destination, log_sequence as seq#, process ,register, transmit_mode, affirm,valid_type, valid_role, db_unique_name,applied_scn from v$archive_dest where 1=1 and DB_UNIQUE_NAME!='NONE'; select name,description from v$bgprocess where paddr<>'00' and description like 'Network%';
NAME DESCRIPTION ----- ---------------------------------------------------------------- NSS2 Network Server SYNC
process that does the Redo Transport from Primary to Standby has changed from LNS to NSS (for synchronous Redo Transport):
SELECT ad.dest_id
, ad.reopen_secs
, ad.delay_mins
, ad.max_connections
, ad.net_timeout
, ad.process
, ad.register
, ad.log_sequence
, ad.alternate
, ad.dependency
, ad.async_blocks
, ad.type
, ad.valid_now
, ad.verify
--, ad.applied_scn
, ad.fail_date
, ad.fail_sequence
, ad.failure_count
, ad.max_failure
, ad.error
FROM v$archive_dest ad
WHERE status <> 'INACTIVE'
;
Net
Dest Reopen Delay Max Time Regi ASYNC Valid Fail Max
Id (sec) (min) Conns Out PROCESS ster LogSeq Alertnate Dependency Blocks TYPE Now Verify FAIL_DATE FailSeq Count Fail Error
---- ------- ------ ------ ----- ---------- ---- -------- ---------- ---------- ------- ------- ------- ------ --------- -------- ------ ------ ------------------------------
1 300 0 1 0 ARCH YES 40 NONE NONE 0 PUBLIC YES NO 0 0 0
2 300 0 1 30 LGWR YES 0 NONE NONE 61440 PUBLIC UNKNOWN NO 0 0
set linesize 200 pagesize 200col dest_id heading "Dest|Id" format 9999col destination heading "Destination" format a15col dest_status heading "Dest|Status" format a8col type heading "Type" format a10col database_mode heading "Database Mode" format a15col recovery_mode heading "Recovery Mode" format a23col protection_mode heading "Protection Mode" format a20col gap_status heading "GAP|Status" format a6col applied heading "A|p|p|l|i|e|d" format a1 truncatecol archived heading "A|r|c|h|e|v|e|d" format a1 truncatecol deleted heading "D|e|l|e|t|e|d" format a1 truncatecol archlog_status heading "S|t|a|t|u|s" format a1 truncatecol max_sequence# heading "Max Sequence#" format 999999col max_next_time heading "Max Next Time" format a18col max_first_time heading "Max First Time" format a18SELECT l.dest_id, s.destination, s.status dest_status, s.type, s.database_mode, s.recovery_mode, s.protection_mode, s.gap_status, l.applied, l.archived, l.deleted, l.status archlog_status, l.thread#, max(l.sequence#) max_sequence#, TO_CHAR(max(l.next_time),'DD-MON-YY hh24:MI:SS') max_next_time, TO_CHAR(max(l.first_time),'DD-MON-YY hh24:MI:SS') max_first_time, ROUND((SUM(l.block_size * l.blocks)/1024/1024/1024),2) redo_size_GBFROM v$archived_log l, v$archive_dest_status sWHERE l.dest_id = s.dest_idGROUP BY l.dest_id, s.destination, s.status, s.type, s.database_mode, s.recovery_mode, s.protection_mode, s.gap_status, l.applied, l.archived, l.deleted, l.status, l.thread#ORDER BY l.applied desc, l.dest_id ;===set line 500col dest_name format a20col destination format a15col gap_status format a10col db_unique_name format a15col error format a25col applied_scn for 999999999999999SELECT AL.THREAD#,ADS.DEST_ID,ADS.DEST_NAME,(SELECT ADS.TYPE || ' ' || AD.TARGET FROM V$ARCHIVE_DEST AD WHERE AD.DEST_ID = ADS.DEST_ID) TARGET,ADS.DATABASE_MODE,ADS.STATUS,ADS.RECOVERY_MODE,ADS.DB_UNIQUE_NAME,ADS.DESTINATION,ADS.GAP_STATUS,(SELECT MAX(SEQUENCE#) FROM V$LOG NA WHERE NA.THREAD# = AL.THREAD#) CURRENT_SEQ#,MAX(SEQUENCE#) LAST_ARCHIVED,MAX(CASE WHEN AL.APPLIED = 'YES' AND ADS.TYPE <> 'LOCAL' THEN AL.SEQUENCE#END) APPLIED_SEQ#,(SELECT AD.APPLIED_SCN FROM V$ARCHIVE_DEST AD WHERE AD.DEST_ID = ADS.DEST_ID) APPLIED_SCN,ADS.ERRORFROM (SELECT * FROM V$ARCHIVED_LOG VWHERE V.RESETLOGS_CHANGE# = (SELECT D.RESETLOGS_CHANGE# FROM V$DATABASE D)) AL,V$ARCHIVE_DEST_STATUS ADSWHERE AL.DEST_ID(+) = ADS.DEST_IDAND ADS.STATUS != 'INACTIVE'GROUP BY AL.THREAD#,ADS.DEST_ID,ADS.DEST_NAME,ADS.STATUS,ADS.ERROR,ADS.TYPE,ADS.DATABASE_MODE,ADS.RECOVERY_MODE,ADS.DB_UNIQUE_NAME,ADS.DESTINATION,ADS.GAP_STATUSORDER BY ADS.DEST_ID,AL.THREAD#;AA r Dp c e Sp h l tl e e ai v t tDest Dest GAP e e e uId Destination Status Type Database Mode Recovery Mode Protection Mode Status d d d s THREAD# Max Sequence# Max Next Time Max First Time REDO_SIZE_GB----- --------------- -------- ---------- --------------- ----------------------- -------------------- ------ - - - - ---------- ------------- ------------------ ------------------ ------------2 orajndr VALID PHYSICAL MOUNTED-STANDBY MANAGED REAL TIME APPLY MAXIMUM PERFORMANCE NO GAP Y Y N A 1 265642 10-JUL-17 09:02:50 10-JUL-17 09:01:08 3179.731 +ORLOGS VALID LOCAL OPEN IDLE MAXIMUM PERFORMANCE N Y N A 1 265643 10-JUL-17 09:10:48 10-JUL-17 09:02:50 44.22----- ===============
PROMPT *****************************************************************PROMPT * D A T A G U A R D L A GPROMPT *****************************************************************COLUMN name HEADING "Name" FORMAT a23COLUMN value HEADING "Value" FORMAT a20COLUMN unit HEADING "Unit" FORMAT a30COLUMN time_computed HEADING "TimeComputed" FORMAT a20COLUMN datum_time HEADING "datum_time" FORMAT a20SELECT ds.name, ds.value, ds.unit, ds.time_computed, ds.datum_timeFROM v$dataguard_stats ds ;==
set linesize 300 pagesize 300 col VALUE for a150 wrap col NAME for a30 select NAME,VALUE from V$SPPARAMETER where NAME like 'log_archive_dest%' and VALUE is not null and VALUE like '%db_unique_name%' --and VALUE like 'LGWR%' ;
set linesize 300 col VALUE for a50 col NAME for a40 select name, value from v$parameter where name = 'log_archive_dest' and value is not null union all select p.name, p.value from v$parameter p where name like 'log_archive_dest%' and p.name not like '%state%' and p.value is not null and 'enable' = ( select lower(p2.value) from v$parameter p2 where p2.name = substr(p.name,1,instr(p.name,'_',-1)) || 'state' || substr(p.name,instr(p.name,'_',-1)) ) union all select p.name, p.value from v$parameter p where p.name like 'log_archive_dest_stat%' and lower(p.value) = 'enable' and ( select p2.value from v$parameter p2 where name = substr(p.name,1,16) || substr(p.name,instr(p.name,'_',-1)) ) is not null /
set linesize 300 pagesize 300
col VALUE for a150 wrap
col NAME for a30
select NAME,VALUE from V$SPPARAMETER where NAME like 'log_archive_dest%'
and VALUE is not null
and VALUE like '%db_unique_name%'
--and VALUE like 'LGWR%'
;
Set lines 150 pagesize 200
Col timest format a14 heading TIMESTAMP
Col message format a40 trunc
Col severity format a15 trunc
Col facility format a03
Select inst_id, to_char(timestamp, 'DD/MM HH24:MI:SS') timest,
facility
/* decode(facility,
'Crash Recovery', 'CR',
'Data Guard', 'DG',
'Fetch Archive Log', 'FAL',
'Log Apply Services', 'LAS',
'Log Transport Services', 'LTS',
'Network Services', 'NS',
'Remote File Server', 'RFS',
'Role Management Services', 'RMS',
substr(facility,1,3)
) facility,
*/
message, severity
,DEST_ID
from gv$dataguard_status
where 1=1
and SEVERITY not in ('Informational','Control')
and timestamp >= trunc(sysdate)
order by inst_id, timestamp
/
set linesize 300 pagesize 500
col DESTINATION for a40
col RECOVERY_MODE for a30
col DEST_NAME for a20
select DEST_ID,STATUS,DEST_NAME,RECOVERY_MODE,PROTECTION_MODE,DESTINATION,SYNCHRONIZATION_STATUS,SYNCHRONIZED ,ERROR from v$archive_dest_status
where 1=1
and STATUS='VALID'
;
set linesize 300
col ERROR for a80
select db_unique_name, status, error from v$archive_dest where db_unique_name != 'NONE' ;
select archived_thread#, archived_seq#, applied_thread#, applied_seq# ,STATUS,GAP_STATUS from v$archive_dest_status
ReplyDeletewhere STATUS!='INACTIVE';
ARCHIVED_THREAD# ARCHIVED_SEQ# APPLIED_THREAD# APPLIED_SEQ# STATUS GAP_STATUS
---------------- ------------- --------------- ------------ --------- ------------------------
1 23 0 0 VALID
1 23 1 22 VALID NO GAP
set linesize 200
ReplyDeletecol DEST_NAME for a20
col DESTINATION for a40
select DEST_ID,DEST_NAME,LOG_SEQUENCE,ERROR,TYPE,STATUS,DESTINATION from v$archive_dest where DESTINATION is not null ;
alter system set log_archive_dest_1='LOCATION=+LOG' scope=both;
ReplyDelete--escape OFF
ReplyDeleteset linesize 200 pagesize 200
set escape '\'
set linesize 200
col name for a25
col value for 25
col value for a25
select NAME,VALUE from v$parameter where NAME like 'log\_archive\_dest\_state\_2%' or name like 'log\_archive\_dest%'
and VALUE is not null;
set linesize 200
ReplyDeletecol MESSAGE for a100 wrap
select to_char(timestamp,'DD-MON-YYYY HH24:MI:SS'), severity, error_code,message from v$dataguard_status;
ReplyDeleteset linesize 200 pagesize 200
column destination format a70 wrap
column process format a7
column ID format 99
column mid format 99
SELECT gvi.inst_id,thread#, dest_id, gvad.status, target, schedule, process, mountid mid , destination FROM gv$archive_dest gvad, gv$instance gvi
WHERE 1=1
and gvad.inst_id = gvi.inst_id
AND destination is NOT NULL
ORDER BY thread#, dest_id;
set pages 9999 lines300
ReplyDeletecol OPEN_MODE for a10
col HOST_NAME for a10
select name,INSTANCE_NAME,HOST_NAME,OPEN_MODE,DATABASE_STATUS,DATABASE_ROLE, PROTECTION_LEVEL,CONTROLFILE_TYPE,LOGINS,to_char(STARTUP_TIME,'DD-MON-YYYY HH24:MI:SS') "UP TIME"from v$database,Gv$instance;
alter system set log_archive_dest_state_2 = 'defer';
ReplyDeletealter system set log_archive_dest_state_2 = 'enable';
ReplyDeleteset linesize 200
col DEST_NAME for a40
col error for a20
select INST_ID,DEST_NAME,STATUS,RECOVERY_MODE,ARCHIVED_THREAD#,ARCHIVED_SEQ#,APPLIED_THREAD#,APPLIED_SEQ#,DB_UNIQUE_NAME,GAP_STATUS,ERROR from GV$ARCHIVE_DEST_STATUS
where DEST_NAME in ('LOG_ARCHIVE_DEST_2');
set linesize 300 pagesize 500
ReplyDeletecol DESTINATION for a40
col RECOVERY_MODE for a30
col DEST_NAME for a20
select DEST_ID,DEST_NAME,RECOVERY_MODE,PROTECTION_MODE,DESTINATION,ERROR from v$archive_dest_status;
set linesize 200
ReplyDeletecol MESSAGE for a100 wrap
select to_char(timestamp,'DD-MON-YYYY HH24:MI:SS'), severity, error_code,message from v$dataguard_status
where 1=1
and timestamp > sysdate - interval '5' minute;
--and timestamp > sysdate - interval '10' minute
;
--prod !!!
ReplyDeleteselect ads.dest_id,max(sequence#) "Current Sequence",max(log_sequence) "Last Archived", max(applied_seq#) "Last Sequence Applied"
from v$archived_log al, v$archive_dest ad, v$archive_dest_status ads
where ad.dest_id=al.dest_id
and al.dest_id=ads.dest_id
group by ads.dest_id ;
ReplyDeleteHow to make log shipping to continue work without copying password file from primary to physical standby when changing sys password on primary? (Doc ID 1416595.1) To BottomTo Bottom