A question about CREATE PUBLIC DATABASE LINK and ORA-12154 error

Dear all,
I have a problem about public database link creation and I would appreciate if you could kindly give me a hand. I have the following connection parameters in my
tnsnames.ora file:
DGPAPROD.WORLD =
     (DESCRIPTION =
       (ADDRESS_LIST =
        (ADDRESS = (COMMUNITY=tcp.world)
          (PROTOCOL=TCP)(HOST=ORASR001)(PORT=1521)
       (CONNECT_DATA = (SID = DGPAPROD))
...Having the above mentioned parameters I can connect to this remote database directly in a SQL*Plus shell:
$ sqlplus username/[email protected] works pretty well and the connection is established without any problem.
Now, what I would like to do is to create a public database link to this remote database in order to avoid the user/connection switching for viewing the
content of this database. I proceeded according to the syntax indicated in the Oracle online documentation:
http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/statements_5005.htm#SQLRF01205
Therefore I run the following in order to create a public database link
CREATE PUBLIC DATABASE LINK SR001_dblink CONNECT TO user IDENTIFIED BY password USING 'DGPAPROD.WORLD';Apparently there is no error and the link is created successfully. However it cannot resolve the remote host and whenever I run the following query
(myenterprise is the name of a table in that remote database)
SELECT *
FROM myenterprise@SR001_dblink
ERROR at line 1:
ORA-12154: TNS:could not resolve the connect identifier specifiedWhat causes this problem?
Thanks in advance,
Kind Regards,
Dariyoosh

spajdy wrote:
You must have defined DGPAPROD.WORLD in tnsnames.oar on server where you DB is runnig.Hello there,
Thanks a lot for this nice solution. In fact I had to add the connection parameters into the tnsnames.ora file of the server on which the link was created (not the tnsnames.ora of my oracle client stored on the localhost)
After a bit googling I found another solution that allows to create the database link:
CREATE PUBLIC DATABASE LINK SR001_dblink CONNECT TO user IDENTIFIED BY password USING '(DESCRIPTION =  (ADDRESS_LIST =  (ADDRESS = (COMMUNITY=tcp.world)
(PROTOCOL=TCP)(HOST=ip_adresse)(PORT=1521)))(CONNECT_DATA = (SID = GPAPROD)))';Thanks a lot for your help!
Kind Regards,
Dariyoosh
Edited by: dariyoosh on 18 nov. 2009 07:15

Similar Messages

  • How to Create Public database link in oracle 9i?

    Friends,
    OS: RHEL AS 3
    DB: 9iR2
    database name 1 = nubul
    database name 2 = test
    in the 'nubul' database server using system user.
    i created a database link to connect the 'test' database
    sql> create public database link test using 'test';
    database link created.
    then i logged in as normal user....
    sql> select count(*) from employee@test
    Error at line 1:
    ORA-12154: TNS: could not resolve service name
    where i am making mistake?
    i gave the linkname as my remote database name.
    am i have to make any entry in the tnsnames.ora?
    thanks & regards

    You have to remember that when you access a dblink, the database where the link is defined is acting as a client to the database to which the link points ... exactly the same as if you you were using sqlplus on the machine hosting the db where the link is defined. In other words, given:
    Host 'Host-src', with database 'db-src', with a dblink 'lk_target'
    Host 'host-trgt', with database 'db-trgt'
    When you connect to db-src and access lk-target, db-src is now acting as a client to db-trgt. Exactly as if you had opened sqlplus on host-src and connected directly to db-trgt. So, given the above scenario
    host-src$> sqlplus scott/tiger@db-src
    sql> select * from emp@lk_target;when you execute that SELECT to the link, the same tns considerations are in effect as if you had
    host-src$> sqlplus scott/tiger@db-trgtThe same tnsnames.ora entry, on the source machine, is required for both.

  • ORA-31600 when trying to view SQL DDL for a created public database link

    I created and committed a public database link and I can access the external database.
    When I try to view the DDL of the link, on the SQL tab, I'm getting following error:
    ORA-31600: invalid input value EMIT_SCHEMA for parameter NAME in function SET_TRANSFORM_PARAM
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
    ORA-06512: at "SYS.DBMS_METADATA_INT", line 3900
    ORA-06512: at "SYS.DBMS_METADATA_INT", line 4048
    ORA-06512: at "SYS.DBMS_METADATA", line 836
    ORA-06512: at line 1
    and
    ORA-31600: invalid input value LONGNAME for parameter NAME in function SET_FILTER
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
    ORA-06512: at "SYS.DBMS_METADATA_INT", line 1980
    ORA-06512: at "SYS.DBMS_METADATA_INT", line 3665
    ORA-06512: at "SYS.DBMS_METADATA", line 670
    ORA-06512: at "SYS.DBMS_METADATA", line 571
    ORA-06512: at "SYS.DBMS_METADATA", line 1221
    ORA-06512: at line 1
    Is this because of a bug in SqlDeveloper or because the db_link and host parameters have 33 characters?
    I'm using sql developer 1.5.3, build MAIN-5783
    tx,
    Roger Vermeir

    It's probably the length; really all sqldev does is calling:
    select DBMS_METADATA.get_ddl('DB_LINK',:NAME,:OWNER) FROM dual;So if you call it a bug, it's a database bug in the DBMS_METADATA package.
    But if you work with identifiers over 30 chars, I'd say that's a bug on it's own...
    FWIW, I can't reproduce this on our 10g DB; are you on 9i?
    Regards,
    K.

  • Database Link gives Ora-12535 error

    I have Oracle 9i Release 2 on NT 4 box. I am attempting to connect to an Oracle 8i Database via a database link. I am able to connect to the database using my username and password throught Toad. I can see the tables that I am trying to query through the link. I have tested the service through the Oracle Net Manager and it was successful. Anytime I try to use the database link, I get the "ORA-12535 TNS: Operation timed out" message. Does anyone know if this is a bug in Oracle 9i Release 2 since the link worked in Oracle 9i Release 1? Is there a workaround for this problem?

    spajdy wrote:
    You must have defined DGPAPROD.WORLD in tnsnames.oar on server where you DB is runnig.Hello there,
    Thanks a lot for this nice solution. In fact I had to add the connection parameters into the tnsnames.ora file of the server on which the link was created (not the tnsnames.ora of my oracle client stored on the localhost)
    After a bit googling I found another solution that allows to create the database link:
    CREATE PUBLIC DATABASE LINK SR001_dblink CONNECT TO user IDENTIFIED BY password USING '(DESCRIPTION =  (ADDRESS_LIST =  (ADDRESS = (COMMUNITY=tcp.world)
    (PROTOCOL=TCP)(HOST=ip_adresse)(PORT=1521)))(CONNECT_DATA = (SID = GPAPROD)))';Thanks a lot for your help!
    Kind Regards,
    Dariyoosh
    Edited by: dariyoosh on 18 nov. 2009 07:15

  • Create public Database link

    I have two computers at my training lab. Both have computer Oracle 9i install. Bith have service/tag cats.
    1.)
    Computer Name : 10227-mr-srv.abc.com
    Oracle service name : cats
    2.)
    Computer Name : 10227-ocrsrv.abc.com
    Oracle service name : cats
    Now from 1st oracle server, I want to connect to 2nd oracle server.
    May be using fixed user hr Password hr_1.
    Can you please give exact CREATE PUBILC DATABASE LINK statement for same.
    May have to use identifier as creating loop.

    You can check out the syntax and examples here

  • Beginners question about creating first database and tables

    Hi all,
    i recently have installed 10g express edition, because i want to transform my php-script from mysql to oracle database. (due to the fact that mysql is "not allowed sofware" at the company i work for).
    it is a quit small script, just a shift-report system, build because of frustration about an used shift report system based on excel sheets. Company likes it, but IT-department rejected it, because it is myssql. They do own a lot of oracle servers, so they set up a database for me, got a username and password.(Tnsnames entry). The rest i have to do by myself, no further support from IT department.
    I have made 2 simple php functions to connect to database:
    // for connection home server:
    function conn()
         $user = 'user';
         $password = 'password';
         $conn = oci_connect($user, $password, 'localhost/XE');
         return $conn;
    // for connection at work:
    function Xconn()
         $db = '(DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.eu.xxx.com)(PORT = 1521))
        (CONNECT_DATA = (SID = NVGPP)))';
         $user = 'xxxxxxxx';
         $password = 'xxxxxxx';
         $conn = oci_connect($user, $password, $db);
         return $conn;
    }I just add or remove X character before function name, for use at home or at work.
    both do work fine.
    First thing i wanted to do, is to create my database and tables.
    Schema dump from mysql:
    -- phpMyAdmin SQL Dump
    -- version 2.11.1
    -- http://www.phpmyadmin.net
    -- Host: localhost
    -- Generatie Tijd: 03 Aug 2010 om 21:35
    -- Server versie: 5.0.24
    -- PHP Versie: 5.2.4
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    -- Database: `ewb`
    -- Tabel structuur voor tabel `afsprakenblad`
    CREATE TABLE IF NOT EXISTS `afsprakenblad` (
      `id` mediumint(8) unsigned NOT NULL auto_increment,
      `naam` tinytext NOT NULL,
      `afspraak` text NOT NULL,
      KEY `id` (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='Afsprakenblad' AUTO_INCREMENT=13 ;
    -- Tabel structuur voor tabel `verslag`
    CREATE TABLE IF NOT EXISTS `verslag` (
      `id` int(10) unsigned NOT NULL auto_increment,
      `ewb_id` int(10) unsigned NOT NULL,
      `datum` date NOT NULL,
      `dienst` tinytext NOT NULL,
      `ploeg` tinytext NOT NULL,
      `gebouw` varchar(10) NOT NULL,
      `installatie` tinytext NOT NULL,
      `subdeel` tinytext NOT NULL,
      `subsubdeel` tinytext NOT NULL,
      `sap` int(4) unsigned NOT NULL,
      `tekst` text NOT NULL,
      `status` tinyint(3) unsigned NOT NULL,
      `afdeling` tinytext NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4663 ;
    -- Tabel structuur voor tabel `wachtverslag`
    CREATE TABLE IF NOT EXISTS `wachtverslag` (
      `id` int(10) unsigned NOT NULL auto_increment,
      `datum` date NOT NULL,
      `dienst` tinytext NOT NULL,
      `team` tinytext NOT NULL,
      `afdeling` tinytext NOT NULL,
      `status` enum('open','dicht') NOT NULL default 'open',
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=800 ;When i wanted to create a new databse with: CREATE TABLE ewb, i get an error that databse already is mounted??
    How do i create this database and tables?
    after googling i read something about schema owners, but cant find anything about how to copy my mysql database/tables to oracle.
    Please, help is really appreciated by me.

    Translating from mysql to Oracle will need a bit of fixups for the DDL, once an oracle instance is created, set up and running, you won't create a database but you will have a database user or users that create/own a collection of tables, indexes, functions, procedures, etc.
    It will take a bit of pouring through the oracle documentation to get those table create statements to work, i.e. the engine=, charset=, auto_increment items won't succeed, datatypes need adjustments, the tic marks around the entity names aren't necessary, quite a few other items from the mysql data definition language don't have an oracle equivalent.

  • Sql@loader-704  and ORA-12154: error messages when trying to load data with SQL Loader

    I have a data base with two tables that is used by Apex 4.2. One table has 800,000 records . The other has 7 million records
    The client recently upgraded from Apex 3.2 to Apex 4.2 . We exported/imported the data to the new location with no problems
    The source of the data is an old mainframe system; I needed to make changes to the source data and then load the tables.
    The first time I loaded the data i did it from a command line with SQL loader
    Now when I try to load the data I get this message:
    sql@loader-704 Internal error: ulconnect OCISERVERATTACH
    ORA-12154: tns:could not resolve the connect identifier specified
    I've searched for postings on these error message and they all seem to say that SQL Ldr can't find my TNSNAMES file.
    I am able to  connect and load data with SQL Developer; so SQL developer is able to find the TNSNAMES file
    However SQL Developer will not let me load a file this big
    I have also tried to load the file within Apex  (SQL Workshop/ Utilities) but again, the file is too big.
    So it seems like SQL Loader is the only option
    I did find one post online that said to set an environment variable with the path to the TNSNAMES file, but that didn't work..
    Not sure what else to try or where to look
    thanks

    Hi,
    You must have more than one tnsnames file or multiple installations of oracle. What i suggest you do (as I'm sure will be mentioned in ed's link that you were already pointed at) is the following (* i assume you are on windows?)
    open a command prompt
    set TNS_ADMIN=PATH_TO_DIRECTOT_THAT_CONTAINS_CORRECT_TNSNAMES_FILE (i.e. something like set TNS_ADMIN=c:\oracle\network\admin)
    This will tell oracle use the config files you find here and no others
    then try sqlldr user/pass@db (in the same dos window)
    see if that connects and let us know.
    Cheers,
    Harry
    http://dbaharrison.blogspot.com

  • Creating a Database link for a user

    Hello All,
    I am trying to create a database link for one of my users.
    When I create it as sysdba the link gets created in the SYS schema which tells me that my syntax is working/fine.
    But when I ALTER my SESSION and set my CURRENT_SCHEMA = <USER_NAME> I get ORA-00990: missing or invalid privilege
    So I tried granting the user CREATE DATABASE LINK, CREATE PUBLIC DATABASE LINK, and DROP PUBLIC DATABASE LINK.
    Same error.
    Any ideas what I am missing?
    Thanks,
    Craig

    CraigBoyd wrote:
    Hello All,
    I am trying to create a database link for one of my users.
    When I create it as sysdba the link gets created in the SYS schema which tells me that my syntax is working/fine.
    But when I ALTER my SESSION and set my CURRENT_SCHEMA = <USER_NAME> I get ORA-00990: missing or invalid privilege
    So I tried granting the user CREATE DATABASE LINK, CREATE PUBLIC DATABASE LINK, and DROP PUBLIC DATABASE LINK.
    Same error.
    Any ideas what I am missing?
    Thanks,
    Craigyou need to create a new session after the GRANT was issued.

  • How to create a database link between an 8i (apps) database and APEX

    Want to link my Oracle APPS databse on 8i with Oracle XE and APEX. Any idea how to achieve this ?

    I don't know what Apex is!!! But try to follow these instructions.
    It works for Oracle 9i.
    As far as I know, you are supposed to have installed other than ORACLE Client to complete these instructions.
    1. Control Panel / Administrative Tools / Data Sources (ODBC)
    Folder: System DSN /
    click add
    Choose : Microsoft Access Driver
    Data Source Name : my_test
    Description : any_description_you_want
    click Database/Select... : full pathname for <your_file.mdb>
    click OK
    Click OK
    2. Goto OH\hs\admin:
    2.1) Create a copy of "inithsodbc.ora" file giving it this name:
    initmy_test.ora
    2.2) Edit "initmy_test.ora" and change as below.
    # HS init parameters
    HS_FDS_CONNECT_INFO = my_test
    HS_FDS_TRACE_LEVEL = OFF
    3. Add this entry to listener ( Don't forget to stop/start the listener )
    (SID_DESC =
    (SID_NAME = my_teste)
    (ORACLE_HOME = <Path to OH> ) ### Ex: D:\ORANT901
    (PROGRAM = hsolesql)
    4. Now you need to add entries to point to the HS in the tnsnames.ora :
    access =
    (DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=<your_host>)(PORT=1521))
    (CONNECT_DATA=(SID=my_test))
    (HS=my_test)
    5. Now you need to go into the database and create the database link:
    CREATE PUBLIC DATABASE LINK "ACCESS_DB" USING 'access';
    6. select * from your_table@ACCESS_DB;
    HTH
    RK
    Message was edited by:
    RKravcenko

  • Create a database link to access SqlServer 2005 view from oracle 11gr2

    Hi All,
    Greetings for the day.
    Though I have seen quite a few posts but just wanted to cross-verfiy and double check hence posting.
    Oracle Database : 11gr2
    OS :SOLARIS SPARC 64 Bit
    SQL Server Database : Sql Server 2005
    OS : Windows 2003 32 Bit
    The requirement is to access a view residing in the SQL Server 2005 Database using the Oracle Database. This involves creation of a Database link in the Oracle Database to access the SQL Server.
    Can you suggest which approach should i follow ( I am able to understand that both do the same job ):
    How to Configure DG4MSQL (Oracle Database Gateway for MS SQL Server) 64bit Unix OS (Linux, Solaris, AIX,HP-UX) post install [ID 562509.1]or
    How to Configure DG4ODBC on 64bit Unix OS (Linux, Solaris, AIX, HP-UX Itanium) to Connect to Non-Oracle Databases Post Install [ID 561033.1]Will they do the same job ? And can they be used on any OS and version of the SQL Server Database as version information for SQL Server is not specified anywhere?
    Please let me know so that I can it forward with Business for approvals and budgetting.
    Regards
    KK

    Your question is similar to the post: Oracle 11gr2 connection to Sql Server using dg4msql problem
    Please visit: http://stackoverflow.com/questions/4658942/oracle-11gr2-connection-to-sql-server-using-dg4msql-problem
    Answer on the website:
    You seem to be using the Gateway for MySQL set-up rather than the Heterogeneous Gateway (for ODBC connections). Here is an overview of the process
    On SQL Server create a database user and give it read access to the database/tables you want to read via the Oracle database link.
    In the gateway home each SQL Server database you want to access should have an init.ora located in $OH/dg4msql/admin in the form initsid.ora where sid is the name of the database to be used in the link (e.g. initbob.ora), so create one
    HS_FDS_CONNECT_INFO=msserver1:1234//Example_Database
    HS_FDS_TRACE_LEVEL=OFF
    HS_FDS_RECOVERY_ACCOUNT=RECOVER
    HS_FDS_RECOVERY_PWD=RECOVER
    HS_TRANSACTION_MODEL=READ_ONLY
    You must now add the new sid to the listener.ora in the gateway home using an additional SID_DESC section inside the existing SID_LIST, for example
    (SID_DESC =
    (SID_NAME=bob)
    (ORACLE_HOME=/oracle/gateway/product/11.2.0)
    (ENVS=LD_LIBRARY_PATH=/oracle/gateway/product/11.2.0/dg4msql/driver/lib;/oracle/gateway/product/11.2.0/lib)
    (PROGRAM=dg4msql)
    You should now stop and restart the gateway listener so that the new sid becomes active. NB a reload is not enough.
    You must now add the new sid in the tnsnames.ora file for the listener of each database in which you will create a link. You don't need to do this in the gateway home unless it is also a database home in which you will create a database link.
    bob =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = severname.example.com)(PORT = 1690))
    (CONNECT_DATA = (SID = bob))
    (HS = OK)
    NB: The host and port are for the gateway not for the SQL Server database
    In each database that requires a link to the MS-SQL database you should create a database link to your new gateway sid.
    CREATE PUBLIC DATABASE LINK bob
    CONNECT TO "ms_user" IDENTIFIED BY "ms-passwd" USING 'bob';
    where ms-user and ms-password are the SQL Server user you created right at the start.
    Now you can test the new database link
    SELECT COUNT(*) FROM "Table_Name"@bob;
    Once you have this working you can alter the initsid.ora file to add parameters to suit your connection. If you do it this way you can easily add and manage many different databases via the gateway.
    Hip
    Edited by: 1000595 on 04:58 17-04-2013

  • Public database link username

    Gentlemen,
    I would like to recreate the public database links with new username and password. Prior to that, I want to know which user the current public database link in connecting to.
    The dba_db_links table shows only the user name for private database links. Where can I find the username for public database link.
    e.g.,
    SQL> create public database link abc.domain.com connect to targetuser idenitified by targetpassword using 'abc.doman.com';
    Where I find the information about targetuser; it is not shown in dba_db_links table for public database links.
    Thanks

    This indicates that the connection information (username/password) was not specified when the database link was created.
    http://docs.oracle.com/cd/E11882_01/server.112/e25494/ds_admin002.htm#ADMIN12154
    This implies that if user A on the local database tries to use this link, then the same account (i.e. A) with the same password exists on the remote database - i.e. all of the users on the local database that use this link are duplicated on the remote database as well.
    HTH
    Srini

  • Creation of Database link and access the same plus Snapshot creation

    i want talk between two oracle server. i decided to go for snapshot creation with periodical refresh. For which i am having two oracle server's with different ip address located inside our office setup.
    I have created a database link between two servers.
    first server name global
    userid scott
    password tiger
    second server name asil
    userid scott
    password tiger
    both the user have been given dba rights.
    in both the server the services and listners are all started. i gave the following command to create database link.
    from asil server
    create public database link global connect by scott identified by tiger using 'global'
    the command was successful and the link was created. Now i tried to access a table of the scott user of the global server.
    select * from emp@global;
    now it is giving error. I want to know how the link can be created and how it can be accessed. i refered the 8i online documentation and done the things based on that. i expect valuble solution from all possible persons
    null

    A reason for this problem could be that your database is configured that a database link has to have exactly the same name like the global name of the database instance it should connect to.
    Can you please provide the oracle error code / message ? With this information there might be more hints I can give you.

  • How to create a database link on an ms acces data source

    Hello every body
    Is it possible to create a database link on an MS access data source under
    oracle 10 g and Apex ?
    If yes how to do it ?
    Thanks in advace

    I don't know what Apex is!!! But try to follow these instructions.
    It works for Oracle 9i.
    As far as I know, you are supposed to have installed other than ORACLE Client to complete these instructions.
    1. Control Panel / Administrative Tools / Data Sources (ODBC)
    Folder: System DSN /
    click add
    Choose : Microsoft Access Driver
    Data Source Name : my_test
    Description : any_description_you_want
    click Database/Select... : full pathname for <your_file.mdb>
    click OK
    Click OK
    2. Goto OH\hs\admin:
    2.1) Create a copy of "inithsodbc.ora" file giving it this name:
    initmy_test.ora
    2.2) Edit "initmy_test.ora" and change as below.
    # HS init parameters
    HS_FDS_CONNECT_INFO = my_test
    HS_FDS_TRACE_LEVEL = OFF
    3. Add this entry to listener ( Don't forget to stop/start the listener )
    (SID_DESC =
    (SID_NAME = my_teste)
    (ORACLE_HOME = <Path to OH> ) ### Ex: D:\ORANT901
    (PROGRAM = hsolesql)
    4. Now you need to add entries to point to the HS in the tnsnames.ora :
    access =
    (DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=<your_host>)(PORT=1521))
    (CONNECT_DATA=(SID=my_test))
    (HS=my_test)
    5. Now you need to go into the database and create the database link:
    CREATE PUBLIC DATABASE LINK "ACCESS_DB" USING 'access';
    6. select * from your_table@ACCESS_DB;
    HTH
    RK
    Message was edited by:
    RKravcenko

  • Public Database Link

    Hi All,
    I am using Oracle 10g.
    I created one Public database link as :
    i created this database link by connecting ora1.
    CREATE PUBLIC DATABASE LINK "ora2_1" CONNECT TO CURRENT_USER
    USING 'ora2';
    When i run the select query i am getting error. as:
    i run this select query by connecting ora1 database.
    SQL> SELECT * FROM C_UPDT@ora2_1;
    SELECT * FROM C_UPDT@ora2_1
    ERROR at line 1:
    ORA-01017: invalid username/password; logon denied
    ORA-02063: preceding line from ora2_1
    What could be the problem.
    Thanks

    Hi..
    I want to use that link for all schemas existed in ora2.so, i didnot specify the username, password.
    >
    The database link connects to the only one schema per db link in the target database.If you specify PUBLIC, then all the schemas in the source database (where the db link is created) can use and access data through it.So, if you want to create public database link for all the schemas in the target database ORA2, then you will have to create as many as schemas are present in ORA2.
    Anand

  • Cann't Drop public database link

    I am not able to drop public database link .
    Oracle Version - 11.2.0.1.0 - 64bit Production
    Os Version - Sun Solaris .
    When I am going to drop a public database link it's give a error :
    SQL Error: ORA-00604: error occurred at recursive SQL level 1
    ORA-20000: Can not drop Object
    ORA-06512: at line 2
    00604. 00000 - "error occurred at recursive SQL level %s"
    Can anyone help to resolve this problem? It is a Production Database and it's a Urgent .
    Thanks,
    Dip Sankar Rana

    You say:
    I already given syntax of creating Public database link.
    But you should give real details (exact statements and exact results) to make it clear what you are attempting and what your problem is.
    Please show:
    - The CREATE PUBLIC DATABASE LINK statement (obscuring the password, of course) and its result (i.e. success or failure message)
    - From each of schema1 (working) and schema2 (not working):
    - - The result of SELECT USER FROM DUAL;
    - - The result of SELECT USER FROM DUAL@DB_TST;
    - - The result of SELECT COUNT(*) FROM ALL_OBJECTS@DB_TST WHERE OWNER = 'B1';
    In the meantime, an observation.
    You said:
    I create a public db link from schema1 to other database using below command --
    CREATE PUBLIC DATABASE LINK DB_TST
    CONNECT TO B1 IDENTIFIED BY password
    USING 'SPPROD'Note that any user (in caps: ANY USER) on this database can use this link to connect to database SPPROD as B1 without knowing the password - because you put the credentials in the link.
    If you have a PUBLIC database link with credentials, like you do here, you have a serious, glaring security exposure. You really, REALLY should not do this. Use a private database link (available only to the user that created it) or do not put credentials on the link (so that any user using that link is using his own credentials to connect to the remote database).
    Edited by: mtefft on Jan 14, 2011 4:14 AM

Maybe you are looking for

  • I'm trying to register my iphone device through itunes

    I'm trying to register my iphone device through itunes but it is asking to fill in the Zip Code but there's no such thing in the form to fill in. here's the screenshot http://prntscr.com/33ae51

  • Anything other than buttons on ALV Grid toolbar?

    Does anyone know if anything other than buttons can be placed on a ALV Grid toolbar, eg. a piece of text or an input field? The filter button for data selection may be too cumbersome/slow for a call centre operator; I want to have a display field wit

  • Use of transient fields in Collections Framework?

    Hi all, I've been playing around with the reflection API for introspecting various members of the Collection Framework (CF). It turns out that many of the fields used by the members of the CF use the transient fields for their data-storage. For examp

  • Visual Admin: error on loading service Web Services Security ?  HELP

    I wanted to consume a webservice to a remote R3 ECC 5 webservice with Visual Composer. I added a web service client for VComposer using visual admin as: Cluster->services->webServicesSecurity->    SecurityConfiguration->WebServiceClients->DynamicWSPr

  • Connection to database under JDeveloper 10.0.1 is not working

    Full version of Oracle 10g (including Oracle JDeveloper 9.0.4) is instaled in Oracle-home directory "c:\DevSuiteHome". I have instaled Oracle JDeveloper 10.1.2 in other Non-Oracle directory "c:\JDev102", so I have both version of JDeveloper instaled.