精华内容
下载资源
问答
  • 在网上查了,这是是由于dblink引起的。很奇怪的问题,在pl/sql上直接查询没有问题,到业务环节就报错。如下是本次异常的解决步骤。 1、修改dblink为shared模式。 》drop database link demoDBK ...

    在网上查了,这是是由于dblink引起的。很奇怪的问题,在pl/sql上直接查询没有问题,到业务环节就报错。如下是本次异常的解决步骤。

    1、修改dblink为shared模式。

    》drop database link demoDBK
    》create  shared database link demoDBK
      connect to APPS identified by szgtuat
      authenticated by APPS identified by szgtuat
      using '192.168.1.91:1522/UAT';
    

    2、创建同义词

    ####在不创建同义词的情况下只能通过   表名@demoDBK的形式访问远程数据库
    create public synonym CUX_GS_PO_HEADERS_ALL_V for CUX_GS_PO_HEADERS_ALL_V@SZGT_ERP_MID_SHARE;
    
    展开全文
  • 之前写过一篇《比ORA-24777: 不允许使用不可移植的数据库链路更让人郁闷的事情》,今天又出现 了,但没有用到dblink啊。  有一个数据库下面有两个用户A和B,A通过同义词访问B,大概有一百张表,奇怪的是只有一张表...

        之前写过一篇《比ORA-24777: 不允许使用不可移植的数据库链路更让人郁闷的事情》,今天又出现 了,但没有用到dblink啊。

        有一个数据库下面有两个用户A和B,A通过同义词访问B,大概有一百张表,奇怪的是只有一张表(TTT)操作不成功,报ORA-24777: 不允许使用不可移植的数据库链路,其他的表都没有问题,系统是用的XA驱动。

         诊断过程:

         1. 在用户B上查看这张TTT的定义,与其他的表的区别就是有blob字段。

         2. 在用户A上删除TTT的同义词,建一个与其结果一模一样的,确认功能是没有问题。

         3. 基本确定是blob字段的影响,这里没有dblink,但错误不会欺骗人,测试一下通过dblink访问。建立dblink,重新建立同义词

          CREATE SHARED DATABASE LINK dblink_to_B
            CONNECT TO B IDENTIFIED BY B
            AUTHENTICATED BY B IDENTIFIED BY B
            USING '10.10.23.12:1521/orcl';

          保存成功,读取失败

         4.测试到这里可以出解决方案了。插入用dblink,用一个同义词名,查询就用同义词B.TTT查询。

         5.还有一个解决方案,把系统的XA驱动换成thin驱动,但系统要做全功能测试,不太现实。

        

         总结:在同一个数据库下,A用户向B用户的表插入blog,如果是通过同义词的话,是通过dblink的技术实现的。

    展开全文
  •  java.sql.BatchUpdateException: ORA-24777: 不允许使用不可移植的数据库链路  at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10317)  at oracle.jdbc.
       现场有一个同步功能报错,内容如下: 
    
       java.sql.BatchUpdateException: ORA-24777: 不允许使用不可移植的数据库链路
       at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10317)
       at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:216)
       at weblogic.jdbc.wrapper.PreparedStatement.executeBatch(PreparedStatement.java:210)

       1.了解了一下功能,大致如下:
          有A、B两个数据库,在A数据库上建了一个dblink,在XA的JDBC驱动下,通过dblink就会出现这种错误。

       2.此错误有些生僻,直接查metalink见附录。两种解决方案供选择:
        a. Configure the database to allow the use of shared servers

             ALTER SYSTEM SET DISPATCHERS="(PROTOCOL=TCP)" scope=both;

             ALTER SYSTEM SET SHARED_SERVERS = 10 scope=both;

        b. Define the database link being utilised as a shared database link,一定不要加public
         CREATE SHARED DATABASE LINK dblink_name
        [CONNECT TO username IDENTIFIED BY password]|[CONNECT TO CURRENT_USER]
        AUTHENTICATED BY schema_name IDENTIFIED BY password
         [USING 'service_name'];

       3.现场调整
          先用a方案在B数据库上调整了,用b方案在A数据库上做了调整,测试不行。再用a方案在A数据库上调整了,测试还是不行。

       4.到现场发现问题
          发现同义词不对,就是没有用到这个shared的dblink,艹,这太让人郁闷了,调了半天,没有用到。
      
       我认为的结论是:只要把A库中的dblink改为shared的方式就可以了。
         

    Using Database Links in Oracle XA Applications

    Oracle XA applications can access other Oracle Database instances through database links with these restrictions:

    • They must use the shared server configuration.

      The transaction processing monitors (TPMs) use shared servers to open the connection to an Oracle Database A. Then the operating system network connection required for the database link is opened by the dispatcher instead of a dedicated server process. This allows different services or threads to operate on the transaction.

      If this restriction is not satisfied, then when you use database links within an XA transaction, it creates an operating system network connection between the dedicated server process and the other Oracle Database B. Because this network connection cannot be moved from one dedicated server process to another, you cannot detach from this dedicated server process of database A. Then when you access the database B through a database link, you receive an ORA-24777 error.

    • The other database being accessed must be another Oracle Database.

    If these restrictions are satisfied, Oracle Database allows such links and propagates the transaction protocol (prepare, rollback, and commit) to the other Oracle Database instances.

    If using the shared server configuration is not possible, then access the remote database through the Pro*C/C++ application by using EXECSQL AT syntax.

    The init.ora parameter OPEN_LINKS_PER_INSTANCE specifies the number of open database link connections that can be migrated. Thesedblink connections are used by XA transactions so that the connections are cached after a transaction is committed. Another transaction can use the database link connection if the user who created the connection also created the transaction. This parameter is different from the init.ora parameter OPEN_LINKS, which specifies the maximum number of concurrent open connections (including database links) to remote databases in one session. The OPEN_LINKS parameter does not apply to XA applications.


    转到底部转到底部

    In this Document

    Symptoms
     Cause
     Solution

    This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.

    APPLIES TO:

    Oracle Server - Enterprise Edition - Version 10.2.0.5 to 11.2.0.3 [Release 10.2 to 11.2]
    Information in this document applies to any platform.

    SYMPTOMS

    ORA-24777 reported by a JDBC/XA application when utilising a database link between two Oracle databases.

    CAUSE

    An ORA-24777 is a warning that you are trying to utilise a database link within an XA coordinated transaction and the connection to the source database which is trying to use the database link has been made through a dedicated server connection.

    This is not allowed and this is documented in following entry

    As per http://docs.oracle.com/cd/E11882_01/appdev.112/e25518/adfns_xa.htm#ADFNS809

    in the following section 'Using Database Links in Oracle XA Applications'
    .
     

    SOLUTION

    Two options

    1. Configure the database to allow the use of shared servers and then let the application use these as per the following documentation

    http://docs.oracle.com/cd/E11882_01/server.112/e25494/manproc003.htm#ADMIN00502

    or establish whether the Java application needs to start an XA transaction.

    OR

    2. Define the database link being utilised as a shared database link, i.e,

    CREATE SHARED DATABASE LINK ..

    as per

    http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_5005.htm#SQLRF01205


    展开全文
  • /*oracle通用share远程连接其他用户数据库的dblink脚本*/ create SHARED PUBLIC database link linkname connect to name identified by password AUTHENTICATED BY name IDENTIFIED BY passwordusing '...

    /*oracle通用share远程连接其他用户数据库的dblink脚本*/

    create SHARED PUBLIC database link linkname
    connect to name identified by password
    AUTHENTICATED BY name IDENTIFIED BY password
    using '(DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.99.144)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = orcl)
    )
    )';

    转载于:https://www.cnblogs.com/faith-live/archive/2013/01/11/2856289.html

    展开全文
  • ORA-24777:

    2012-08-01 09:38:02
    今天遇到了ORA-24777错误,通过METALINK ORA-24777: use of non-migratable database link not allowedCause: The transaction, whi...
  • java.sql.BatchUpdateException:ORA-24777:不同意使用不可移植的数据库链路 atoracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10317) atoracle...
  • 12C ORA-错误汇总12 ORA-24280 to ORA-28709

    万次阅读 2016-03-02 21:44:14
    ORA-24280: invalid input value for parameter string Cause: The parameter has been provided a negative, out of range, or NULL input value. Action: Correct the input value such that it is valid, and
  • 12C ORA 错误汇总12 ORA 24280 to ORA 28709

    千次阅读 2018-11-05 00:39:28
    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!   ... ORA-24280:
  • ORA-24280: パラメータstringの入力値が無効です。 原因: パラメータの入力値に負の数、範囲外またはNULLが指定されました。 処置: ドキュメントの記述に従って、入力値を有効かつ範囲内に修正してください。 ORA-...
  • Oracle Database Server Messages(四) . . .

    千次阅读 2014-02-24 18:21:07
    ORA-24280 to ORA-29249 ORA-24280 invalid input value for parameter string Cause: The parameter has been provided a negative, out of range, or NULL input value. Action: Correct the...
  • ORA-24777 reported when using a database link from within an XA coordinated transaction (Doc ID 1506756.1) Solution from document; Two options 1. Configure the database to allow the use of shared...
  • Error "ORA-24777: Use Of Non-Migratable Database Link Not Allowed" Using Oracle XA Datasource When Executing a Select via Database Link. (Doc ID 879543.1) 对于这个问题在10g版本中确实存在,而且work...
  • 大数据去重bitmap以及布隆过滤器

    万次阅读 2019-03-18 23:25:26
    布隆过滤器 https://blog.csdn.net/weixin_38336658/article/details/84981204 存在误差,而且随着数量的增加,空间复杂度也随着增加 bitmap java使用bitset进行实现 具体demo package ...
  • 我使用的是jboss5.1.x,EJB3.0,JPA3.我试图从视图中“选择”查询,该视图通过dblink连接到另一...我收到此错误:15:27:06,625 WARN [JDBCExceptionReporter] SQL Error: 24777, SQLState: 9999915:27:06,625 ERROR [J...
  • nam='db file sequential read' ela= 7367 p1=143 p2=26994 p3=1 WAIT #4: nam='global cache open x' ela= 399 p1=144 p2=24777 p3=504403163617368128 WAIT #4: nam='global cache open x' ela= 19 p1=144 p2=...
  • 执行数据导入时报:ORA-24777: 不允许使用不可移植的数据库链路
  • XA中使用dblink发现的一个oracle bug

    千次阅读 2015-06-12 18:16:17
    ORA-24777:不允许使用不可移植的数据库链路。 跟踪程序进去发现是通过dblink查询某个远程库表,而且由于使用了XA分布式事务数据库连接。大家也许都知道XA有不少限制条件,之前也遇到过,都绕着走了。但是最近没有...
  •  control_files = /ora/db001/data001/SIAP/control01SIAP.ctl, /ora/db001/redo002/SIAP/control02SIAP.ctl, /ora/db001/redo001/SIAP/control03SIAP.ctl  control_file_record_keep_time= 30  db_block_...

空空如也

空空如也

1 2
收藏数 22
精华内容 8
热门标签
关键字:

ora-24777