Using database-link in view to get around ORA-01031 error

I have been granted select rights on a users table. I am therefore able to select from his table. If however I try create a view against his table I run into the ORA-01031 problem. I have worked around this problem by creating a database-link to myself and then adding that to the view creation and it works. What are the downsides of using the database-link in this way?

The only down side I have been able to identify is that a extra session is created and that the CPU has a little extra work due to the LOOP BACK that takes place. I need to ensure the network is not unnessesarly used and therefore will need to ensure that 127.0.0.1 (local host) is used in the database connection discription. e.g.
create database link my_db_link connect to scott identified by tiger using '(description=(address=(protocol=tcp)(host=127.0.0.1) (Port = 1521) ) (connect_data= (sid=ora10g)))';

Similar Messages

  • TNS-12666 error occures when using database link

    When I am trying to use database link
    defined in my database the following error occures:
    TNS-12666 Dedicated server: outbound transport protocol different from inbound.
    In documentation is stated to resolve such an error to
    specify the same protocol in the SQL*Net connect string or alias for the outbound connection as that used for the inbound connection.
    I have in tnsnames.ora defined network service name
    by which I can connect to such a database by SQL*Plus
    without any problems, why can I not do such a thing
    via database link?
    Thanks a lot for advise, ...

    Could you change the following entry in your 'sqlnet.ora' file and try?
    SQLNET.AUTHENTICATION_SERVICES = (NONE)

  • How to Execute a Remote Procedure in Portal using Database Link

    Hi,
    I followed the instructions to create a Portal form for a remote procedure. But I am encountering the following error. Can someone advise what may be the cause?
    Failed to execute - Missing string(create_package_body) language(us) domain (wwv) sub_domain (wwv_builder) (WWV-04300)
    ORA-04020: deadlock detected while trying to lock object PUBLIC.PORTLET_SCHEMA (WWV-11230)
    Failed to parse as PORTAL - (WWV-08300)
    PURPOSE
    How to execute a remote procedure in Portal using Database Link.
    DESCRIPTION
    This procedure assumes that you have two databases, one of which is remote, and Portal is configured in the other.
    Remote Database A:
    ==================
    1) Create a procedure as follows: Create or Replace PROCEDURE SCOTT.ADD_TWO_VALUES ( v_one IN NUMBER, v_two IN NUMBER, v_result OUT NUMBER) as begin v_result :=v_one+v_two; end; 2) Grant execute privileges to PUBLIC on the procedure.
    Database B (where Portal is configured): ========================================
    1) Create a public database link and choose to connect as a specific user (say SYSTEM). By default, in an Oracle 8i database, the "global_names" parameter in initSID.ora (or init.ora) file is set to "true". This Global Naming parameter enforces that a dblink has the same name as the database it connects to. Therefore, if the remote global database (A) name is "ora8.acme.com" then the database link should also be named as "ora8.acme.com".
    2) Create a synonym for the procedure in Database A. Make sure you fully qualify the procedure name in the remote database (like SCOTT.ADD_TWO_VALUES).
    3) Create a dynamic page to execute the procedure. The ORACLE tags in the dynamic page will look similar to the following: <ORACLE> DECLARE v_total NUMBER; BEGIN ADD_TWO_VALUES(:v_one,:v_two, v_total); htp.p('The total is => '); htp.p('<input type="TEXT" VALUE='||v_total||'>'); htp.para; htp.anchor('http://<machine.domain:port#>/pls/portal30/SCOTT.DYN_ADD_TWO_VALUES.show_parms', 'Re-Execute Procedure'); END; </ORACLE>
    4) Portal does not have an option to create a form based on a synonym. Therefore, if you want to create a form instead of a dynamic page, create a wrapper procedure and then create a form based on this procedure. For example: Create or Replace PROCEDURE PORTAL30.ADD_TWO_VALUES_PR ( v_one IN NUMBER, v_two IN NUMBER, v_total OUT NUMBER) as begin add_two_values(v_one, v_two, v_total); end;
    5) Grant execute privileges to PUBLIC on the procedure.

    hello...
    any input will welcomed... Thanks..

  • Adding user to the oracle database using database link - is it possible?

    Hi, i wolud like to manage my databases using one client. I easilly operate on my distriubuted tables but i have problem with creating users in distribiuted database. Is it possible to create users in distributed database using database links? or it have to be done locally using some stored procedures or sth similar?

    The SQL syntax of the CREATE USER statement doesn't support DB links, the only way to do it would be with stored procedures. There might be an Oracle SP for that or for generic remote execution of SQL, but I'm not familiar with such.

  • How to use database link in from6i?

    I can use database link in sql plus,but i can't use it in forms6i,why? thanks

    Don't know why.
    What I always do is create a synonym on the local database which points (through the db link) to the object on the other database.
    Regards,
    Meine

  • Why do I get a "ORA-01031: insufficient privileges" in my view creation?

    Why do I get a "ORA-01031: insufficient privileges" in my view creation for the table which exists in the same schema?
    Oracle version is 10g R2.
    connect cim/lion;
    create table cim.table1 (a number, b varchar2(10));
    create view cim.view1 as select * from cim.table1;
    create view cim.view1 as select * from cim.table1
    ERROR at line 1:
    ORA-01031: insufficient privileges

    Thanks it works now after giving CREATE VIEW permission to user CIM.
    This script was working fine in Oracle 10g R1.
    Looks like i need to execute the following GRANT permission explicitly
    grant create view to cim;

  • Why am I getting an ORA-04052 error when I try to compile a Procedure?

    Hi,
    The following procedure I'm getting an ORA-04052 error when I try to compile the following procedure.
    CREATE OR REPLACE PROCEDURE APPS.Find_String (
    pin_referenced_name IN dba_dependencies.referenced_name%TYPE)
    IS
    cursor cur_get_dependancy
    is
    SELECT distinct owner, name, type
      FROM [email protected]        -- prod.world
    WHERE lower(referenced_name) = lower(pin_referenced_name) --'ftbv_salesrep_all_1d'
       AND referenced_type <> 'SYNONYM'
       AND owner <> 'SYS'
    order by name;
    v_owner  varchar2(40);
    v_name   varchar2(50);
    v_type   varchar2(40);
        BEGIN
           dbms_output.put_line(upper(pin_referenced_name)||' is found in the following objects.');
           dbms_output.put_line(' ');
           dbms_output.put_line(RPAD('OWNER', 30, ' ')||RPAD('NAME', 60, ' ')||RPAD('OBJECT TYPE', 30, ' '));
           dbms_output.put_line('-------------------------------------------------------------------------------------------------------------------');
            FOR i IN cur_get_dependancy
            LOOP
                v_owner := RPAD(i.owner, 30, ' ');
                v_name  := RPAD(i.name, 45, ' ');
                v_type  := RPAD(i.type, 30, ' ');
                dbms_output.put_line(v_owner ||v_name|| v_type);
            END LOOP;
    END find_string;I'm using the link [email protected]. The procedure compiles for other database links used in the cursor including the one commented to the right of the code 'prod.world'.
    What's even stranger is that I took the SELECT statement
    SELECT distinct owner, name, type
      FROM [email protected]        -- prod.world
    WHERE lower(referenced_name) = lower(pin_referenced_name) --'ftbv_salesrep_all_1d'
       AND referenced_type <> 'SYNONYM'
       AND owner <> 'SYS'
    order by name;out of the procedure and ran it on the command line using the @pinp.world link, the SQL statement ran just fine. But when I tried to compile the above procedure with that exact same SQL statement with the exact same link I get the following string of errors.
    ORA-04052: error occurred when looking up remote object [email protected]
    ORA-00604: error occurred at recursive SQL level 1
    ORA-02068: following severe error from PINP
    ORA-03113: end-of-file on communication channelHow can the link work just fine in a regular SQL statement but then cause an error when its compiled in code that otherwise compile just fine when using any other link or even just a plain database. Does anyone have any suggestions?

    OK Justin,
    Here's the query by itself run in another database using the @pinp.world link and querying the dba_dependencies table in the pinp.world database. As you can see the query using this link works just fine returning the requested rows. I can't figure out why the compiler is having an issue with essentially this same query when I try to compile it in a cursor in TOAD. Also this is the database (dev1.world) that I'm trying to compile this Procedure in.
    By the way I'm in an Oracle 9.2.0.6 database and TOAD v9.2.
    SQL> conn apps/apps1@dev1
    Connected.
    SQL> SELECT distinct owner, name, type
      2    FROM [email protected]
      3   WHERE lower(referenced_name) = lower('ALL_USERS')
      4     AND referenced_type <> 'SYNONYM'
      5     AND owner <> 'SYS'
      6   order by name;
    OWNER                          NAME                           TYPE
    PUBLIC                         ALL_USERS                      SYNONYM
    XDB                            DBMS_XDBUTIL_INT               PACKAGE BODY
    XDB                            DBMS_XDBZ0                     PACKAGE BODY
    SYSTEM                         MVIEW_EVALUATIONS              VIEW
    SYSTEM                         MVIEW_EXCEPTIONS               VIEW
    SYSTEM                         MVIEW_FILTER                   VIEW
    SYSTEM                         MVIEW_LOG                      VIEW
    SYSTEM                         MVIEW_RECOMMENDATIONS          VIEW
    SYSTEM                         MVIEW_WORKLOAD                 VIEW
    ORASSO                         WWCTX_API                      PACKAGE BODY
    PORTAL                         WWCTX_API                      PACKAGE BODY
    ORASSO                         WWEXP_UTL                      PACKAGE BODY
    PORTAL                         WWEXP_UTL                      PACKAGE BODY
    PORTAL                         WWPOB_API_PAGE                 PACKAGE BODY
    PORTAL                         WWPOF                          PACKAGE BODY
    ORASSO                         WWPRO_PROVIDER_VALIDATION      PACKAGE BODY
    PORTAL                         WWPRO_PROVIDER_VALIDATION      PACKAGE BODY
    PORTAL                         WWSBR_EDIT_ATTRIBUTE           PACKAGE BODY
    PORTAL                         WWSBR_FOLDER_PORTLET           PACKAGE BODY
    PORTAL                         WWSBR_USER_PAGES_PORTLET       PACKAGE BODY
    ORASSO                         WWUTL_API_PARSE                PACKAGE BODY
    OWNER                          NAME                           TYPE
    PORTAL                         WWUTL_API_PARSE                PACKAGE BODY
    PORTAL                         WWUTL_EXPORT_IMPORT_LOV        PACKAGE BODY
    ORASSO                         WWUTL_LOV                      PACKAGE BODY
    PORTAL                         WWUTL_LOV                      PACKAGE BODY
    PORTAL                         WWV_CONTEXT                    PACKAGE BODY
    PORTAL                         WWV_CONTEXT_UTIL               PACKAGE BODY
    PORTAL                         WWV_DDL                        PACKAGE BODY
    PORTAL                         WWV_GENERATE_UTL               PACKAGE BODY
    PORTAL                         WWV_GLOBAL                     PACKAGE
    PORTAL                         WWV_MONITOR_DATABASE           PACKAGE BODY
    PORTAL                         WWV_PARSE_AS_SPECIFIC_USER     PACKAGE BODY
    PORTAL                         WWV_PARSE_AS_USER              PACKAGE BODY
    PORTAL                         WWV_SYS_DML                    PACKAGE BODY
    PORTAL                         WWV_SYS_RENDER_HIERARCHY       PACKAGE BODY
    PORTAL                         WWV_THINGSAVE                  PACKAGE BODY
    PORTAL                         WWV_UTIL                       PACKAGE BODY
    PORTAL                         WWV_UTLVALID                   PACKAGE BODY
    38 rows selected.
    SQL>Let me know what you think.
    Thanks again.

  • ORA-01031 Error When starting Database

    I have installed Oracle 11gr2 on my laptop having OS ubuntu 10.04, after installation i am receiving ORA-01031 error when try to log in with the command
    sqlplus / as sysdba what should i do to resolve it...

    Hi,
    there are a lot of possibilities why this can be wrong. Look at Oracle Support for note 233223.1, "Checklist for Resolving CONNECT AS SYSDBA (INTERNAL) Issues". This gives links to notes which leads you to maybe the solution.
    Possibilities are:
    - you are root, which is not allowed. You should connect with the oracle user
    - your user is not part of the dba group
    - permissions on files
    - and many more
    Herald ten Dam
    http://htendam.wordpress.com

  • Getting an ORA-24333 error while parsing a non SELECT statement ...

    Hi,
    I'm new to this forum and I've search through the entire forum to see if my problem was already solved, but at first sight it doesn't ?
    So I hope that someone can help me one this : I'm facing a strange problem with the OCI 8i. I've encapsulated any OCI call into a set of C++ classes. Everything works fine apart for one point : whenever I try to parse a NON "select" statement, I get the ORA-24333 error.
    Basically, the code follow the current schema (only "important" states are written here) :
    -> Opening an Oracle Session
    -> Receving de statement.
    -> Analyse it with a call to OCIStmtPrepare() with OCI_NTV_SYNTAX set.
    -> Calling OCIBindByName() to associate each variable with a data.
    -> Calling OCIStmtExecute() with OCI_DESCRIBE_ONLY set in order to retrieve the current list of INPUT/OUTPUT columns.
    And this is where the problem arise.
    With a statement like : "SELECT MyPackage.MyFunction(:v1) FROM DUAL"
    Everthing works fine. I can bind the INPUT/OUTPUT ":v1" variable.
    But with a statement like : "BEGIN MYFUNTION(:v1); END;"
    I get the ORA-24333 error after the call to OCIStmtExecute().
    I get this error only when I set OCI_DESCRIBE_ONLY. If I call OCIStmtExecute() with OCI_DEFAULT, the OCI execute the statement. This is fine but it's not what I want. I cannot change the statement received (by design), so they should be proceeded as received.
    What I'm looking for is a way to successfully perform the OCIStmtExecute() with OCI_DESCRIBE_ONLY set in order to get the list of variables columns related to the current statement.
    Any help would be greatly apprecitated here. Thanks !
    Here are my current configurations.
    -> Windows 2000 SP5 OCI 8i / VC++ 6.0
    -> Macintosh OS X 10.3.4 / Code Warrior 8.3
    (The code produce exactly the same results/troubles on both plateforms.)
    Thanks in advance for your respons.

    Hi,
    I'm new to this forum and I've search through the entire forum to see if my problem was already solved, but at first sight it doesn't ?
    So I hope that someone can help me one this : I'm facing a strange problem with the OCI 8i. I've encapsulated any OCI call into a set of C++ classes. Everything works fine apart for one point : whenever I try to parse a NON "select" statement, I get the ORA-24333 error.
    Basically, the code follow the current schema (only "important" states are written here) :
    -> Opening an Oracle Session
    -> Receving de statement.
    -> Analyse it with a call to OCIStmtPrepare() with OCI_NTV_SYNTAX set.
    -> Calling OCIBindByName() to associate each variable with a data.
    -> Calling OCIStmtExecute() with OCI_DESCRIBE_ONLY set in order to retrieve the current list of INPUT/OUTPUT columns.
    And this is where the problem arise.
    With a statement like : "SELECT MyPackage.MyFunction(:v1) FROM DUAL"
    Everthing works fine. I can bind the INPUT/OUTPUT ":v1" variable.
    But with a statement like : "BEGIN MYFUNTION(:v1); END;"
    I get the ORA-24333 error after the call to OCIStmtExecute().
    I get this error only when I set OCI_DESCRIBE_ONLY. If I call OCIStmtExecute() with OCI_DEFAULT, the OCI execute the statement. This is fine but it's not what I want. I cannot change the statement received (by design), so they should be proceeded as received.
    What I'm looking for is a way to successfully perform the OCIStmtExecute() with OCI_DESCRIBE_ONLY set in order to get the list of variables columns related to the current statement.
    Any help would be greatly apprecitated here. Thanks !
    Here are my current configurations.
    -> Windows 2000 SP5 OCI 8i / VC++ 6.0
    -> Macintosh OS X 10.3.4 / Code Warrior 8.3
    (The code produce exactly the same results/troubles on both plateforms.)
    Thanks in advance for your respons.

  • Error while creating materialized view which using database link

    Helo!
    I'm getting error "ORA-00942: table or view does not exist" when I want to create materialized view.
    Details:
    1. On destination database I create a database link:
    CREATE DATABASE LINK SDATABASE
    CONNECT TO MYUSER
    IDENTIFIED BY MYUSERPASS
    USING 'ORCL';
    => Command "SELECT * FROM TABLE1@SDATABASE" returns data normally!
    2. On source database I create MATERIALIZED VIEW LOG:
    CREATE MATERIALIZED VIEW LOG
    ON TABLE1
    WITH PRIMARY KEY
    INCLUDING NEW VALUES;
    3. Now, when I want to create MATERIALIZED VIEW on destination database:
    CREATE MATERIALIZED VIEW TABLE1
    REFRESH FAST
    START WITH SYSDATE
    NEXT SYSDATE + 1/1440
    WITH PRIMARY KEY
    AS SELECT * FROM TABLE1@SDATABASE;
    ...I get error "ORA-00942: table or view does not exist"!
    How is that possible if command "SELECT * FROM TABLE1@SDATABASE" returns data normally?
    Thanks,
    Voranc

    And, I'm using Oracle 10g.
    Voranc

  • How can i get data from another database SQL Server use database link from

    I have a database link from Oracle connect to SQL Server database with user cdit connect default database NorthWind.How can I get data from another database(this database in this SQL Server use this database link)?

    hi,
    u should see following documentation:
    Oracle9i Heterogeneous Connectivity Administrator's Guide
    Release 1 (9.0.1)
    Part Number A88789_01
    in it u just go to chapter no. 4 (using the gateway),,u'll find ur answer there.
    regards
    umar

  • 20 Index Restriction on Remote Tables (i.e. using Database Links)

    The Oracle Database Administrator's Guides for 10g and 11g document a performance restriction that "No more than 20 indexes are considered for a remote table." If I go back to the 8i documentation it says "In cost-based optimization, no more than 20 indexes per remote table are considered when generating query plans. The order of the indexes varies; if the 20-index limitation is exceeded, random variation in query plans may result."
    Does anyone have more details on this performance restriction? In particular I am trying to answer these questions:
    1) Are the 20 indexes which are considered by the CBO still random in 10g?
    2) Can I influence which indexes are considered with index hints or will my hints only be considered if they are for one of the "random" 20 indexes which are being considered by the CBO?
    3) Are there any other approaches or work-arounds to this restriction assuming you need to select from a large remote table with more than 20 indexes (and need to perform the selection using 1 of those indexes to get adequate performance) or do we need to abandon database links for this table?
    Thanks in advance for your input.

    So, here's my simple test.
    SQL>
    SQL> create table gurnish.indexes20plus ( n1 number, n2 number, n3 number, n4 number, n5 number, n6 number, n7 number,
    2 n8 number, n9 number, n10 number, n11 number, n12 number, n13 number, n14 number, n15 number, n16 number,
    3 n17 number, n18 number, n19 number, n20 number, n21 number, n22 number, n23 number, n24 number,
    4 n25 number, n26 number, n28 number);
    create index xin1 on indexes20plus (n1);
    Table created.
    SQL> SQL> create index xin2 on indexes20plus (n2);
    create index xin3 on indexes20plus (n3);
    Index created.
    SQL> SQL>
    Index created.
    SQL> SQL> create index xin4 on indexes20plus (n4);
    Index created.
    SQL> SQL>
    Index created.
    SQL> SQL> create index xin5 on indexes20plus (n5);
    create index xin6 on indexes20plus (n6);
    Index created.
    SQL> SQL>
    Index created.
    SQL> SQL> create index xin7 on indexes20plus (n7);
    Index created.
    SQL> SQL> create index xin8 on indexes20plus (n8);
    Index created.
    SQL> SQL> create index xin9 on indexes20plus (n9);
    Index created.
    SQL>
    SQL> create index xin10 on indexes20plus (n10);
    Index created.
    SQL> SQL> create index xin11 on indexes20plus (n11);
    create index xin12 on indexes20plus (n12);
    create index xin13 on indexes20plus (n13);
    Index created.
    SQL> SQL>
    Index created.
    SQL> SQL>
    Index created.
    SQL> SQL> create index xin14 on indexes20plus (n14);
    Index created.
    SQL> SQL> create index xin15 on indexes20plus (n15);
    Index created.
    SQL>
    SQL> create index xin16 on indexes20plus (n16);
    Index created.
    SQL>
    SQL> create index xin17 on indexes20plus (n17);
    Index created.
    SQL> SQL> create index xin18 on indexes20plus (n18);
    Index created.
    SQL> SQL> create index xin19 on indexes20plus (n19);
    Index created.
    SQL> SQL> create index xin20 on indexes20plus (n20);
    Index created.
    SQL> SQL> create index xin21 on indexes20plus (n21);
    Index created.
    declare
    i number;
    begin
    for i in 1..100
    loop
    dbms_random.seed(i+100);
    insert into indexes20plus values (dbms_random.value(1,5),dbms_random.value(1,21),dbms_random.RANDOM, dbms_random.RANDOM,dbms_random.value(1,20),
    dbms_random.value(1,4),dbms_random.value(1,6), dbms_random.value(1,7),dbms_random.value(1,9),dbms_random.value(1,10),
    dbms_random.value(1,11),dbms_random.value(1,12),dbms_random.value(1,13),dbms_random.value(1,14),dbms_random.value(1,1),
    dbms_random.value(1,1),dbms_random.value(1,19),dbms_random.value(1,122),dbms_random.value(1,20),dbms_random.value(1,20)
    ,dbms_random.value(4,20),dbms_random.value(1,20),dbms_random.value(1,20),dbms_random.value(1,20),dbms_random.value(1,20)
    ,dbms_random.value(4,20),dbms_random.value(4,20));
    end loop;
    commit;
    end;
    SQL> set autotrace traceonly
    SQL> l
    1* select * from gurnish.indexes20plus@lvoprds where n1 = 4
    SQL> /
    no rows selected
    Execution Plan
    Plan hash value: 441368878
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU
    )| Time | Inst |
    | 0 | SELECT STATEMENT REMOTE | | 1 | 351 | 1 (0
    )| 00:00:01 | |
    | 1 | TABLE ACCESS BY INDEX ROWID| INDEXES20PLUS | 1 | 351 | 1 (0
    )| 00:00:01 | LVPRD |
    |* 2 | INDEX RANGE SCAN | XIN1 | 1 | | 1 (0
    )| 00:00:01 | LVPRD |
    Predicate Information (identified by operation id):
    2 - access("A1"."N1"=4)
    Note
    - fully remote statement
    - dynamic sampling used for this statement
    Statistics
    0 recursive calls
    0 db block gets
    0 consistent gets
    0 physical reads
    0 redo size
    1897 bytes sent via SQL*Net to client
    481 bytes received via SQL*Net from client
    1 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    0 rows processed
    SQL> select * from gurnish.indexes20plus@lvoprds where n21 = 4;
    no rows selected
    Execution Plan
    Plan hash value: 2929530649
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU
    )| Time | Inst |
    | 0 | SELECT STATEMENT REMOTE | | 1 | 351 | 1 (0
    )| 00:00:01 | |
    | 1 | TABLE ACCESS BY INDEX ROWID| INDEXES20PLUS | 1 | 351 | 1 (0
    )| 00:00:01 | LVPRD |
    |* 2 | INDEX RANGE SCAN | XIN21 | 1 | | 1 (0
    )| 00:00:01 | LVPRD |
    Predicate Information (identified by operation id):
    2 - access("A1"."N21"=4)
    Note
    - fully remote statement
    - dynamic sampling used for this statement
    Statistics
    1 recursive calls
    0 db block gets
    0 consistent gets
    0 physical reads
    0 redo size
    1897 bytes sent via SQL*Net to client
    481 bytes received via SQL*Net from client
    1 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    0 rows processed
    SQL>

  • FORALL inserts using database link

    Hi,
    is there any way work around by which we can implement bulk inserts using FORALL across database link ?
    regards
    nic

    How about using a view as a layer to hide the db-link?
    Don't know if that will work.
    Also possible:
    Instead of "INSERT INTO targetTable@dbLink as SELECT * FROM sourceTable"
    do "INSERT INTO myTable AS SELECT * FROM sourcetable@dbLink" on the other database.

  • How to fetch,update,insert the data using database link on diff. servers

    I am using two oracle server.
    1st) Oracle 9i ( Server1 )
    2nd) Oracle 10g ( Server2 )
    3) Forms 6i
    I have created a database link on Server 1 for connecting to Server 2.
    I written a piece of code which will be executed in Forms 6i and is connected to Server1.
    The piece of code brings the data from SErver2 via cursor and I try to insert / update the relevant records
    in my Server1 database users.
    The Insert/Update runs sucessfully but at the time of commit I get the following errors
    in Forms ORA-01041:internal error. hostdef does not exist.
    Then it forcefully rollback the data and come out of the application.
    contact :email-id : [email protected]

    Suggest you test your code from sqlplus before running from forms.
    Start by testing a simple "select sysdate from dual@<database link>;" then test select from application_table@<database link> then test the insert/update code. After it works from sqlplus, then try it from forms.

  • Unable to access remote database object using database link

    Hi all,
    I have created a database link to a remote server
    SQL> create database link remote_link connect to lax_dba identified by lax_dba using 'abc.corp.com';
    database link created
    when i am trying to access any table of lax_dba
    sql> select * from laxtab@remote_link;
    i am getting this Ora error
    ORA-12514: TNS:listener does not currently know of service requested in connect
    I need your help please to solve this issue
    Thanks n Regards
    Laxman

    The database server where you defined the link (not your PC) has resolved 'abc.corp.com' to a server/port/service combination using its tnsnames.ora, sqlnet.ora and possibly ldap.ora settings. You can try
    tnsping abc.corp.comon the server (as ReubenC suggested) to see what it's attempting to connect to. (It's important to do this on the database server and not on your PC as they will have different tns settings etc.)
    It has then found the server and found a listener running on it (so you're getting close), but that remote listener doesn't recognise the service you're asking for. It might be something like the '.com' suffix.

Maybe you are looking for