⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 create_bz_schema.lst

📁 oracle9i+j2ee开发aq oracle9i+j2ee开发aq oracle9i+j2ee开发aq
💻 LST
字号:
SQL> SQL> REM =======================================================SQL> REM CREATE USERsSQL> REM The user is assigned tablespaces and quota in separateSQL> REM ALTER USER statements so that the CREATE USER statementSQL> REM will succeed even if the &tbs and temp tablespaces doSQL> REM not exist.SQL> REM =======================================================SQL> SQL> REM =======================================================SQL> REM Create a common admin account for all AQ DemoSQL> REM =======================================================SQL> SQL> CREATE USER bz_adm IDENTIFIED BY &bz_adm_pass;User created.SQL> ALTER USER bz_adm DEFAULT TABLESPACE &tbs QUOTA UNLIMITED ON &tbs;User altered.SQL> ALTER USER bz_adm TEMPORARY TABLESPACE &ttbs;User altered.SQL> SQL> REM ALTER USER bz_adm DEFAULT TABLESPACE &tbs QUOTA ON &tbs UNLIMITED;SQL> REM ALTER USER bz_adm TEMPORARY TABLESPACE &ttbs;SQL> SQL> GRANT ALTER SESSION TO bz_adm;Grant succeeded.SQL> GRANT CREATE CLUSTER TO bz_adm;Grant succeeded.SQL> GRANT CREATE DATABASE LINK TO bz_adm;Grant succeeded.SQL> GRANT CREATE SEQUENCE TO bz_adm;Grant succeeded.SQL> GRANT CREATE SESSION TO bz_adm;Grant succeeded.SQL> GRANT CREATE SYNONYM TO bz_adm;Grant succeeded.SQL> GRANT CREATE TABLE TO bz_adm;Grant succeeded.SQL> GRANT CREATE VIEW TO bz_adm;Grant succeeded.SQL> GRANT CREATE CLUSTER TO bz_adm;Grant succeeded.SQL> GRANT CREATE INDEXTYPE TO bz_adm;Grant succeeded.SQL> GRANT CREATE OPERATOR TO bz_adm;Grant succeeded.SQL> GRANT CREATE PROCEDURE TO bz_adm;Grant succeeded.SQL> GRANT CREATE SEQUENCE TO bz_adm;Grant succeeded.SQL> GRANT CREATE TABLE TO bz_adm;Grant succeeded.SQL> GRANT CREATE TRIGGER TO bz_adm;Grant succeeded.SQL> GRANT CREATE TYPE TO bz_adm;Grant succeeded.SQL> GRANT aq_administrator_role TO bz_adm;Grant succeeded.SQL> GRANT EXECUTE ON dbms_aq TO bz_adm;Grant succeeded.SQL> GRANT EXECUTE ON dbms_aqadm TO bz_adm;Grant succeeded.SQL> SQL> SQL> REM =======================================================SQL> REM Create a user account for schema bzSQL> REM =======================================================SQL> SQL> CREATE USER bz IDENTIFIED BY &bz_pass;User created.SQL> GRANT CREATE SESSION TO bz;Grant succeeded.SQL> SQL> GRANT EXECUTE ON dbms_aq to bz;Grant succeeded.SQL> GRANT ExECUTE ON dbms_aqadm to bz;Grant succeeded.SQL> GRANT aq_user_role to bz;Grant succeeded.SQL> SQL> REM =======================================================SQL> REM Set AQ system parameters - JOB_QUEUE_PROCESSES andSQL> REM			    AQ_TM_PROCESSESSQL> REM =======================================================SQL> declare  2  	     n number;  3  begin  4  	     select value into n from v$parameter where name = 'job_queue_processes';  5  	     if (n = 0) then  6  		     execute immediate 'alter system set job_queue_processes = 2';  7  	     end if;  8  	     select value into n from v$parameter where name = 'aq_tm_processes';  9  	     if (n = 0) then 10  		     execute immediate 'alter system set aq_tm_processes = 2'; 11  	     end if; 12  end; 13  /PL/SQL procedure successfully completed.SQL> REM =======================================================SQL> REM Create objects - message, queuetable, queueSQL> REM =======================================================SQL> SQL> CONNECT bz_adm/&bz_adm_passConnected.SQL> @@bz_cr_msgtyp.sqlSQL> REM script name: bz_cr_msgtyp.sqlSQL> REM creates the bzcardorder_typ Object typeSQL> REMSQL> REM version: 9iSQL> SQL> REM =======================================================SQL> REM cleanup sectionSQL> REM =======================================================SQL> SQL> DROP TYPE bzcardorder_typ;DROP TYPE bzcardorder_typ*ERROR at line 1:ORA-04043: object BZCARDORDER_TYP does not exist SQL> SQL> REM =======================================================SQL> REM Creates the bzcardorder_type. Users using this type wouldSQL> REM need execute privilege on this typeSQL> REM =======================================================SQL> SQL> CREATE OR REPLACE TYPE bzcardorder_typ AS OBJECT (  2  	     employee_id     NUMBER(6),  3  	     first_name      VARCHAR2(20),  4  	     last_name	     VARCHAR2(25),  5  	     ordtyp	     VARCHAR(10));  6  /Type created.SQL> @@bz_cr_q.sqlSQL> REM script name: bz_cre.sqlSQL> REM Creates queue tables, queues - bzcardorders_qSQL> REM Starts the queueSQL> REMSQL> REM version: 9iSQL> REMSQL> SQL> REM =======================================================SQL> REM cleanup sectionSQL> REM =======================================================SQL> BEGIN  2    dbms_aqadm.stop_queue(queue_name => 'bzcardorders_q');  3    dbms_aqadm.drop_queue (  4  	     queue_name 	     => 'bzcardorders_q');  5    dbms_aqadm.drop_queue_table (  6  	     queue_table => 'bzcardorders_qt');  7  END;  8  /BEGIN*ERROR at line 1:ORA-24010: QUEUE BZ_ADM.BZCARDORDERS_Q does not exist ORA-06512: at "SYS.DBMS_AQADM_SYS", line 3125 ORA-06512: at "SYS.DBMS_AQADM", line 237 ORA-06512: at line 2 SQL> SQL> REM =======================================================SQL> REM Create queue tables, queues for BZADMSQL> REM =======================================================SQL> SQL>  execute dbms_aqadm.create_queue_table(	      -> 	  queue_table => 'bzcardorders_qt', -> 	  comment => 'Business Card Orders queue table',  -> 	  multiple_consumers => true, -> 	  queue_payload_type => 'bzcardorder_typ',-> 	  primary_instance => 1,-> 	  secondary_instance => 2);PL/SQL procedure successfully completed.SQL> SQL> SQL> REM =======================================================SQL> REM Create a queueSQL> REM =======================================================SQL> BEGIN  2  dbms_aqadm.create_queue (  3  	     queue_name 	     => 'bzcardorders_q',  4  	     queue_table	     => 'bzcardorders_qt');  5  END;  6  /PL/SQL procedure successfully completed.SQL> SQL> REM =======================================================SQL> REM start queueSQL> REM =======================================================SQL> BEGIN  2    dbms_aqadm.start_queue (  3  	     queue_name 	     => 'bzcardorders_q');  4  END;  5  /PL/SQL procedure successfully completed.SQL> SQL> REM Grant required privileges to user bz to perform AQ operationsSQL> @@bz_priv.sqlSQL> REM script name: bz_priv.sqlSQL> REM grants privileges to enqueue and dequeue to user bzSQL> REMSQL> REM version: 9.0.1SQL> REMSQL> SQL> REM ========================================================SQL> REM Grant Enqueue and Dequeue privilege on bzcardorders_q to queueSQL> REM to bz userSQL> REM ========================================================SQL> SQL> grant execute on bzcardorder_typ to bz;Grant succeeded.SQL> SQL> begin  2  dbms_aqadm.grant_queue_privilege(privilege => 'ALL',  3  				     queue_name => 'bzcardorders_q',  4  				     grantee => 'bz',  5  				     grant_option => TRUE);  6  end;  7  /PL/SQL procedure successfully completed.SQL> SQL> CONNECT bz_adm/&bz_adm_passConnected.SQL> @@bz_add_subscriber.sqlSQL> REM script name: bz_add_subscriber.sqlSQL> REM This script adds a subscriber to bzcardorders_qSQL> REMSQL> REM version: 9iSQL> SQL> REM =======================================================SQL> REM cleanup sectionSQL> REM =======================================================SQL> execute dbms_aqadm.remove_subscriber ( -> 	    queue_name => 'BZCARDORDERS_Q', -> 	    subscriber => sys.aq$_agent('SHIPPING',null,null)-> );BEGIN dbms_aqadm.remove_subscriber (  	  queue_name => 'BZCARDORDERS_Q',  	  subscriber => sys.aq$_agent('SHIPPING',null,null) ); END;*ERROR at line 1:ORA-24035: AQ agent SHIPPING is not a subscriber for queue BZ_ADM.BZCARDORDERS_Q ORA-06512: at "SYS.DBMS_AQADM_SYS", line 4475 ORA-06512: at "SYS.DBMS_AQADM", line 387 ORA-06512: at line 1 SQL> SQL> execute dbms_aqadm.remove_subscriber ( -> 	    queue_name => 'BZCARDORDERS_Q', -> 	    subscriber => sys.aq$_agent('BILLING',null,null)-> );BEGIN dbms_aqadm.remove_subscriber (  	  queue_name => 'BZCARDORDERS_Q',  	  subscriber => sys.aq$_agent('BILLING',null,null) ); END;*ERROR at line 1:ORA-24035: AQ agent BILLING is not a subscriber for queue BZ_ADM.BZCARDORDERS_Q ORA-06512: at "SYS.DBMS_AQADM_SYS", line 4475 ORA-06512: at "SYS.DBMS_AQADM", line 387 ORA-06512: at line 1 SQL> SQL> execute dbms_aqadm.remove_subscriber ( -> 	    queue_name => 'BZCARDORDERS_Q', -> 	    subscriber => sys.aq$_agent('RUSH_ORDER',null,null)-> );BEGIN dbms_aqadm.remove_subscriber (  	  queue_name => 'BZCARDORDERS_Q',  	  subscriber => sys.aq$_agent('RUSH_ORDER',null,null) ); END;*ERROR at line 1:ORA-24035: AQ agent RUSH_ORDER is not a subscriber for queue BZ_ADM.BZCARDORDERS_Q ORA-06512: at "SYS.DBMS_AQADM_SYS", line 4475 ORA-06512: at "SYS.DBMS_AQADM", line 387 ORA-06512: at line 1 SQL> REM =======================================================SQL> REM Add subscriber 'SHIPPING'and 'BILLING' to BZCARDORDERS_QSQL> REM =======================================================SQL> execute dbms_aqadm.add_subscriber ( -> 	    queue_name => 'BZCARDORDERS_Q', -> 	    subscriber => sys.aq$_agent('SHIPPING',null,null)-> );PL/SQL procedure successfully completed.SQL> SQL> quit;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -