`
darkjune
  • 浏览: 308501 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

PL/SQL 对AQ 进行enqueue操作样例

阅读更多
DECLARE 

    text        varchar2(32767); 
    agent       sys.aq$_agent   := sys.aq$_agent(' ', null, 0); 
    message     sys.aq$_jms_text_message; 

    enqueue_options    dbms_aq.enqueue_options_t; 
    message_properties dbms_aq.message_properties_t; 

    msgid               raw(16); 

BEGIN 

    message := sys.aq$_jms_text_message.construct; 
    message_properties.expiration :=5;
    message.set_replyto(agent); 
    message.set_type('tkaqpet2'); 
    message.set_userid('test'); 

    message.set_groupseq(1); 


    message.set_boolean_property('import', True); 
    message.set_string_property('color', 'RED'); 
    message.set_short_property('year', 1999); 
    message.set_long_property('mileage', 300000); 
    message.set_double_property('price', 16999.99); 
    message.set_byte_property('password', 127); 

    FOR i IN 1..5 LOOP 
        text := CONCAT (text, '1234567890'); 
    END LOOP; 

    message.set_text(text); 

    dbms_aq.enqueue(queue_name => 'test.test1', 
                       enqueue_options => enqueue_options, 
                       message_properties => message_properties, 
                       payload => message, 
                       msgid => msgid); 

END;

分享到:
评论

相关推荐

    oracle 诊断事件内容列表

    用于诊断并发控制和锁定问题,如enqueue/deenqueue操作。 19. **Event 10710 - 跟踪位图索引访问** 位图索引在处理大量重复值时很有效,这个事件有助于理解其工作原理和性能。 20. **Event 10928 - 跟踪PL/SQL...

    Oracle AQ使用实例

    我们可以使用 dbms_aq.enqueue 过程来实现 Enqueue 操作。 declare enqopt dbms_aq.enqueue_options_t; mprop dbms_aq.message_properties_t; enq_msgid RAW(16); begin dbms_aq.enqueue( queue_name => ’bz_...

    怎么快速查找锁与锁等待

    为了快速定位哪些会话正在进行锁操作,可以使用以下SQL查询: ```sql SELECT /*+RULE*/ s.username, DECODE(l.type, 'TM', 'TABLELOCK', 'TX', 'ROWLOCK', NULL) AS LOCK_LEVEL, o.owner, o.object_name, o....

    30种oracle常见的等待事件说明.zip_oracle

    在Oracle数据库管理中,性能优化是一项至关重要的任务。等待事件是理解数据库性能瓶颈的关键,它们提供了关于...对每个事件进行深入分析,结合实际情况调整数据库参数和操作模式,可以显著提高系统的响应时间和吞吐量。

    library cache lock等待事件

    Pin操作通常发生在解析SQL语句或执行PL/SQL代码时,确保相关数据在需要时始终在内存中可用。 Oracle使用enqueue机制来管理这些锁和pin。每个handle都有对应的lock和pin的持有者列表(holder list)和等待者列表...

    利用Oracle AQ实现数据异步操作.pdf

    例如,创建名为aqdev的用户,并赋予连接、资源以及执行DBMS_AQ和DBMS_AQADM等相关权限的权限,这通常需要以系统管理员角色进行。以下是一段创建用户并授予权限的SQL代码示例: ```sql CREATE USER aqdev IDENTIFIED...

    Enqueue Waits

    3. **Library Cache Locks**:当执行SQL语句时,Oracle会尝试从库缓存中找到已编译的执行计划,如果没有则需要创建新的执行计划,并对其进行锁定。 4. **DML Locks (数据锁定)**:包括行锁、表锁等,用于保护数据行...

    数据库日常维护SQL

    - **Library Cache**:Oracle内存结构的一部分,用于缓存SQL语句和其他PL/SQL代码。 - **Pin/Lock Pile Up**:当多个会话尝试同时解析相同的SQL语句时,可能会发生Pin/Lock堆积现象。 **应用场景**: - 监控并解决...

    ToHaveADream#AndroidKnowledgeSystem-1#4.队列1

    // 入队public boolean enqueue(String item) {// 如果tail == n 表示队列已经满了// 出队public Str

    Oracle数据库操作文档

    ### Oracle数据库操作详解 #### 一、创建与配置数据库 ...以上是Oracle数据库操作的一些基本步骤和技术要点,希望对您有所帮助。在实际操作过程中,还需要根据具体的业务需求和技术背景进行适当的调整。

    基于Oracle高级队列技术实现应用程序间的通信.pdf

    同样可以对消息进行审计和跟踪,利用索引可以更好地优化消息管理。 Oracle 高级队列技术的消息传递机制大致如下:消息“生产者”把消息装入队列(称为 Enqueue,入列),消息“消费者”从队列中取消息(称为 ...

    oracle 11g ,navicat使用

    Navicat则是一款多平台的数据库管理工具,支持包括Oracle在内的多种数据库,提供图形化的用户界面,方便用户进行数据查询、管理、备份和同步等操作。 在Oracle 11g中,主要包含以下核心知识点: 1. 数据库架构:...

    精通oracle 10g系统管理

    3. **SQL与PL/SQL**:SQL是操作Oracle数据库的基础,包括数据查询、插入、更新和删除。PL/SQL是Oracle特有的编程语言,用于编写存储过程、函数和触发器,提升数据库应用的效率和安全性。 4. **性能监控与优化**:...

    NoHttp使用文档-062209301

    这个框架提供了简单易用的API,支持HTTP请求,包括GET、POST等常见操作,并且支持文件上传、下载、JSON数据处理等功能。NoHttp有两种底层实现:默认使用HttpURLConnection,也可切换到OkHttp。 ### 初始化与配置 ...

    java实现二叉树程序

    java用队列实现的二叉树程序//... public void enqueue(E e); //出队 public E dequeue(); //取队列第一个 public E front(); //队列是否为空 public boolean isEmpty(); //队列大小 public int size();

    datastructure.js:Javascript 中的 DataStructures 实现

    enqueue ( 1 ) console . log ( queue . all ( ) ) // [1] queue . enqueue ( 2 ) console . log ( queue . all ( ) ) // [1, 2] queue . add ( 3 ) console . log ( queue . all ( ) ) // [1, 2, 3] console . log...

    mysql5.7连接执行过程1

    检查是否存在休眠是通过 `check_idle_thread_and_enqueue_connection()` 函数来实现的,该函数位于 `sql/conn_handler/connection_handler_per_thread.cc` 文件中。 线程回调函数 在连接执行过程中,MySQL 需要...

    oca 052 Oracle

    10. 应用程序开发支持:Oracle 11g支持多种开发语言,如PL/SQL、Java和.NET。PL/SQL增强包括块的匿名定义、游标变量和异常处理。 以上只是Oracle 11g部分关键特性和知识点的概述。全面掌握这些内容,对于通过OCA ...

    DBA 日常运维经典SQL

    DBA 在日常运维中经常需要使用 SQL 查询语句来判断系统问题,本文将总结一些经典的 SQL 查询语句,帮助 DBA 进行系统维护。 1. 查询有 enqueue 等待的事件 该查询语句用于查询当前系统中有 enqueue 等待的事件,...

    魔王语言和异或译码(源码)

    bool EnQueue(SqQueue *Q,QElemType &e);//入队 bool DeQueue(SqQueue *Q,QElemType &e);//出队 #define BUFFSIZE 512 //缓存大小 #define ADDBUFFSIZE 64 //重新分配缓冲区时应当加的大小 #define min(a,b) (((a)...

Global site tag (gtag.js) - Google Analytics