How to find the large log files older than one year to delete on unix?
To find the one year old large log files, execute the below command
find . -name '*.log' -size +200k -mtime +360 -print
where find is the command
. is for the current directory ( if you want to check on /var/log then specify the directory here)
'*.log' is to check for the log files
-size is to check for the size of the log files. I gave 200k
-mtime is to check for the time +360 for one year old files
-print is to show the files on the screen.
Share the Knowledge even if it is one verse - You earn the rewards as long as the knowledge from which the people benefit.
Thursday, 29 December 2011
Tuesday, 11 October 2011
Flashback Recovery Area Full - Unable to connect RMAN
Yesterday, There was an issue with the Flashback Recovery Area. The FRA disk is full and when we try to connect as "sys as sysdba" or "rman target", the database hangs.
If you are looking for a solution to similar scenario then read on...
Check the disk space for total, available and used space using df command in linux.
move to the archivelog folder in the flash recovery area for the database and check for the old logs.
If you have set the retention window to 7 days for example or have a backup taken 2-3 days before then you can remove the old logs to reclaim the disk space.
Now try to connect using the RMAN
rman target nocatalog
execute the crosscheck command to verify the backups and delete expired backups and logs.
Note, By removing the logs at OS level will not update the data dictionary hence the crosscheck command needs to be executed to cross verify the logs and files.
If you are looking for a solution to similar scenario then read on...
Check the disk space for total, available and used space using df command in linux.
move to the archivelog folder in the flash recovery area for the database and check for the old logs.
If you have set the retention window to 7 days for example or have a backup taken 2-3 days before then you can remove the old logs to reclaim the disk space.
Now try to connect using the RMAN
rman target nocatalog
execute the crosscheck command to verify the backups and delete expired backups and logs.
Note, By removing the logs at OS level will not update the data dictionary hence the crosscheck command needs to be executed to cross verify the logs and files.
Tuesday, 4 October 2011
How to create flashback restore point on database
How to create flashback restore point on database?
If the database is up, shutdown the database and restart the database in mount mode.
Check whether the flashback is on, If the flashback is not on then enable the flashback. Note: If you are using RAC then before enabling flashback make sure all other instances are shutdown
If you executed the flashback on command without shutting down the other instances, you will receive the below error
ERROR at line 1:
ORA-38777: database must not be started in any other instance.
Solution is to make sure all other instances are down.
After enabling the flashback, check the status to make sure the flashback is enabled on the database.
And check the DB_FLASHBACK_RETENTION_TARGET. By default it is 1440 which is one day. If you want for “n” no of days then the formula is 1440*n=value. For example if you want to retain for 3 days then 1440*3=4320
Alter the database to set the retention to 3 days.
ALTER SYSTEM SET DB_FLASHBACK_RETENTION_TARGET=4320;
And then create the restore point as below
CREATE RESTORE POINT before_my_change;
Wednesday, 28 September 2011
PXE-E32: TFTP Open Timeout - VMWARE - REDHAT LINUX Installtion
PXE-E32: TFTP Open Timeout
When Installing Redhat Linux on the newly created vmware vm machine, I received the error TFTP open timeout error.
Casuse: TFTP open request was not acknowledged.
Solution:
Verify that the TFTP service is running. If you are not using the TFTP then simply wait for few minutes, the boot prompt will come back automatically after sometime with operating system not found message. Now select the operating system iso image.
When Installing Redhat Linux on the newly created vmware vm machine, I received the error TFTP open timeout error.
Casuse: TFTP open request was not acknowledged.
Solution:
Verify that the TFTP service is running. If you are not using the TFTP then simply wait for few minutes, the boot prompt will come back automatically after sometime with operating system not found message. Now select the operating system iso image.
Thursday, 22 September 2011
Linux - Find and delete large files in UNIX
On Red Hat Linux - To find the large files which could be removed to reclaim the space, execute the below command
find / -size +155M -printf "%s - %p\n"
The above command is executed on root directory to find the files which are more than 155MB in size. Remember you will receive permission denied error if you run as other than root. To execute into a particular folder specify the folder name. For example to find in the usr directory,
find /usr -size +155M -printf "%s - %p\n"
The above command can be modified to find in the current directory as below
find . -size +155M -printf "%s - %p\n"
find / -size +155M -printf "%s - %p\n"
The above command is executed on root directory to find the files which are more than 155MB in size. Remember you will receive permission denied error if you run as other than root. To execute into a particular folder specify the folder name. For example to find in the usr directory,
find /usr -size +155M -printf "%s - %p\n"
The above command can be modified to find in the current directory as below
find . -size +155M -printf "%s - %p\n"
Friday, 16 September 2011
ORA-01113: file 1 needs media recovery - system01.dbf
To clone a RAC DB to a new RAC DB
Login to the old RAC DB and shutdown the database and all nodes. Open the database in nomount state and take a controlfile backup to trace. Change the database to a single instance database by changing the cluster_database parameter to false and take a backup of the control file to trace.
Copy the datafiles and control file from trace into the new location and change the name and location of the new database.
When you open the database, you can experience the below error.
problem:
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/opt/oracle/test/system01.dbf'
If you specify recover database the below error will be shown as the controlfile is a backup controlfile.
SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
So specify the using backup controlfile clause.
SQL> recover database using backup controlfile;
ORA-00279: change 39930507 generated at 09/14/2011 13:52:54 needed for thread 2
ORA-00289: suggestion :
/opt/oracle/flash_recovery_area/TEST/archivelog/2011_09_14/o1_mf_2_127_%u_
.arc
ORA-00280: change 39930507 for thread 2 is in sequence #287
Now comes the another issue though you say cancel it will not cancel the media recovery to re-open the database.
The solution to recover the database is by using clause "until Cancel"
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL
When asked for logs, as below
Specify log: {=suggested | filename | AUTO | CANCEL}
enter "cancel"
Media recovery cancelled.
SQL> alter database open resetlogs;
Database altered.
If you face the similar error then the above action could be one of your solution.
Login to the old RAC DB and shutdown the database and all nodes. Open the database in nomount state and take a controlfile backup to trace. Change the database to a single instance database by changing the cluster_database parameter to false and take a backup of the control file to trace.
Copy the datafiles and control file from trace into the new location and change the name and location of the new database.
When you open the database, you can experience the below error.
problem:
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/opt/oracle/test/system01.dbf'
If you specify recover database the below error will be shown as the controlfile is a backup controlfile.
SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
So specify the using backup controlfile clause.
SQL> recover database using backup controlfile;
ORA-00279: change 39930507 generated at 09/14/2011 13:52:54 needed for thread 2
ORA-00289: suggestion :
/opt/oracle/flash_recovery_area/TEST/archivelog/2011_09_14/o1_mf_2_127_%u_
.arc
ORA-00280: change 39930507 for thread 2 is in sequence #287
Now comes the another issue though you say cancel it will not cancel the media recovery to re-open the database.
The solution to recover the database is by using clause "until Cancel"
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL
When asked for logs, as below
Specify log: {
enter "cancel"
Media recovery cancelled.
SQL> alter database open resetlogs;
Database altered.
If you face the similar error then the above action could be one of your solution.
Friday, 1 July 2011
Oracle11g_data_recovery_advisor
$ rman target devdb
Recovery Manager: Release 11.2.0.1.0 - Production on Thu May 19 16:09:31 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
target database Password:
connected to target database: devdb (DBID=6959472717)
RMAN> list failure all;
using target database control file instead of recovery catalog
no failures found that match specification
RMAN> list failure all;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
148 HIGH OPEN 19-MAY-11 Tablespace 7: 'TEST' is offline
142 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
offline
RMAN> list failure critical;
no failures found that match specification
RMAN> list failure high;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
148 HIGH OPEN 19-MAY-11 Tablespace 7: 'TEST' is offline
142 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
offline
RMAN> list failure detail;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
148 HIGH OPEN 19-MAY-11 Tablespace 7: 'TEST' is offline
Impact: Some objects in tablespace TEST might be unavailable
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
142 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
offline
Impact: See impact for individual child failures
List of child failures for parent failure ID 142
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
145 HIGH OPEN 19-MAY-11 Datafile 6: '/u01/oracle/oradata
/testdb/test01.dbf' is offline
Impact: Some objects in tablespace TEST might be unavailable
RMAN>
RMAN> change failure 148 priority low;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
148 HIGH OPEN 19-MAY-11 Tablespace 7: 'TEST' is offline
Do you really want to change the above failures (enter YES or NO)? yes
changed 1 failures to LOW priority
RMAN>
By Default, Oracle11g RMAN "list failure" command lists only the critical and high priority alerts as shown below
RMAN> list failure;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
168 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
missing
142 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
offline
RMAN>
We changed the priority of failure id 148 from high to low. Hence the failure id 148 are not shown for the list failure command.
To list the low priority failures, either use "list failure all" or "list failure low" commands.
Now to change back the priority of failure id 148 to high :
RMAN> change failure 148 priority high;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
148 LOW OPEN 19-MAY-11 Tablespace 7: 'TEST' is offline
Do you really want to change the above failures (enter YES or NO)? yes
changed 1 failures to HIGH priority
RMAN>
$ rman target dev1
Recovery Manager: Release 11.2.0.1.0 - Production on Fri May 20 15:29:11 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
target database Password:
connected to target database: DEV1 (DBID=3359724377)
RMAN> repair failure
2> ;
using target database control file instead of recovery catalog
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of repair command at 05/20/2011 15:29:33
RMAN-06954: REPAIR command must be preceded by ADVISE command in same session
RMAN> repair failure 148;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01009: syntax error: found "integer": expecting one of: "noprompt, no, prev
iew, using, ;"
RMAN-01007: at line 1 column 16 file: standard input
RMAN> repair failure noprompt;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of repair command at 05/20/2011 15:30:30
RMAN-06954: REPAIR command must be preceded by ADVISE command in same session
RMAN>
RMAN> advice failure high;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01009: syntax error: found "identifier": expecting one of: "advise, allocat
e, alter, backup, @, catalog, change, configure, connect, convert, copy, create,
crosscheck, delete, drop, duplicate, exit, flashback, grant, host, import, list
, mount, open, print, quit, recover, register, release, repair, replace, report,
reset, restore, resync, revoke, run, send, set, show, shutdown, spool, sql, sta
rtup, switch, transport, unregister, upgrade, validate, {, "
RMAN-01008: the bad identifier was: advice
RMAN-01007: at line 1 column 1 file: standard input
As shown above, list failure, advise failure and repair failure commands are interdependent. i.e they have to follow in sequence in the same session as shown below
RMAN> list failure;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
168 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
missing
148 HIGH OPEN 19-MAY-11 Tablespace 7: 'TEST' is offline
142 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
offline
RMAN> advise failure;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
168 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
missing
148 HIGH OPEN 19-MAY-11 Tablespace 7: 'TEST' is offline
142 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
offline
analyzing automatic repair options; this may take some time
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=76 device type=DISK
analyzing automatic repair options complete
Not all specified failures can currently be repaired.
The following failures must be repaired before advise for others can be given.
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
168 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
missing
Mandatory Manual Actions
========================
1. If file /u01/oracle/oradata/testdb/test01.dbf was unintentionally renamed or
moved, restore it
2. If you have an export of tablespace TEST, then drop and re-create the tablesp
ace and import the data.
3. Contact Oracle Support Services if the preceding recommendations cannot be us
ed, or if they do not fix the failures selected for repair
Optional Manual Actions
=======================
no manual actions available
Automated Repair Options
========================
no automatic repair options available
RMAN>
SQL> alter tablespace test online;
Tablespace altered.
RMAN> validate database;
Starting validate at 20-MAY-11
using channel ORA_DISK_1
RMAN-06169: could not read file header for datafile 6 error reason 4
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of validate command at 05/20/2011 15:40:07
RMAN-06056: could not access datafile 6
RMAN> validate database;
Starting validate at 20-MAY-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting validation of datafile
channel ORA_DISK_1: specifying datafile(s) for validation
input datafile file number=00001 name=/u01/oracle/oradata/testdb/system01.dbf
input datafile file number=00002 name=/u01/oracle/oradata/testdb/sysaux01.dbf
input datafile file number=00003 name=/u01/oracle/oradata/testdb/undotbs01.dbf
input datafile file number=00005 name=/u01/oracle/oradata/testdb/example01.dbf
input datafile file number=00004 name=/u01/oracle/oradata/testdb/users01.dbf
input datafile file number=00006 name=/u01/oracle/oradata/testdb/test01.dbf
channel ORA_DISK_1: validation complete, elapsed time: 00:00:07
List of Datafiles
=================
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
1 OK 0 13131 90884 2087390
File Name: /u01/oracle/oradata/testdb/system01.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ----------------
Data 0 61902
Index 0 12538
Other 0 3309
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
2 OK 0 20164 89630 2087388
File Name: /u01/oracle/oradata/testdb/sysaux01.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ----------------
Data 0 21854
Index 0 17196
Other 0 30386
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
3 OK 0 385 14080 2087390
File Name: /u01/oracle/oradata/testdb/undotbs01.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ----------------
Data 0 0
Index 0 0
Other 0 13695
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
4 OK 0 255 640 1000225
File Name: /u01/oracle/oradata/testdb/users01.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ----------------
Data 0 91
Index 0 39
Other 0 255
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
5 OK 0 1688 12804 1987513
File Name: /u01/oracle/oradata/testdb/example01.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ----------------
Data 0 6603
Index 0 1261
Other 0 3248
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
6 OK 0 121 128 1958860
File Name: /u01/oracle/oradata/testdb/test01.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ----------------
Data 0 0
Index 0 0
Other 0 7
channel ORA_DISK_1: starting validation of datafile
channel ORA_DISK_1: specifying datafile(s) for validation
including current control file for validation
including current SPFILE in backup set
channel ORA_DISK_1: validation complete, elapsed time: 00:00:01
List of Control File and SPFILE
===============================
File Type Status Blocks Failing Blocks Examined
------------ ------ -------------- ---------------
SPFILE OK 0 2
Control File OK 0 594
Finished validate at 20-MAY-11
RMAN>
Thank you for your patience in reading, If you could drop me a line giving your feedback - good, bad or any suggestions to improve would be much appreciated.
Recovery Manager: Release 11.2.0.1.0 - Production on Thu May 19 16:09:31 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
target database Password:
connected to target database: devdb (DBID=6959472717)
RMAN> list failure all;
using target database control file instead of recovery catalog
no failures found that match specification
RMAN> list failure all;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
148 HIGH OPEN 19-MAY-11 Tablespace 7: 'TEST' is offline
142 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
offline
RMAN> list failure critical;
no failures found that match specification
RMAN> list failure high;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
148 HIGH OPEN 19-MAY-11 Tablespace 7: 'TEST' is offline
142 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
offline
RMAN> list failure detail;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
148 HIGH OPEN 19-MAY-11 Tablespace 7: 'TEST' is offline
Impact: Some objects in tablespace TEST might be unavailable
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
142 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
offline
Impact: See impact for individual child failures
List of child failures for parent failure ID 142
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
145 HIGH OPEN 19-MAY-11 Datafile 6: '/u01/oracle/oradata
/testdb/test01.dbf' is offline
Impact: Some objects in tablespace TEST might be unavailable
RMAN>
RMAN> change failure 148 priority low;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
148 HIGH OPEN 19-MAY-11 Tablespace 7: 'TEST' is offline
Do you really want to change the above failures (enter YES or NO)? yes
changed 1 failures to LOW priority
RMAN>
By Default, Oracle11g RMAN "list failure" command lists only the critical and high priority alerts as shown below
RMAN> list failure;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
168 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
missing
142 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
offline
RMAN>
We changed the priority of failure id 148 from high to low. Hence the failure id 148 are not shown for the list failure command.
To list the low priority failures, either use "list failure all" or "list failure low" commands.
Now to change back the priority of failure id 148 to high :
RMAN> change failure 148 priority high;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
148 LOW OPEN 19-MAY-11 Tablespace 7: 'TEST' is offline
Do you really want to change the above failures (enter YES or NO)? yes
changed 1 failures to HIGH priority
RMAN>
$ rman target dev1
Recovery Manager: Release 11.2.0.1.0 - Production on Fri May 20 15:29:11 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
target database Password:
connected to target database: DEV1 (DBID=3359724377)
RMAN> repair failure
2> ;
using target database control file instead of recovery catalog
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of repair command at 05/20/2011 15:29:33
RMAN-06954: REPAIR command must be preceded by ADVISE command in same session
RMAN> repair failure 148;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01009: syntax error: found "integer": expecting one of: "noprompt, no, prev
iew, using, ;"
RMAN-01007: at line 1 column 16 file: standard input
RMAN> repair failure noprompt;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of repair command at 05/20/2011 15:30:30
RMAN-06954: REPAIR command must be preceded by ADVISE command in same session
RMAN>
RMAN> advice failure high;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01009: syntax error: found "identifier": expecting one of: "advise, allocat
e, alter, backup, @, catalog, change, configure, connect, convert, copy, create,
crosscheck, delete, drop, duplicate, exit, flashback, grant, host, import, list
, mount, open, print, quit, recover, register, release, repair, replace, report,
reset, restore, resync, revoke, run, send, set, show, shutdown, spool, sql, sta
rtup, switch, transport, unregister, upgrade, validate, {, "
RMAN-01008: the bad identifier was: advice
RMAN-01007: at line 1 column 1 file: standard input
As shown above, list failure, advise failure and repair failure commands are interdependent. i.e they have to follow in sequence in the same session as shown below
RMAN> list failure;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
168 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
missing
148 HIGH OPEN 19-MAY-11 Tablespace 7: 'TEST' is offline
142 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
offline
RMAN> advise failure;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
168 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
missing
148 HIGH OPEN 19-MAY-11 Tablespace 7: 'TEST' is offline
142 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
offline
analyzing automatic repair options; this may take some time
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=76 device type=DISK
analyzing automatic repair options complete
Not all specified failures can currently be repaired.
The following failures must be repaired before advise for others can be given.
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
168 HIGH OPEN 19-MAY-11 One or more non-system datafiles are
missing
Mandatory Manual Actions
========================
1. If file /u01/oracle/oradata/testdb/test01.dbf was unintentionally renamed or
moved, restore it
2. If you have an export of tablespace TEST, then drop and re-create the tablesp
ace and import the data.
3. Contact Oracle Support Services if the preceding recommendations cannot be us
ed, or if they do not fix the failures selected for repair
Optional Manual Actions
=======================
no manual actions available
Automated Repair Options
========================
no automatic repair options available
RMAN>
SQL> alter tablespace test online;
Tablespace altered.
RMAN> validate database;
Starting validate at 20-MAY-11
using channel ORA_DISK_1
RMAN-06169: could not read file header for datafile 6 error reason 4
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of validate command at 05/20/2011 15:40:07
RMAN-06056: could not access datafile 6
RMAN> validate database;
Starting validate at 20-MAY-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting validation of datafile
channel ORA_DISK_1: specifying datafile(s) for validation
input datafile file number=00001 name=/u01/oracle/oradata/testdb/system01.dbf
input datafile file number=00002 name=/u01/oracle/oradata/testdb/sysaux01.dbf
input datafile file number=00003 name=/u01/oracle/oradata/testdb/undotbs01.dbf
input datafile file number=00005 name=/u01/oracle/oradata/testdb/example01.dbf
input datafile file number=00004 name=/u01/oracle/oradata/testdb/users01.dbf
input datafile file number=00006 name=/u01/oracle/oradata/testdb/test01.dbf
channel ORA_DISK_1: validation complete, elapsed time: 00:00:07
List of Datafiles
=================
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
1 OK 0 13131 90884 2087390
File Name: /u01/oracle/oradata/testdb/system01.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ----------------
Data 0 61902
Index 0 12538
Other 0 3309
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
2 OK 0 20164 89630 2087388
File Name: /u01/oracle/oradata/testdb/sysaux01.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ----------------
Data 0 21854
Index 0 17196
Other 0 30386
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
3 OK 0 385 14080 2087390
File Name: /u01/oracle/oradata/testdb/undotbs01.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ----------------
Data 0 0
Index 0 0
Other 0 13695
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
4 OK 0 255 640 1000225
File Name: /u01/oracle/oradata/testdb/users01.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ----------------
Data 0 91
Index 0 39
Other 0 255
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
5 OK 0 1688 12804 1987513
File Name: /u01/oracle/oradata/testdb/example01.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ----------------
Data 0 6603
Index 0 1261
Other 0 3248
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
6 OK 0 121 128 1958860
File Name: /u01/oracle/oradata/testdb/test01.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ----------------
Data 0 0
Index 0 0
Other 0 7
channel ORA_DISK_1: starting validation of datafile
channel ORA_DISK_1: specifying datafile(s) for validation
including current control file for validation
including current SPFILE in backup set
channel ORA_DISK_1: validation complete, elapsed time: 00:00:01
List of Control File and SPFILE
===============================
File Type Status Blocks Failing Blocks Examined
------------ ------ -------------- ---------------
SPFILE OK 0 2
Control File OK 0 594
Finished validate at 20-MAY-11
RMAN>
Thank you for your patience in reading, If you could drop me a line giving your feedback - good, bad or any suggestions to improve would be much appreciated.
Automatic SQL Tuning
Automatic SQL Tuning
Automatic SQL Tuning is a new feature of Oracle 11g which utilizes the SQL Tuning Advisor (introduced in 10g) to create sql profiles for the queries executed on the database. This tuning task runs every night as part of the daily maintenance window.
Below are the steps carried by the automatic sql tuning process every night
Step 1: Analyzes the Automatic workload repository (AWR) to identify the top sql statements during different time periods in the past week.
Step 2: Assigns weight to each sql statement identified from different time periods and starts working from the top sql. And in the mean time, it invokes the sql tuning advisor to tune the previously identified sql statements.
Step 3: The sql tuning advisor creates a sql profile which are stored in sql management base.
Step 4: After thorough verification of the sql profile, Automatic sql tuning adds it to the sql plan baseline.
You can control the sql profile implementation and tuning from automatic maintenance tasks configuration page on the enterprise manager. DBMS_SQLTUNE package is used to control the automatic sql tuning from the command line
BEGIN
dbms_sqltune.set_auto_tuning_task_parameter( 'LOCAL_TIME_LIMIT', 900);
END;
PL/SQL procedure successfully completed.
SQL>
Where LOCAL_TIME_LIMIT is the parameter to control the maximum time spent per SQL during the tuning activity. The value 900 means a maximum of 15 minutes.
MAX_SQL_PROFILES_PER_EXEC is the parameter to control the maximum number of sql profiles which can be implemented per execution. From our example, the maximum number of sql profile implementation per execution is 10.
BEGIN
dbms_sqltune.set_auto_tuning_task_parameter( 'MAX_SQL_PROFILES_PER_EXEC', 10);
END;
PL/SQL procedure successfully completed.
SQL>
By default, the Automatic SQL Tuning implements the beneficial sql profiles after verification. To disable the automatic implementation, ACCEPT_SQL_PROFILES parameter should be set to FALSE as shown below
BEGIN
dbms_sqltune.set_auto_tuning_task_parameter( 'ACCEPT_SQL_PROFILES', 'FALSE');
END;
PL/SQL procedure successfully completed.
SQL>
The Automatic sql tuning can be disabled by disabling the sql tuning advisor using DBMS_AUTO_TASK_ADMIN package.
BEGIN
dbms_auto_task_admin.disable(client_name => 'sql tuning advisor', operation => NULL, window_name => NULL);
END;
PL/SQL procedure successfully completed.
SQL>
Some times we may need to disable the automatic sql tuning for a particular day. For example, if we want to disable the automatic sql tuning on thursday then we need to specify the window name.
BEGIN
dbms_auto_task_admin.disable(client_name => 'sql tuning advisor', operation => NULL, window_name => 'THURSDAY_WINDOW');
END;
PL/SQL procedure successfully completed.
SQL>
Similarly, to enable back the automatic sql tuning on Thursday
BEGIN
dbms_auto_task_admin.enable(client_name => 'sql tuning advisor', operation => NULL, window_name => 'THURSDAY_WINDOW');
END;
PL/SQL procedure successfully completed.
SQL>
To check the automatic sql tuning executions query DBA_ADVISOR_EXECUTIONS data dictionary table.
SQL> column execution_name format a10
SQL> column owner format a20
SQL> column advisor_name format a30
SQL>
SQL> select execution_name,status,owner,advisor_name from dba_advisor_executions where advisor_name = 'SQL Tuning Advisor';
EXECUTION_ STATUS OWNER ADVISOR_NAME
---------- ----------- -------------------- ------------------------------
EXEC_17 COMPLETED SYSTEM SQL Tuning Advisor
EXEC_23 COMPLETED SYS SQL Tuning Advisor
EXEC_62 COMPLETED SYS SQL Tuning Advisor
SQL>
From the above list we can generate a report of the execution using REPORT_AUTO_TUNING_TASK procedure.
Automatic SQL Tuning is a new feature of Oracle 11g which utilizes the SQL Tuning Advisor (introduced in 10g) to create sql profiles for the queries executed on the database. This tuning task runs every night as part of the daily maintenance window.
Below are the steps carried by the automatic sql tuning process every night
Step 1: Analyzes the Automatic workload repository (AWR) to identify the top sql statements during different time periods in the past week.
Step 2: Assigns weight to each sql statement identified from different time periods and starts working from the top sql. And in the mean time, it invokes the sql tuning advisor to tune the previously identified sql statements.
Step 3: The sql tuning advisor creates a sql profile which are stored in sql management base.
Step 4: After thorough verification of the sql profile, Automatic sql tuning adds it to the sql plan baseline.
You can control the sql profile implementation and tuning from automatic maintenance tasks configuration page on the enterprise manager. DBMS_SQLTUNE package is used to control the automatic sql tuning from the command line
BEGIN
dbms_sqltune.set_auto_tuning_task_parameter( 'LOCAL_TIME_LIMIT', 900);
END;
PL/SQL procedure successfully completed.
SQL>
Where LOCAL_TIME_LIMIT is the parameter to control the maximum time spent per SQL during the tuning activity. The value 900 means a maximum of 15 minutes.
MAX_SQL_PROFILES_PER_EXEC is the parameter to control the maximum number of sql profiles which can be implemented per execution. From our example, the maximum number of sql profile implementation per execution is 10.
BEGIN
dbms_sqltune.set_auto_tuning_task_parameter( 'MAX_SQL_PROFILES_PER_EXEC', 10);
END;
PL/SQL procedure successfully completed.
SQL>
By default, the Automatic SQL Tuning implements the beneficial sql profiles after verification. To disable the automatic implementation, ACCEPT_SQL_PROFILES parameter should be set to FALSE as shown below
BEGIN
dbms_sqltune.set_auto_tuning_task_parameter( 'ACCEPT_SQL_PROFILES', 'FALSE');
END;
PL/SQL procedure successfully completed.
SQL>
The Automatic sql tuning can be disabled by disabling the sql tuning advisor using DBMS_AUTO_TASK_ADMIN package.
BEGIN
dbms_auto_task_admin.disable(client_name => 'sql tuning advisor', operation => NULL, window_name => NULL);
END;
PL/SQL procedure successfully completed.
SQL>
Some times we may need to disable the automatic sql tuning for a particular day. For example, if we want to disable the automatic sql tuning on thursday then we need to specify the window name.
BEGIN
dbms_auto_task_admin.disable(client_name => 'sql tuning advisor', operation => NULL, window_name => 'THURSDAY_WINDOW');
END;
PL/SQL procedure successfully completed.
SQL>
Similarly, to enable back the automatic sql tuning on Thursday
BEGIN
dbms_auto_task_admin.enable(client_name => 'sql tuning advisor', operation => NULL, window_name => 'THURSDAY_WINDOW');
END;
PL/SQL procedure successfully completed.
SQL>
To check the automatic sql tuning executions query DBA_ADVISOR_EXECUTIONS data dictionary table.
SQL> column execution_name format a10
SQL> column owner format a20
SQL> column advisor_name format a30
SQL>
SQL> select execution_name,status,owner,advisor_name from dba_advisor_executions where advisor_name = 'SQL Tuning Advisor';
EXECUTION_ STATUS OWNER ADVISOR_NAME
---------- ----------- -------------------- ------------------------------
EXEC_17 COMPLETED SYSTEM SQL Tuning Advisor
EXEC_23 COMPLETED SYS SQL Tuning Advisor
EXEC_62 COMPLETED SYS SQL Tuning Advisor
SQL>
From the above list we can generate a report of the execution using REPORT_AUTO_TUNING_TASK procedure.
Automatic Database Diagnostic Monitor
Automatic Database Diagnostic Monitor was first introduced in Oracle 10g.
Oracle 11g R2 ADDM Advisor has 83 finding names.
SQL> column finding_name format a50
SQL> column advisor_name format a10
SQL> select * from dba_advisor_finding_names
ID ADVISOR_NA FINDING_NAME
---------- ---------- --------------------------------------------------
0 Default Ad normal, successful completion
visor
1 ADDM "Administrative" Wait Class
2 ADDM "Application" Wait Class
3 ADDM "Cluster" Wait Class
4 ADDM "Concurrency" Wait Class
5 ADDM "Configuration" Wait Class
6 ADDM "Network" Wait Class
7 ADDM "Other" Wait Class
8 ADDM "Scheduler" Wait Class
9 ADDM "User I/O" wait Class
10 ADDM Buffer Busy
11 ADDM Buffer Cache Latches
12 ADDM Checkpoints Due to DROP or TRUNCATE
13 ADDM Checkpoints Due to Log File Size
14 ADDM Checkpoints Due to MTTR
15 ADDM Checkpoints Due to Parallel Queries
16 ADDM Checkpoints Due to Tablespace DDL
17 ADDM Commits and Rollbacks
18 ADDM CPU Usage
19 ADDM DBMS_LOCK Usage
20 ADDM DBMS_PIPE Usage
21 ADDM Excessive Rebinds
22 ADDM Free Buffer Waits
23 ADDM Hard Parse
24 ADDM Hard Parse Due to Invalidations
25 ADDM Hard Parse Due to Literal Usage
26 ADDM Hard Parse Due to Parse Errors
27 ADDM Hard Parse Due to Sharing Criteria
28 ADDM High Watermark Waits
29 ADDM I/O Throughput
30 ADDM Index Block Split
31 ADDM Global Cache Busy
32 ADDM Global Cache Congestion
33 ADDM Interconnect Latency
34 ADDM Global Cache Lost Blocks
35 ADDM Global Cache Messaging
36 ADDM Global Cache Multiblock Requests
37 ADDM ITL Waits
38 ADDM Java Execution
39 ADDM Latch Free Waits
40 ADDM Log File Switches
41 ADDM PL/SQL Compilation
42 ADDM PL/SQL Execution
43 ADDM RMAN I/O
44 ADDM Row Lock Waits
45 ADDM Sequence Usage
46 ADDM Session Connect and Disconnect
47 ADDM Session Slot Scheduling
48 ADDM Shared Pool Latches
49 ADDM Slow Archivers
50 ADDM Soft Parse
51 ADDM Space Transaction Waits
52 ADDM Streams Flow Control
53 ADDM Table Locks
54 ADDM Temp Space Contention
55 ADDM Top Segments by I/O
56 ADDM Top SQL by "Cluster" Wait
57 ADDM Top SQL by DB Time
58 ADDM Top SQL By I/O
59 ADDM Undersized Buffer Cache
60 ADDM Undersized PGA
61 ADDM Undersized Redo Log Buffer
62 ADDM Undersized SGA
63 ADDM Undersized Shared Pool
64 ADDM Undersized Streams Pool
65 ADDM Undo I/O
66 ADDM Unusual "Administrative" Wait Event
67 ADDM Unusual "Application" Wait Event
68 ADDM Unusual "Cluster" Wait Event
69 ADDM Unusual "Commit" Wait Event
70 ADDM Unusual "Concurrency" Wait Event
71 ADDM Unusual "Configuration" Wait Event
72 ADDM Unusual "Network" Wait Event
73 ADDM Unusual "Other" Wait Event
74 ADDM Unusual "Scheduler" Wait Event
75 ADDM Unusual "User I/O" Wait Event
76 ADDM Virtual Memory Paging
77 ADDM Unusual "Queueing" Wait Event
78 ADDM "Queueing" Wait Class
79 ADDM Undersized instance memory
80 ADDM Top SQL Statements
81 ADDM Top Segments by "User I/O" and "Cluster"
82 ADDM Buffer Busy - Hot Block
83 ADDM Buffer Busy - Hot Objects
84 rows selected.
SQL>
Oracle 11g R2 ADDM Advisor has 83 finding names.
SQL> column finding_name format a50
SQL> column advisor_name format a10
SQL> select * from dba_advisor_finding_names
ID ADVISOR_NA FINDING_NAME
---------- ---------- --------------------------------------------------
0 Default Ad normal, successful completion
visor
1 ADDM "Administrative" Wait Class
2 ADDM "Application" Wait Class
3 ADDM "Cluster" Wait Class
4 ADDM "Concurrency" Wait Class
5 ADDM "Configuration" Wait Class
6 ADDM "Network" Wait Class
7 ADDM "Other" Wait Class
8 ADDM "Scheduler" Wait Class
9 ADDM "User I/O" wait Class
10 ADDM Buffer Busy
11 ADDM Buffer Cache Latches
12 ADDM Checkpoints Due to DROP or TRUNCATE
13 ADDM Checkpoints Due to Log File Size
14 ADDM Checkpoints Due to MTTR
15 ADDM Checkpoints Due to Parallel Queries
16 ADDM Checkpoints Due to Tablespace DDL
17 ADDM Commits and Rollbacks
18 ADDM CPU Usage
19 ADDM DBMS_LOCK Usage
20 ADDM DBMS_PIPE Usage
21 ADDM Excessive Rebinds
22 ADDM Free Buffer Waits
23 ADDM Hard Parse
24 ADDM Hard Parse Due to Invalidations
25 ADDM Hard Parse Due to Literal Usage
26 ADDM Hard Parse Due to Parse Errors
27 ADDM Hard Parse Due to Sharing Criteria
28 ADDM High Watermark Waits
29 ADDM I/O Throughput
30 ADDM Index Block Split
31 ADDM Global Cache Busy
32 ADDM Global Cache Congestion
33 ADDM Interconnect Latency
34 ADDM Global Cache Lost Blocks
35 ADDM Global Cache Messaging
36 ADDM Global Cache Multiblock Requests
37 ADDM ITL Waits
38 ADDM Java Execution
39 ADDM Latch Free Waits
40 ADDM Log File Switches
41 ADDM PL/SQL Compilation
42 ADDM PL/SQL Execution
43 ADDM RMAN I/O
44 ADDM Row Lock Waits
45 ADDM Sequence Usage
46 ADDM Session Connect and Disconnect
47 ADDM Session Slot Scheduling
48 ADDM Shared Pool Latches
49 ADDM Slow Archivers
50 ADDM Soft Parse
51 ADDM Space Transaction Waits
52 ADDM Streams Flow Control
53 ADDM Table Locks
54 ADDM Temp Space Contention
55 ADDM Top Segments by I/O
56 ADDM Top SQL by "Cluster" Wait
57 ADDM Top SQL by DB Time
58 ADDM Top SQL By I/O
59 ADDM Undersized Buffer Cache
60 ADDM Undersized PGA
61 ADDM Undersized Redo Log Buffer
62 ADDM Undersized SGA
63 ADDM Undersized Shared Pool
64 ADDM Undersized Streams Pool
65 ADDM Undo I/O
66 ADDM Unusual "Administrative" Wait Event
67 ADDM Unusual "Application" Wait Event
68 ADDM Unusual "Cluster" Wait Event
69 ADDM Unusual "Commit" Wait Event
70 ADDM Unusual "Concurrency" Wait Event
71 ADDM Unusual "Configuration" Wait Event
72 ADDM Unusual "Network" Wait Event
73 ADDM Unusual "Other" Wait Event
74 ADDM Unusual "Scheduler" Wait Event
75 ADDM Unusual "User I/O" Wait Event
76 ADDM Virtual Memory Paging
77 ADDM Unusual "Queueing" Wait Event
78 ADDM "Queueing" Wait Class
79 ADDM Undersized instance memory
80 ADDM Top SQL Statements
81 ADDM Top Segments by "User I/O" and "Cluster"
82 ADDM Buffer Busy - Hot Block
83 ADDM Buffer Busy - Hot Objects
84 rows selected.
SQL>
Oracle 11g Automated Maintenance Tasks
Three tasks are executed as part of automated maintenance task. They are
Optimizer Statistics Gathering
Segment Advisor
Automatic SQL Tuning
By default the above tasks are enabled on the database. If required these tasks can be disabled for each week or for a particular day.
To disable the optimizer statistics collection, use the DBMS_AUTO_TASK_ADMIN package as shown below
BEGIN
dbms_auto_task_admin.disable(client_name => 'auto optimizer stats collection', operation => NULL, window_name => NULL);
END;
PL/SQL procedure successfully completed.
SQL>
To disable for a particular day for example Thursday
SQL> BEGIN
dbms_auto_task_admin.disable(client_name => 'auto optimizer stats collection', operation => NULL, window_name => 'THURSDAY_WINDOW');
END;
PL/SQL procedure successfully completed.
SQL>
To disable the segment advisor,
BEGIN
dbms_auto_task_admin.disable(client_name => 'auto space advisor', operation => NULL, window_name => NULL);
END;
PL/SQL procedure successfully completed.
SQL>
Similarly to enable them use dbms_auto_task_admin.enable procedure.
By default the automated maintenance tasks starts at 10pm every day. Sometimes there might be some batch jobs running on the server so we may need to change the time for the maintenance task. To change the timing, The task needs to be disabled first.
This could be achieved by using DBMS_SCHEDULER package. For example if we want to start the maintenance task at 11pm on Thursdays then
SQL> BEGIN
2 DBMS_SCHEDULER.DISABLE(
3 name=>'"SYS"."THURSDAY_WINDOW"',
4 force=>TRUE);
5 END;
6 /
PL/SQL procedure successfully completed.
SQL>
SQL> BEGIN
2 DBMS_SCHEDULER.SET_ATTRIBUTE(
3 name=>'"SYS"."THURSDAY_WINDOW"',
4 attribute=>'REPEAT_INTERVAL',
5 value=>'FREQ=WEEKLY;BYDAY=THU;BYHOUR=23;BYMINUTE=0;BYSECOND=0');
6 END;
7 /
PL/SQL procedure successfully completed.
SQL>
SQL> BEGIN
2 DBMS_SCHEDULER.ENABLE(
3 name=>'"SYS"."THURSDAY_WINDOW"',
4 force=>TRUE);
5 END;
6 /
PL/SQL procedure successfully completed.
SQL>
Optimizer Statistics Gathering
Segment Advisor
Automatic SQL Tuning
By default the above tasks are enabled on the database. If required these tasks can be disabled for each week or for a particular day.
To disable the optimizer statistics collection, use the DBMS_AUTO_TASK_ADMIN package as shown below
BEGIN
dbms_auto_task_admin.disable(client_name => 'auto optimizer stats collection', operation => NULL, window_name => NULL);
END;
PL/SQL procedure successfully completed.
SQL>
To disable for a particular day for example Thursday
SQL> BEGIN
dbms_auto_task_admin.disable(client_name => 'auto optimizer stats collection', operation => NULL, window_name => 'THURSDAY_WINDOW');
END;
PL/SQL procedure successfully completed.
SQL>
To disable the segment advisor,
BEGIN
dbms_auto_task_admin.disable(client_name => 'auto space advisor', operation => NULL, window_name => NULL);
END;
PL/SQL procedure successfully completed.
SQL>
Similarly to enable them use dbms_auto_task_admin.enable procedure.
By default the automated maintenance tasks starts at 10pm every day. Sometimes there might be some batch jobs running on the server so we may need to change the time for the maintenance task. To change the timing, The task needs to be disabled first.
This could be achieved by using DBMS_SCHEDULER package. For example if we want to start the maintenance task at 11pm on Thursdays then
SQL> BEGIN
2 DBMS_SCHEDULER.DISABLE(
3 name=>'"SYS"."THURSDAY_WINDOW"',
4 force=>TRUE);
5 END;
6 /
PL/SQL procedure successfully completed.
SQL>
SQL> BEGIN
2 DBMS_SCHEDULER.SET_ATTRIBUTE(
3 name=>'"SYS"."THURSDAY_WINDOW"',
4 attribute=>'REPEAT_INTERVAL',
5 value=>'FREQ=WEEKLY;BYDAY=THU;BYHOUR=23;BYMINUTE=0;BYSECOND=0');
6 END;
7 /
PL/SQL procedure successfully completed.
SQL>
SQL> BEGIN
2 DBMS_SCHEDULER.ENABLE(
3 name=>'"SYS"."THURSDAY_WINDOW"',
4 force=>TRUE);
5 END;
6 /
PL/SQL procedure successfully completed.
SQL>
Subscribe to:
Posts (Atom)