0% found this document useful (0 votes)
41 views

Shut

shut

Uploaded by

Shankar Pujari
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views

Shut

shut

Uploaded by

Shankar Pujari
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

CREATE OR REPLACE TRIGGER TRIG_START_UP

AFTER STARTUP ON DATABASE


declare
a varchar2(50);
b varchar2(50);
x varchar2(50);
y varchar2(50);
z varchar2(50);
iphost varchar2(50);
osuser VARCHAR2(30);
mach VARCHAR2(30);
msgtext varchar2(5000);
msgtext2 varchar2(50);

BEGIN
msgtext2:='STARTUP';
select sys_context('USERENV', 'OS_USER') into osuser from dual;
select sys_context('USERENV','TERMINAL' ) into mach from dual;
select OPEN_MODE into a from v$database;
select LOG_MODE into b from v$database;
select upper(INSTANCE_NAME) into y from v$instance;
select upper(HOST_NAME) into z from v$instance;
select utl_inaddr.get_host_address(z) into iphost from dual;
select to_char(startup_time,'DD-MM-YYYY HH24:MI:SS') into x from v$instance;
msgtext:='Database '||y||' on '||z||' ('||iphost||') has Started at '||x||' in
the following mode Db_Name : '||y||' | Open_Mode : '||a||' | Log_Mode : '||b||'
command fired by OS User: '||osuser||' from Terminal: '||mach||' ';
MAILFROMDB(msgtext,msgtext2);
END;

-----------------------------------------------------------------------------------
---------

CREATE OR REPLACE TRIGGER TRIG_SHUTDOWN


BEFORE SHUTDOWN ON DATABASE
declare
x varchar2(50);
y varchar2(50);
z varchar2(50);
d varchar2(50);
iphost varchar2(50);
osuser VARCHAR2(30);
mach VARCHAR2(30);
msgtext varchar2(5000);
msgtext2 varchar2(50);

BEGIN
msgtext2:='SHUTDOWN';
select sys_context('USERENV', 'OS_USER') into osuser from dual;
select sys_context('USERENV','TERMINAL' ) into mach from dual;
select upper(instance_name) into x from v$instance;
select upper(HOST_NAME) into y from v$instance;
select utl_inaddr.get_host_address(y) into iphost from dual;
select DATABASE_STATUS into z from v$instance;
select to_char(sysdate,'DD-MM-YYYY HH24:MI:SS') into d from dual;
msgtext:='Database '||x||' located on '||y||' ('||iphost||') is shutting down
on '||d||' which is having a '||z||' status command fired by OS User: '||osuser||'
from Terminal: '||mach||' ';
MAILFROMDB(msgtext,msgtext2);
END;

--------------------------------------------------------------------------

CREATE OR REPLACE TRIGGER TRIG_ALERTS


AFTER SERVERERROR ON DATABASE
declare
x varchar2(50);
msgtext2 varchar2(50);

BEGIN
select to_char(sysdate, 'DD-MM-YYYY HH24:MI:SS') into x from dual;
msgtext2:='ORA Errors' || ora_server_error(1) ;

INSERT INTO DB_ERROR VALUES (ora_server_error(1),X);

select * from DB_ERROR

/* Add on error as you encounter in the alert log file */


IF ora_server_error(1)=1555 or ora_server_error(1)=8180 THEN
send_mail_db ('ORA-1555 : SNAPSHOT TOO OLD at '||x||' ',msgtext2);
ELSIF ora_server_error(1)=600 THEN
send_mail_db ('ORA-600 Error ORACLE INTERNAL ERROR:FATAL at '||x||' ' ,msgtext2);
ELSIF ora_server_error(1)=1541 THEN
send_mail_db ('ORA-01541: system tablespace cannot be brought offline at '||x||'
',msgtext2);
ELSIF ora_server_error(1)=1652 THEN
send_mail_db ('ORA-1652: unable to extend temp segment at '||x||' ',msgtext2);
ELSIF ora_server_error(1)=1653 THEN
send_mail_db ('ORA-1653: unable to extend table segment at '||x||' ',msgtext2);
ELSIF ora_server_error(1)=12541 THEN
send_mail_db ('ORA-12541: TNS:no listener at '||x||' ',msgtext2);
ELSIF ora_server_error(1)=0060 THEN
send_mail_db ('ORA-00060: Deadlock detected at '||x||' ',msgtext2);
ELSIF ora_server_error(1)=03113 THEN
send_mail_db ('ORA-03113: end-of-file on communication channel at '||x||'
',msgtext2);
ELSIF ora_server_error(1)=16055 THEN
send_mail_db ('ORA-16055: FAL request rejected at '||x||' ',msgtext2);
ELSIF ora_server_error(1)=12012 THEN
send_mail_db ('ORA-12012: error on auto execute of job at '||x||' ',msgtext2);
ELSIF ora_server_error(1)=12514 THEN
send_mail_db ('ORA-12514: TNS:listener does not currently know of service
requested in connect descriptor at '||x||' ',msgtext2);
ELSIF ora_server_error(1)=14400 THEN
send_mail_db ('ORA-14400: inserted partition key does not map to any partition at
'||x||' ',msgtext2);
ELSIF ora_server_error(1)=07445 THEN
send_mail_db ('ORA-07445: exception encountered: core dump at '||x||' ',msgtext2);
ELSIF ora_server_error(1)=30036 THEN
send_mail_db ('ORA-30036: Unable to extend segment in undo tablespace at '||x||'
',msgtext2);
ELSIF ora_server_error(1)=01578 THEN
send_mail_db ('01578: ORACLE data block corrupted at '||x||' ',msgtext2);
END IF;
END;

You might also like