2026-03-12 20:23:15
This commit is contained in:
92
idev/sp_auto.sql
Normal file
92
idev/sp_auto.sql
Normal file
@@ -0,0 +1,92 @@
|
||||
-- +----------------------------------------------------------------------------+
|
||||
-- | Jeffrey M. Hunter |
|
||||
-- | jhunter@idevelopment.info |
|
||||
-- | www.idevelopment.info |
|
||||
-- |----------------------------------------------------------------------------|
|
||||
-- | Copyright (c) 1998-2012 Jeffrey M. Hunter. All rights reserved. |
|
||||
-- |----------------------------------------------------------------------------|
|
||||
-- | DATABASE : Oracle |
|
||||
-- | FILE : sp_auto.sql |
|
||||
-- | CLASS : Statspack |
|
||||
-- | PURPOSE : This script is responsible to configuring a DBMS Job to be run |
|
||||
-- | at the top of each hour to execute a Statspack snapshot. |
|
||||
-- | NOTE : As with any code, ensure to test this script in a development |
|
||||
-- | environment before attempting to run it in production. |
|
||||
-- +----------------------------------------------------------------------------+
|
||||
|
||||
prompt
|
||||
prompt =========================================================================
|
||||
prompt The following script will create a new DBMS Job to be run at the top
|
||||
prompt of each hour. The job will perform a Statspack snapshot using the
|
||||
prompt Oracle supplied STATSPACK package.
|
||||
prompt
|
||||
prompt Note that this script should be run as the owner of the
|
||||
prompt STATSPACK repository. (i.e. PERFSTAT)
|
||||
prompt This script will prompt you for the PERFSTAT password.
|
||||
prompt
|
||||
prompt Also note that in order to submit and run a job, the init.ora parameter
|
||||
prompt job_queue_processes must be set to a value greater than zero.
|
||||
prompt =========================================================================
|
||||
prompt
|
||||
prompt Hit [ENTER] to continue or CTRL-C to cancel ...
|
||||
pause
|
||||
|
||||
prompt Supply the password for the PERFSTAT user:
|
||||
connect perfstat
|
||||
|
||||
|
||||
-- +------------------------------------------------------------------------+
|
||||
-- | SCHEDULE A SNAPSHOT TO BE RUN ON THIS INSTANCE EVERY HOUR, ON THE HOUR |
|
||||
-- +------------------------------------------------------------------------+
|
||||
|
||||
VARIABLE jobno NUMBER;
|
||||
VARIABLE instno NUMBER;
|
||||
|
||||
BEGIN
|
||||
|
||||
SELECT instance_number into :instno
|
||||
FROM v$instance;
|
||||
|
||||
DBMS_JOB.SUBMIT(:jobno, 'statspack.snap;', trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno);
|
||||
|
||||
COMMIT;
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
prompt
|
||||
prompt
|
||||
prompt +----------------------------------+
|
||||
prompt | JOB NUMBER |
|
||||
prompt |------------------------------------------------------------------+
|
||||
prompt | The following job number should be noted as it will be required |
|
||||
prompt | when modifying or removing prompt the job: |
|
||||
prompt +------------------------------------------------------------------+
|
||||
prompt
|
||||
print jobno
|
||||
|
||||
|
||||
prompt
|
||||
prompt
|
||||
prompt +----------------------------------+
|
||||
prompt | JOB QUEUE PROCESS CONFIGURATION |
|
||||
prompt |------------------------------------------------------------------+
|
||||
prompt | Below is the current setting of the job_queue_processes init.ora |
|
||||
prompt | parameter - the value for this parameter must be greater than 0 |
|
||||
prompt | to use automatic statistics gathering: |
|
||||
prompt +------------------------------------------------------------------+
|
||||
prompt
|
||||
show parameter job_queue_processes
|
||||
|
||||
prompt
|
||||
prompt
|
||||
prompt +----------------------------------+
|
||||
prompt | NEXT SCHEDULED RUN |
|
||||
prompt |------------------------------------------------------------------+
|
||||
prompt | The next scheduled run for this job is: |
|
||||
prompt +------------------------------------------------------------------+
|
||||
prompt
|
||||
SELECT job, next_date, next_sec
|
||||
FROM user_jobs
|
||||
WHERE job = :jobno;
|
||||
|
||||
Reference in New Issue
Block a user