This action might not be possible to undo. Are you sure you want to continue?
Verify all instances are up
Make sure the database is available. Log into each instance and run daily reports or test scripts. Some sites may wish to automate this. Optional implementation: use Oracle Enterprise Manager's 'probe' event. B. • • Look for any new alert log entries Connect to each managed system. Use 'telnet' or comparable program.
• For each managed instance, go to the background dump destination, usually $ORACLE_BASE/<SID>/bdump. Make sure to look under each managed database's SID. • At the prompt, use the Unix ‘tail’ command to see the alert_<SID>.log, or otherwise examine the most recent entries in the file. • If any ORA-errors have appeared since the previous time you looked, note them in the Database Recovery Log and investigate each one. The recovery log is in <file>. C. 1. Verify DBSNMP is running Log on to each managed machine to check for the 'dbsnmp' process.
For Unix: at the command line, type ps –ef | grep dbsnmp. There should be two dbsnmp processes running. If not, restart DBSNMP. (Some sites have this disabled on purpose; if this is the case, remove this item from your list, or change it to "verify that DBSNMP is NOT running".) D. E. F. Verify success of database backup Verify success of database archiving to tape Verify enough resources for acceptable performance
As of <date>. b) For current status of each ONLINE or FULL rollback segment (by ID not by name). not OFFLINE or FULL. get. Identify bad growth projections. and install more disks> days’ data growth. When incoming data is stable. The storage parameters of these segments may need to be adjusted. For each instance.g. showing these as OFFLINE and ONLINE respectively.sql to check free mb in tablespaces. a) Go to each instance. For example. Compare to the minimum percent free for that tablespace. query on V$ROLLSTAT. a) Optional: each database may have a list of rollback segment names and their expected statuses. Verify free space in tablespaces. b) Go to each instance.1. Status should be ONLINE. the minimum free space for <repeat for each tablespace>: . c) For storage parameters and names of ALL rollback segment. Look for segments in the database that are running out of resources (e. Note any low-space conditions and correct. query on DBA_ROLLBACK_SEGS. Compare to the minimum free MB for that tablespace. extents) or growing at an excessive rate. if any object reached 200 as the number . run free. as it lacks the PENDING OFFLINE and FULL statuses. except in some cases you may have a special rollback segment for large batch jobs whose normal status is OFFLINE.sql to check percentage free in tablespaces. Note any low-space conditions and correct. That view’s STATUS field is less accurate than V$ROLLSTAT. however. 2. verify that enough free space exists in each tablespace to handle the day’s expected growth. then the minimum free space should be at least <time to order. 3. and average daily growth can be calculated. Verify rollback segment. run space.
or both. zero rows will be returned. This keeps the standby database up-to-date. a) To check CPU utilization. upgrade the max_extents to unlimited. run analyze5pct. copy the appropriate Archived Logs to the expected location on the standby machine and apply those logs (roll forward the changes) to the standby database.sql.Connecting and Sharing on The Go fireboard Forum Component version: 1. Then we can use ALTER TABLESPACE <tablespace> COALESCE. Space-bound objects’ next_extents are bigger than the largest extent that the tablespace can offer. first need to investigate the situation. skip this step. network or disk resources. run nr_extents. If we get such object. Or add another datafile. We need to investigate if CPU utilization keeps above 350 for a while. Run spacebound. go to x:\web\phase2\default. a) 5.0 Generated: 12 November. memory. can in some cases be automated. then your daily task should be to confirm that this happened correctly each day.of current extents. To check current extents. b) c) d) e) 4. H.0. If you have automated them.sql Query current table sizing information Query current index sizing information Query growth trends Identify space-bound objects. If all is well. Space-bound objects can harm database operation. 2011. 400 is the maximum CPU utilization because there are 4 CPUs on phxdev and phxprd machine. Copy Archived Logs to Standby Database and Roll Forward If you have a Standby Database. Processes to review contention for CPU. If you are collecting nightly volumetrics. AND it's an object that is supposed to get large.BBFog . the applying of them.sql. G. 02:34The copying of logs. FireBoard-Forum . Read DBA manuals for one hour .htm =>system metrics=>CPU utilization page. a) To gather daily sizing information.
To collect the resulting statistics. Look for objects that break rules For each object-creation policy (naming convention. Nightly Procedures Most production databases (and many development and test databases) will benefit from having certain nightly batch processes run. This can easily be extended to other objects such as indexes. which show up in the data dictionary. storage parameters. create the volumetrics table with mk_volfact.Nothing is more valuable in the long run than that the DBA be as widely experienced. and other data such as average row sizes. and possibly newsgroups or mailing lists. Analyze Schemas and Collect Data. trade journals. run analyze_comp. default NEXT_EXTENT for DATAHI is 1 gig (1048576 kbytes). and as widely read. Every object in a given tablespace should have the exact same size for NEXT_EXTENT.sql To gather nightly sizing information. run pop_vol. to a more permanent store.) have an automated check to verify that the policy is being followed. 1. as possible. Collect volumetric data This example collects table row counts. 1.sql Examine the data at your leisure. A. Readings should include DBA manuals. probably weekly or monthly. etc. I use MS Excel and an ODBC connection to examine and graph data growth.sql. Weekly Procedures A. . which should match the tablespace default for NEXT_EXTENT. As of 12/14/98. The idea here is to use the more time consuming and more accurate ANALYZE COMPUTE command and save the results. a) b) c) d) If you havent' yet.
com . run obj_coord. Schemas should look identical between environments. run nextext. To check disabled PK. C. To check missing PK. a) b) 2.com http://technet. To check data type consistency. run datatype. Run mkrebuild_idx.sql.com/support http://www.oracle. Run nonuPK.oramag. a) b) c) B. To check other object consistency. 2.oracle. To check existing extents. 4. use a tool like Quest Software's Schema Manager. Better yet.sql. run existext. and INDEXES is 256 mb (262144 kbytes). To check settings for NEXT_EXTENT.oracle. 1. issues Client side logs Server side logs Archive all Alert Logs to history Visit home pages of key vendors Oracle Corporation http://www. run no_pk. D. especially test and production. E.sql.sql All tables should have unique primary keys.sql. Look for security policy violations Look in SQL*Net logs for errors.com http://www.sql to check.sql.DATALO is 500 mb (524288 kbytes).sql. run disPK. a) b) c) 3. All primary key indexes should be unique. 1. All indexes should use INDEXES tablespace.
Review changes in segment growth when compared to previous reports to identify segments with a harmful growth rate. Review database file activity. D. E. 1. Review common Oracle tuning points such as cache hit ratio. C. Project Performance into the Future 1. Look for Harmful Growth Rates 1. 02:34B. Review Fragmentation Investigate fragmentation (e. Compare with past reports to identify harmful trends or determine impact of recent tuning adjustments. memory. Compare performance trends to Service Level Agreement to see when the system will go out of bounds F. etc.com Monthly Procedures A.quests. Quest Software http://www.Connecting and Sharing on The Go fireboard Forum Component version: 1.0 Generated: 12 November.Review Tuning Opportunities 1. row chaining.BBFog .2.).0. Look for I/O Contention 1. Compare to past output to identify trends that could lead to possible contention. Sun Microsystems http://www. FireBoard-Forum . Compare reports on CPU. 2011.com 3. and other points dealing with memory management.g. 2. Perform Tuning and Maintenance . network. latch contention.sun. and disk utilization from both Oracle and the operating system to identify trends that could lead to contention for any one of these resources in the near future.
based on the backup interval to the backup media • Check the system performance . This may include scheduled down time or request for additional resources. periodic basis • Clear the tickets assigned in the ticketing mechanism • Check for the invalid objects • Go through the audit files for any suspicious activities • Go through the alert logs for any critical ora errors .1. once in a day • Check the space usage of the archive log file system for both primary and standby • Verify the success of daily backups. On some databases this needs to be done every day depending upon the requirement • Approve or plan any scheduled changes for the week . Make the adjustments necessary to avoid contention for system resources. 2011. if required • Clear the trace files in the udump and bdump directory as per the policy • Verify the status of daily scheduled jobs • • • Weekly • Checks Check the database statistics collection. 02:34 Daily Checks Check the availability of the database and instance .0. periodic basis • Check the database performance . once in an hour • Verify all the monitoring agent. once in an hour • Archive the alert logs .BBFog . =============================================================== ============= FireBoard-Forum . every 15 mts Check the availability of the listener. every 15 mts or based on the SLA(Service level Agreement) • Check the space usage and make sure that all the tablespace usage is below critical level. once in a day • Verify the success of archive log backups . including OEM agent and third party monitoring agents .0 Generated: 12 November.Connecting and Sharing on The Go fireboard Forum Component version: 1. every 15 mts Check the sync between the primary database and standby database .
• All *. • Ensure that the cron job for truncating.also for messages like 'Checkpoint not complete etc'. • Enough contiguous free space is available in all tablespaces for objects to extend if required. • Backup the control file to trace so that every day we have a outline of the files and their locations for each database. • Ensure that any exports which are part of the backup are complete and the dump files compressed.errors . • Check the alert log for any ORA. Ensure that space in the TEMP tablespace is released and is 100% free at the beginning of the day. • No objects are within 5 extents of the MAXEXTENTS storage parameter.run the coalesce command on all tablespaces to reduce fragmentation. • All tablespaces should be less than 95% full . saving and renaming alert logs is working . Only files for current and previous day should be present.verify the same. • Ensure that the archive redo log files are compressed and have been deleted. this can be changed as per the backup policy Quarterly Checks • Checks for the critical patch updates from Oracle.make sure that your systems are in compliance with CPU patches • Verify the accuracy for the backs by creating test databases from the backup • Verify the accuracy of the DR mechanism by peforming a database switch over test. • All core dumps are deleted from the $CDUMP area.Check for critical and patch updates from oracle Verify the cron jobs scheduled and clear the output directory if required Perform logical level backups of important tables Perform level 0 or cold backup . . This can be done once in six months based on the business requirements • • • • Daily DBA Checklist • Ensure that previous night's backup is complete and there are no RMAN errors in the backup logs.trc files are deleted from the $UDUMP area.
usually $ORACLE_BASE/ <SID>/bdump.Verify all instances are up . Use 'telnet' or comparable program. . Some sites may wish to automate this. or otherwise examine the most recent entries in the file. Oracle DBA Checklist . Ensure that all *.-Verify free space in tablespaces . Ensure the space is released. Oracle DBA Checklist . .Daily Procedures Oracle DBA Checklist Oracle DBA Checklist .dmp files are in their proper locations and large *.• Check the machine for any disks 100% full or nearing that value. . • Ensure that there are no DBMS_JOBS with the status of failed or broken. . otherwise 'reload' listener. If a disk has filled up use the 'find' command to determine files which have been recently created/modified . • Check to ensure that no objects exist in the database with the status 'INVALID' Oracle DBA Checklist . Optional implementation: use Oracle Enterprise Manager's 'probe' event.dmp files have been compressed. Make sure to look under each managed database's SID.Daily Procedures .log file in the $ORACLE_HOME/network/log location if the listener log has increased to a size > than 500 MB. Also last refresh times of all running jobs should be current. • Run the 'recently created/modified objects' report to ensure that no unauthorised object creation/modification is taking place. If any ORA-errors have appeared since the previous time you looked.Verify all instances are up .Daily Procedures Make sure the database is available. Connect to each managed system. • Truncate the listener. At the prompt.log. Log into each instance and run daily reports or test scripts. note them in the Database Recovery Log and investigate each one.Look for any new alert log entries . The recovery log is in <file>. For each managed instance. go to the background dump destination.Daily Procedures . use the Unix 'tail' command to see the alert_ <SID>.
query on V$ROLLSTAT. and average daily growth can be calculated. the minimum free space for <repeat for each tablespace>: [ < tablespace > is < amount > ]. then your daily task should be to confirm that this happened correctly each day. This keeps the standby database up-to-date.Copy Archived Logs to Standby Database and Roll Forward . and install more disks> days' data growth. As of <date>. run space. Oracle DBA Checklist . If you have automated them. a) Go to each instance. can in some cases be automated. not OFFLINE or FULL. That view's STATUS field is less accurate than V$ROLLSTAT. . Compare to the minimum free MB for that tablespace.Monthly Procedures Review database file activity. a) Optional: each database may have a list of rollback segment names and their expected statuses. Oracle DBA Checklist . as it lacks the PENDING OFFLINE and FULL statuses.Verify success of database backup Verify success of database archiving to tape Verify enough resources for acceptable performance Verify free space in tablespaces. Compare to past output to identify trends that could lead to possible contention. however. When incoming data is stable. b) For current status of each ONLINE or FULL rollback segment (by ID not by name). get. Note any low-space conditions and correct. then the minimum free space should be at least <time to order.sql to check percentage free in tablespaces.Daily Procedures If you have a Standby Database. c) For storage parameters and names of ALL rollback segment.sql to check free mb in tablespaces. Compare to the minimum percent free for that tablespace. The copying of logs. For each instance. showing these as OFFLINE and ONLINE respectively. verify that enough free space exists in each tablespace to handle the day's expected growth. query on DBA_ROLLBACK_SEGS.-Verify rollback segment . copy the appropriate Archived Logs to the expected location on the standby machine and apply those logs (roll forward the changes) to the standby database. run free. except in some cases you may have a special rollback segment for large batch jobs whose normal status is OFFLINE. Oracle DBA Checklist . Note any low-space conditions and correct. or both. b) Go to each instance.Daily Procedures Status should be ONLINE. the applying of them.Look for I/O Contention .
Oracle DBA Checklist . sum ( blocks ) as free_blk .Space. pct_free. sum(blocks) AS sum_free_blocks . nr_free_chunks. count (*) as num_chunks FROM dba_free_space GROUP BY tablespace_name Oracle DBA Checklist .sq -.sql --.99') || '%' AS pct_free FROM ( SELECT tablespace_name .To check free. largest_free_chunk .Monthly Procedures Make the adjustments necessary to avoid contention for system resources.sql --. count(blocks) AS nr_free_chunks . This may include scheduled down time or request for additional resources.< tablespace_name> = <amount> m -SELECT tablespace_name.Minimum amount of free space -.free.Daily Procedures .space.sql -.Free. trunc ( sum ( bytes ) / (1024*1024) ) as free_m .Perform Tuning and Maintenance .To verify free space in tablespaces -. to_char(100*sum_free_blocks/sum_alloc_blocks. sum_alloc_blocks. sum(blocks) AS sum_alloc_blocks FROM dba_data_files GROUP BY tablespace_name ) . max ( bytes ) / (1024) as big_chunk_k. ( SELECT tablespace_name AS fs_ts_name .document your thresholds: -. sum_free_blocks . and allocated space within a tablespace -SELECT tablespace_name. '09.Daily Procedures . Oracle DBA Checklist . max(blocks) AS largest_free_chunk .
END .FROM dba_free_space GROUP BY tablespace_name ) WHERE tablespace_name = fs_ts_name Oracle DBA Checklist .spacebound.segment_type .sql --.owner.Daily Procedures . / Oracle DBA Checklist . s.spacebound.max_extents (thus only objects we *expect* to be big -. count(*) as nr_extents . e.segment_name .Daily Procedures . to_char ( sum ( e. e.max_extents .max_extents HAVING count(*) > &THRESHOLD OR ( ( s.count(*) ) < &&THRESHOLD ) ORDER BY count(*) desc Oracle DBA Checklist .sql -- .Daily Procedures . e. and manually upgrade it to allow unlimited -.sql -.nr_extents.segment_name GROUP BY e.(do not use this script if you are performing the overnight -.sql --.90') as MB FROM dba_extents e . s.999.bytes ) / ( 1024 * 1024 ) .are allowed to become big) -8 SELECT e. 5 ) .collection of volumetric data) -BEGIN dbms_utility.segment_name = s.max_extents .sql -. dba_segments s WHERE e.analyze5pct.analyze_schema ( '&OWNER'. 'ESTIMATE'. NULL.analyze5pct.To find out any object reaching <threshold> -. e.owner.sql -. using a 5% sample size -.segment_name .nr_extents.To analyze tables and indexes quickly.segment_type .extents. '999.
table_name. Records are written to a SYSowned table named AUD$. Auditing information is not collected without some impact on performance and database resources. If all is well. max(bytes) as big_chunk FROM dba_free_space GROUP BY tablespace_name ) f WHERE f.Then use coalesce (alter tablespace coalesce. add another datafile to the tablespace if needed. It is best to start out with high-level auditing and then refine additional auditing as needed. a. ( SELECT tablespace_name.tablespace_name AND a. -. Auditing can only be performed for users connected directly to the database and not for actions on a remote database. -SELECT a.tablespace_name = a.next_extent > f. setting high-level auditing such as connection activity will not have as much of a performance impact as tracking all SQL statements issued by all users. look at value of NEXT extent -. or changed without authorization There are three types of auditing: Statement Auditing .size to figure out what happened. a.big_chunk Auditing the Database Auditing the Database . -.To identify space-bound objects.Lastly. or quotas Excessive deadlocks are encountered Records are being read. The audit records provide information on who performed what database operation and when it was performed.AUD$ table is commonly referred to as the audit trail. How much of an impact auditing will have on your system depends largely on the type of auditing you enable.). For example. The SYS. deleted. tablespace settings. It enables the DBA to track user activity within the database.next_extent.Overview Auditing is a method of recording database activity as part of database security. -.If any space-bound objects are found.tablespace_name FROM all_tables a.-. no rows are returned. Auditing should be enabled if the following types of questionable activities are noted: Unexplained changes in passwords.
SET ROLE. DROP USER CREATE (or REPLACE) VIEW. Shortcut Option Statement Equivalent CONNECT RESOURCE Equivalent to setting auditing for SESSION Equivalent to setting auditing for ALTER SYSTEM. DROP TABLE CREATE TABLESPACE. are: CONNECT RESOURCE DBA ALL The list below shows the statements audited by each of these shortcuts. DATABASE LINK. ALTER ROLE. The list below shows the statements that can be audited.Statement auditing is the tracking of SQL statements issued by database users. Option Commands Included ALTER SYSTEM CLUSTER DATABASE LINK INDEX NOT EXISTS PROCEDURE ALTER SYSTEM CREATE CLUSTER. DROP TABLESPACE CREATE TRIGGER. ALTER TABLE. DROP PUBLIC DATABASE LINK CREATE PUBLIC SYNONYM. DROP DATABASE LINK CREATE INDEX. CREATE (or REPLACE) PACKAGE. DROP VIEW PUBLIC DATABASE LINK PUBLIC SYNONYM ROLE ROLLBACK SEGMENT SEQUENCE SESSION SYNONYM SYSTEM AUDIT SYSTEM GRANT TABLE TABLESPACE TRIGGER USER VIEW In addition to the statement auditing options shown above. NOAUDIT GRANT SYSTEM PRIVILEGES/ROLES TO USER/ROLE. To enable or disable auditing on SQL statements. ALTER INDEX. DROP SEQUENCE All connections and disconnections CREATE SYNONYM. DROP ROLE CREATE ROLLBACK SEGMENT. DROP PUBLIC SYNONYM CREATE ROLE. sometimes referred to as audit shortcuts. CREATE (or REPLACE) PACKAGE BODY. ALTER ROLLBACK SEGMENT. ALTER USER. AND DROP CLAUSES CREATE USER. you must have the AUDIT system privilege. ENABLE OR DISABLE. DROP SYNONYM AUDIT. CREATE (or REPLACE) PROCEDURE. DISABLE. DROP ROLLBACK SEGMENT CREATE SEQUENCE. ALTER TABLE WITH ENABLE. DROP INDEX All SQL statements that return an Oracle error because the specified structure or object does not exist CREATE (or REPLACE) FUNCTION. DROP PACKAGE. ALTER TRIGGER. CLUSTER. TRUNCATE CLUSTER. there are several options that will create audit records for a combination of statements. ALTER TABLESPACE. . These options. ALTER CLUSTER. REVOKE SYSTEM PRIVILEGES/ROLES FROM USER/ROLE CREATE TABLE. DROP PROCEDURE CREATE PUBLIC DATABASE LINK. DROP CLUSTER CREATE DATABASE LINK.
DATABASE LINK. SEQUENCE. to audit the DELETE ANY TABLE system privilege. VIEW DBA ALL Equivalent to setting auditing for ALTER SYSTEM. you must have the AUDIT system privilege. SYNONYM. For example. you would issue the following command: AUDIT DELETE ANY TABLE BY ACCESS WHENEVER SUCCESSFUL. SYSTEM GRANT. RESOURCE. These shortcuts are provided for compatibility with earlier versions of Oracle and may not be supported in future versions. and USER Equivalent to auditing all statement options The audit shortcuts are useful for setting up auditing for multiple options with one command. . PUBLIC SYNONYM. and DBA. Privilege Auditing Privilege auditing is the tracking of SQL statements issued by users who have been granted the right to execute that statement through a system privilege. will audit all the commands listed for ALTER SYSTEM. SYNONYM. PROCEDURE. ROLLBACK SEGMENT. To enable or disable auditing on SQL statements. PUBLIC DATABASE LINK. TABLESPACE. TABLE. Be careful that you do not confuse these with the roles named CONNECT. ROLLBACK SEGMENT. TABLESPACE. Privilege audit options match the corresponding system privileges. SEQUENCE. TABLE. For example AUDIT RESOURCE WHENEVER NOT SUCCESSFUL. and VIEW for all users when the command does not successfully complete.PROCEDURE. CLUSTER. ROLE.
This action might not be possible to undo. Are you sure you want to continue?