The aim of my blog is to explain oracle concepts simply and practically, also to become proficient in the Oracle Technology.
Tuesday, June 14, 2016
DBMS_SCHEDULER
create table t(c1 number);
- Creating the job including program and schedule:
BEGIN
DBMS_SCHEDULER.CREATE_JOB(
job_name => 'JOB_NAME',
job_type => 'PLSQL_BLOCK',
job_action => 'BEGIN insert into t values(10); END;',
start_date => SYSTIMESTAMP,
repeat_interval=>'FREQUENCY=minutely;INTERVAL=1',
enabled => TRUE);
END;
/
- Create Program Separately:
BEGIN
DBMS_SCHEDULER.CREATE_PROGRAM(
program_name => 'PROG1',
program_type => 'PLSQL_BLOCK',
program_action => 'BEGIN insert into t values(10); END;',
enabled=>true
);
end;
/
- Creating the scheduler separately
BEGIN
DBMS_SCHEDULER.CREATE_SCHEDULE('Sc1',
start_date => SYSTIMESTAMP,
repeat_interval => 'FREQ=DAILY',
end_date => SYSTIMESTAMP +15);
END;
/
- Creating a job with the program and schedule:
BEGIN
DBMS_SCHEDULER.CREATE_JOB('Job2',
program_name => 'PROG1',
schedule_name => 'SC1',
enabled => TRUE);
END;
/
EXEC DBMS_SCHEDULER.DROP_JOB('SCOTT.JOB_NAME');
EXEC DBMS_SCHEDULER.RUN_JOB('SCHEMA.JOB_NAME');
EXEC DBMS_SCHEDULER.stop_JOB('SCHEMA.JOB_NAME');
Location:
Bengaluru, Karnataka 560001, India
View the tablespace usage
- View the tablespace usage
The query below is useful for showing how full each tablespace in a database.
(This works much like df on a filesystem. This query is just selecting the tablespace usage from a database).
SQL>
set pages 999col tablespace_name format a40col "size MB" format 999,999,999col "free MB" format 99,999,999col "% Used" format 999select tsu.tablespace_name, ceil(tsu.used_mb) "size MB", decode(ceil(tsf.free_mb), NULL,0,ceil(tsf.free_mb)) "free MB", decode(100 - ceil(tsf.free_mb/tsu.used_mb*100), NULL, 100, 100 - ceil(tsf.free_mb/tsu.used_mb*100)) "% used"from (select tablespace_name, sum(bytes)/1024/1024 used_mb from dba_data_files group by tablespace_name union all select tablespace_name || ' **TEMP**' , sum(bytes)/1024/1024 used_mb from dba_temp_files group by tablespace_name) tsu, (select tablespace_name, sum(bytes)/1024/1024 free_mb from dba_free_space group by tablespace_name) tsfwhere tsu.tablespace_name = tsf.tablespace_name (+)order by 4/If You prefer the output in gigabytes and doesn't bother about the TEMP tablespace:
SQL>
set pages 999col tablespace_name format a40col "size GB" format 999,999.99col "free GB" format 999,999.99col "% Used" format 999SELECT tsu.tablespace_name, tsu.used_gb "size GB", tsf.free_gb "free GB", DECODE(tsu.used_gb,0,100,100 - (tsf.free_gb/tsu.used_gb*100)) "% used"FROM ( SELECT tablespace_name, cast (sum(bytes)/power(1024,3) AS decimal(15,9)) used_gb FROM dba_data_files GROUP BY tablespace_name ) tsu, ( SELECT tablespace_name, cast (sum(bytes)/power(1024,3) AS decimal(15,9)) free_gb FROM dba_free_space GROUP BY tablespace_name ) tsfWHERE tsu.tablespace_name = tsf.tablespace_name (+)ORDER BY 4/
Labels:
Database,
Queries,
Scripts,
Tablespace
Location:
Bengaluru, Karnataka 560001, India
Subscribe to:
Comments (Atom)



