9. conn /as sysdba
10. select sysdate from dual;
11. exit
12. EOF




1. [oracle@rhel6 ~]$ tail -f 1.txt
2. Copyright (c) 1982, 2005, Oracle. All rights reserved.
3.
4. SQL> Connected.
5. SQL>
6. SYSDATE
7. ---------------
8. 09-AUG-11
9.
10. SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
11. With the Partitioning, OLAP and Data Mining options
二:创建基于事件的任务和调度器
1. [oracle@rhel6 ~]$ sqlplus /nolog
2. SQL*Plus: Release 10.2.0.1.0 - Production on Tue Aug 9 11:38:06 2011
3. Copyright (c) 1982, 2005, Oracle. All rights reserved.
4. SQL> conn /as sysdba
5. Connected.
6. SQL> grant create type to hr;
7. Grant succeeded.
8. SQL> grant aq_administrator_role to hr;
9. Grant succeeded.
10. SQL> grant create job to hr;
11. Grant succeeded
12.
13. SQL> conn hr/hr
14. Connected.
15. SQL> CREATE TABLE event_schedule (
16. 2 id NUMBER(10) NOT NULL,
17. 3 created_date DATE NOT NULL,
18. 4 CONSTRAINT event_schedule_pk PRIMARY KEY (id)
19. 5* );
20. Table created.
21.
22. SQL> CREATE SEQUENCE seq_event;
23. Sequence created.
24.
25. SQL> CREATE OR REPLACE TYPE t_event_queue AS OBJECT ( event_name VARCHAR2(30) );
26. Type created.
27.
28. SQL> BEGIN
29. 2 -- Create a queue table to hold the event queue.
30. 3 DBMS_AQADM.create_queue_table(
31. 4 queue_table => 'event_queue_tab',
32. 5 queue_payload_type => 't_event_queue',
33. 6 multiple_consumers => TRUE,
34. 7 comment => 'Queue Table For Event Messages');
35. 8 -- Create the event queue.
36. 9 DBMS_AQADM.create_queue (
37. 10 queue_name => 'event_queue',
38. 11 queue_table => 'event_queue_tab');
39. 12 -- Start the event queue.
40. 13 DBMS_AQADM.start_queue (queue_name => 'event_queue');
41. 14* END;
42. PL/SQL procedure successfully completed
43.
44. SQL> BEGIN
45. 2 DBMS_SCHEDULER.create_job (
46. 3 job_name => 'event_based_job',
47. 4 job_type => 'PLSQL_BLOCK',
48. 5 job_action => 'BEGIN
49. 6 INSERT INTO event_schedule (id, created_date)
50. 7 VALUES (seq_event.NEXTVAL, SYSDATE);
51. 8 COMMIT;
52. 9 END;',
53. 10 start_date => SYSTIMESTAMP,
54. 11 event_condition => 'tab.user_data.event_name = ''give_me_a_job''',
55. 12 queue_spec => 'event_queue',
56. 13 enabled => TRUE);
57. 14* END;
58. PL/SQL procedure successfully completed.
59.
60. SQL> select * from event_schedule;
61. no rows selected
62.
63. SQL> DECLARE
6