What is Database Links in Oracle 10g ?

Same as subject.
Thanks.

Hi,
Database Links
A database link is a pointer that defines a one-way communication path from an Oracle Database server to another database server. The link pointer is actually defined as an entry in a data dictionary table. To access the link, you must be connected to the local database that contains the data dictionary entry.
A database link connection is one-way in the sense that a client connected to local database A can use a link stored in database A to access information in remote database B, but users connected to database B cannot use the same link to access data in database A. If local users on database B want to access data on database A, then they must define a link that is stored in the data dictionary of database B.
A database link connection allows local users to access data on a remote database. For this connection to occur, each database in the distributed system must have a unique global database name in the network domain. The global database name uniquely identifies a database server in a distributed system.
http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14231/ds_concepts.htm#i1007709
Adith

Similar Messages

  • How to recover password from Database link in Oracle 10G

    Hi guys,
    How can I get a user password from DBLink in Oracle 10G?
    From sys.link$ the column "PASSWORD" is empty and the crypted data comming from the new column "PASSWORDX" does not work by using "... identified by values..."
    Any idea?
    Thanks...

    Why do you need to know the password? If you need to re-create the link in another database you can use dbms_metadata to generate the DDL for the database link and for a fixed database link the DDL will include an encrypted password that will match the remote database password.
    select dbms_metadata.get_ddl('DB_LINK','Link_name','Owner') from sys.dual
    On version 9.2 it extracts the actual visible plan text password. On 10g+ encrypted representation in values clause
    HTH -- Mark D Powell --

  • Database links between Oracle 10G and 7.1/7.3 & 8.0 databases

    Hi All..
    Unfortunately one of our customers is still using very very old unsupported versions of the database - 7.1 and 7.3 and 8.0. They wish to start an upgrade process - moving up to 10G (via staged upgrades) but wish to know whether they can still access information from old databases via database links.
    I know that the Oracle 10G client cannot connect to database versions this old, and I am presuming that the database itself cannot via DB links but I thought it wise to check.
    Any help appreciated. Thank you.

    Oracle 10.1 is certified to connect to 8.1.7 and later. Database links to earlier versions are not certified and generally do not work.
    The general solution to this sort of thing tends to be putting an older version of the database (8.1.7 or 9.0.1, usually) between the ancient databases and the new database. 10.1 can create a database link to 9.0.1. 9.0.1 can create a database link to 7.3.4 and create views that reference remote 7.3.4 objects that the 10.1 system can query. Of course, you're taking data over the network twice, so performance isn't ideal, but it can work in a pinch.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • What is limit of database size in oracle 10g standard edition/edition one

    Hai All,
    What is the limit of database size in oracle 10g standard edition and standard edition one.. I see the white paper of oracle says that the limitation is 500 GB. This limitation is correct.? if correct then what happened after the limit..?
    Please help?
    Shiju

    What white paper would that be? I can't see any limit in the Oracle Database 10g Editions comparisons.
    C.

  • PUBLIC database account on oracle 10g - what are the default privilages?

    Hi there,
    I was wondering what are the default privileges to PUBLIC database account on oracle 10g R2. Could somebody explain it? Thank you in advance.

    There is not a user PUBLIC. There cannot be a user PUBLIC. Users and roles share the same name space so if there is a role PUBLIC, there can not be a user PUBLIC.
    The catalog table user$ contains both roles and users. The usage is determined by the TYPE# column - 1 = user, 0 = role.
    select user#, name, type# from user$  order by 1
    sys@esdb01:pncl# /
         USER# NAME                               TYPE#
    ========== ============================== ==========
             0 SYS                                     1
             1 PUBLIC                                  0
             2 CONNECT                                 0
             3 RESOURCE                                0
             4 DBA                                     0
             5 SYSTEM                                  1Try it yourself and see.
    SQL> create role foo;
    Role created.
    SQL> create user foo identified by bar;
    create user foo identified by bar
    ERROR at line 1:
    ORA-01920: user name 'FOO' conflicts with another user or role name                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • How to Connect to Oracle 9i database server via Oracle 10g XE

    I have installed Oracle 10g eXpress Edition and uninstalled Oracle 9i client database. I used Oracle 9i client to connect to another Database server on a local LAN. Is it possible to create a database link to the old Oracle 9i database server via Oracle 10g XE? If yes, do I need to add ODBC drivers?
    I want to achieve the following:
    1) Create a connection to the Oracle 9i database server using Ora101040 odbc drivers.
    2) Use a similar 9i tool (Enterprise Management Console) within Oracle 10g XE to access Oracle 9i Database tables on a LAN network.
    3) Create data access to Oracle 10g XE via some ODBC connection from a C++ runtime application.
    Hope to receive help from Oracle professionals.
    Thanks.

    I have installed Oracle 10g eXpress Edition and
    uninstalled Oracle 9i client database. I used OraclePlease clarify - you uninstalled the 9i database or the 9i client.
    9i client to connect to another Database server on a
    local LAN. Is it possible to create a database link
    to the old Oracle 9i database server via Oracle 10g
    XE? If yes, do I need to add ODBC drivers?
    Database links between Oracle databases do not require ODBC. They do require Oracle Networking (included with both Oracle9i Database and Oracle Database 10g XE) to be configured correctly.
    It is also possible to connect ot the 9i database using the 10g Instant Client (separate download)
    I want to achieve the following:
    1) Create a connection to the Oracle 9i database
    server using Ora101040 odbc drivers.Please clarify - what client do you wish to run that needs ODBC?
    2) Use a similar 9i tool (Enterprise Management
    Console) within Oracle 10g XE to access Oracle 9i
    Database tables on a LAN network.XE does not have an equivalent to Oracle Enterprise Manager. XE does come with HTMLdb preinstalled and configured, and HTMLdb provides a subset of the administration capabilities of Enterprise Manager.
    3) Create data access to Oracle 10g XE via some ODBC
    connection from a C++ runtime application.You can download ODBC drivers from the same location on OTN you downloaded XE. I do not know whether XE includes ODBC drivers. ODBC drivers will usually still require you to configure the Oracle Networking.
    There are a number of items that make me believe you do not have a good grasp of Oracle architecture and basics. If true, I encoureage you to start reading the Concepts manual found for the database at http://docs.oracle.com, or at least the O'Reilly book 'Oracle Essentials' found at http://oracle.oreilly.com

  • Encryptind and decrypting database column in oracle 10g

    hi guys...
    i am sai sandeep,i got a doubt how to encrypt a database column in oracle 10g..?
    i am using a table " emp_uid " ,and strtucture as follows,
    create table emp_uid(user_id varchar2(20),pwd varchar2(20));
    i need to encrypt a pwd column in the emp_uid.
    how to do it..?
    thanking u  advance.....

    Ok, here's a basic example...
    SQL> create table myusers (username varchar2(30), password varchar2(40));
    Table created.
    SQL> create or replace procedure add_user(username in varchar2
      2                                      ,password in varchar2) is
      3  begin
      4    insert into myusers (username, password)
      5      values (add_user.username
      6             ,dbms_crypto.hash(utl_raw.cast_to_raw(add_user.username||'!'||add_user.password)
      7                              ,dbms_crypto.hash_sh1)
      8             );
      9    commit;
    10  end;
    11  /
    Procedure created.
    SQL> exec add_user('Fred','Fr3ddy')
    PL/SQL procedure successfully completed.
    SQL> select * from myusers
      2  /
    USERNAME                       PASSWORD
    Fred                           E5C975DB4C0A1CF65683E36421A6305F09F4EA9A
    SQL> set serverout on;
    SQL> create or replace procedure loginuser(username in varchar2
      2                                       ,password in varchar2) is
      3    v_hash     varchar2(40);
      4    v_username varchar2(30);
      5  begin
      6    v_hash := dbms_crypto.hash(utl_raw.cast_to_raw(loginuser.username||'!'||loginuser.password), dbms_crypto.hash_sh1);
      7    select username
      8    into   v_username
      9    from   myusers
    10    where  username = loginuser.username
    11    and    password = v_hash;
    12    dbms_output.put_line('User: '||v_username||' logged in.');
    13  exception
    14    when no_data_found then
    15      dbms_output.put_line('Username/Password is not valid!');
    16  end;
    17  /
    Procedure created.
    SQL> exec loginuser('Fred','Freddy');
    Username/Password is not valid!
    PL/SQL procedure successfully completed.
    SQL> exec loginuser('Fred','Fr3ddy');
    User: Fred logged in.
    PL/SQL procedure successfully completed.
    Ideally you would do the hashing of the password inside the client side application so only the Hashed value goes over the network, but the above demonstrates the principle of using hashes to store passwords.  Because it's a one way algorithm, only a brute force method can be used to try and determine the original password.  There is no way to directly un-hash the value.  To check for a valid login, we don't retrieve the password and try to unhash it to compare against what the user has supplied, we actually take what the user has supplied and hash that in the same way and then compare the hashes.
    The point of including the username or some other data in the hashing process means that if two users have the same password, they will still have different hash values, so it won't be apparent they are the same passwords.  In my example, the point of putting another character between the concatenation of username and password is in case the username and password together would give the same result e.g.
    If we had one user "Fred" with password "Fr3ddy" then just concatenating the strings would give "FredFr3ddy".
    If we had another user "FredF" and he happened to choose a password "r3ddy" then just concatenating those would also give "FredFr3ddy"
    by introducing a known breaking character they would be different e.g. "Fred!Fr3ddy" and "FredF!r3ddy" and hence give different hash values.
    That's the basics of how passwords are stored for security.
    It would take a lot of processing power and brute force methods just to determine a single password for a single user when using hashing methods of security.
    With encryption, a brute force method could be used to find the decryption key, and once found that could be used to decrypt ALL the encyrpted data, hence it is less secure, especially when some clever person will no doubt have written the key down somewhere so they don't forget it.  With hashing there's no key to write down. 

  • Database link from oracle to db2

    Can any help me to create a database link from oracle to db2. It would be greatful if you can provide me detail steps

    <p>You don't give us much information to go on. What version of Oracle? What platform is DB2 running on? You might want to take a look at <b>this</b>. You might also look <b>here</b> and <b>here</b>.</p>
    Tom

  • Creation of database link from oracle to sql server 2000

    Hi
    I need to create a database link from oracle to sql server 2000.

    Assuming your Oracle database is running on Windows, you can set up a database link using ODBC using Heterogeneous Services and Generic Connectivity, but there are some functional limitations (i.e. no two-phase commits). If you can live with those limitations but aren't on Windows, you can generally purchase an ODBC driver for your operating system that will connect to SQL Server through someone like DataDirect and still use Generic Connectivity. If you cannot live with those limitations, you can purchase one of Oracle's Transparent Gateway products (though this can get somewhat pricey).
    What version of Oracle are you on?
    What operating system(s) are you using?
    What are you going to use the database link for?
    Justin

  • Creating Database Link from Oracle to SQL Server

    I am trying to create a database link from Oracle to SQL Server, and the documentation is about as clear as mud to me. Can anyone send me clear instructions on exactly what I need to do? What needs to be in tnsnames.ora and listener.ora files? Is there anything other than those two files that needs to be set up? Do I set up an ODBC connection? Anything else? I want to execute queries against a SQL Server database and load data into Oracle database.
    Thanks so much,
    Susan

    These are the instructions from an old document I created. The steps are same for SQL Server and Sybase. Hope it helps.
    The 9i Transparent Gateway Software is in Oracle Software CD -> oracle9i database -> Custom -> Oracle Transparent Gateways
    The gateway can be installed on the same machine as the Oracle database or
    on the Sybase server or on a third machine as a stand-alone.
    We have installed the gateway software in one of oracle database
    servers in a separate oracle home.
    These are the steps involved in configuring a gateway to a Sybase database
    1.     Install Sybase client and Gateway software on the Gateway Server
    2.     Configure <initsidfile> in the Gateway Server's <gatewayhome>
         /u00/app/oracle/product/9.2.0/tg4sybs/admin/init<gatewaysid>.ora
    Sybase server and database information is required for this step.
    eg: HS_FDS_CONNECT_INFO=USTRUD01.uwd
    3.     Add an entry in listener.ora in <listnenerhome>
         (/u00/app/oracle/product/9.0.1/network/admin/listener.ora) for the <gatewaysid>
    4.     Edit the tnsnames file (/u00/app/oracle/product/9.0.1/network/admin/tnsnames.ora)
    to add an entry <tnsalias> for the <gatewaysid>
    5.     Create a database link to the Sybase database in the oracle database.
    The steps for creating the database link are
    a. create a login oracle_tgw in the sybase server
    b. add the user to the sybase database with the necessary privilege on the tables
    c. create the database link in the required oracle database using the command
         "create public database link <dblinkname> connect to oracle_tgw identified by password using 'tnsalias'; "
    6.     Restart the gateway listener.

  • To create a database link from oracle to sqlserver with NT authentication

    Hi ,
    I need to create a database link from oracle 9i to sql server database with windows authentication.I dont have the database username and password instead the access is given to my NT ID and password.So can anyone provide me the information about creating a dblink to sql server with windows authentication.
    Thanks

    Oracle is attempting to log in to SQL Server using NT authentication.
    The Oracle process, however, is running presumably with a local admin account (normal for a Windows service). SQL Server has no idea what this local account is, so it denies the login.
    You could change the Oracle service to run as a known user (presumably not as your Windows ID but some other Windows ID you create explicitly for Oracle) and then grant that Windows ID in SQL Server appropriate privileges. That would mean, though, that when you queried tables over the database link, you'd be using that new Windows ID's privileges on SQL Server, not your Windows ID's privileges.
    As I've said, though, this is a general architectural limitation for a multi-tier architecture. The end system (SQL Server) generally has no idea who the end user (your Windows ID) is when that user is coming through a middle tier (Oracle). So it cannot apply end-user permissions to connections created by the middle tier.
    Justin

  • How to create database link between oracle and SQL Server

    Hello Everyone,
    Here i have Oracle Database 9i and SQL Server 2005 databases.
    I have some tables in sql server db and i want to access from Oracle.
    How to create a database link between these two servers
    Thanks,

    Thanks for Everyone,
    I was struggle with this almost 10 days....
    I created Database link from Oracle to SQL Server
    Now it is fine.........
    Here i am giving my servers configuration and proceedure how i created the db link...@
    Using Generic Connectivity (HSODBC) we can create db link between Oracle and SQL server.
    Machine (1)
    DB Version : Oracle 9.2.0.7.0
    Operating System : HP-UX Itanuim 64 11.23
    IP : 192.168.0.31
    Host : abcdbt
    Machine (2)
    Version : SQL Server 2005
    Operating System : Windows server 2003 x86
    IP : 192.168.0.175
    Host : SQLDEV1
    User/PW : sa/abc@123! (Connect to database)
    Database : SQLTEST (exsisting)
    Table : T (“ T “ is the table existing in SQLTEST database with 10 rows)
    Prerequisites in Machine (2):
    a)     Oracle 10g software
    b)     User account to access SQL Server database (sa/abc@123!)
    c)     Existing SQL Server Database (SQLTEST)
    d) Tables (testing purpose) (T)
    Steps:
    1)     Install Oracle 10.2.0.1 (Only SW,No need of database) *(Machine 2)*
    2)     Create a DSN where your windows Oracle 10g SW resides *(Machine 2)*
    Control panel >> Administrative Tools >> Data Source (ODBC) >> System DSN ADD
    You can follow this link also.....
    http://www.databasejournal.com/features/oracle/article.php/3442661/Making-a-Connection-from-Oracle-to-SQL-Server.htm
    I created DSN as
    DSN name : SQLTEST
    User : SA/abc@123! (Existing user account)
    Host : 192.168.0.175 (machine 2)
    Already I have 1 database in SQL Server with the name SQLTEST
    You can create DSN with different name also (not same as db name also)
    3)     Create a hsodbc init file in $ORACLE_HOME\hs\admin *(Machine 2)*
    Create init<DSN NAME> file
    Ex: initSQLTEST
    Copy inithsodbc to initSQLTEST
    And edit
    initSQLTEST file
    HS_FDS_CONNECT_INFO = SQLTEST    <DSN NAME>*
    HS_FDS_TRACE_LEVEL = OFF*
    save the file....@
    4)     Configure Listener.ora *(Machine 2)*
    LISTENER_NEW =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.175)(PORT = 1525))
    SID_LIST_LISTENER_NEW =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = SQLTEST) *+< Here SQLTEST is DSN NAME >+*
    (ORACLE_HOME = G:\oracle 10g\oracle\product\10.2.0\db_1)
    (PROGRAM = hsodbc))
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = G:\oracle 10g\oracle\product\10.2.0\db_1)
    (PROGRAM = extproc) )
    :> lsnrctl start LISTENER_NEW
    5)     Configure tnsname.ora *(Machine 2)*
    SQLTEST11 =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.175)(PORT = 1525))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = SQLTEST))
    (HS=OK)
    :> tnsping SQLTEST11
    If No errors then conti….
    6)     Configure a file *(Machine 1)*
    Cd $TNS_ADMIN ($ORACLE_HOME/network/admin)
    Create a file
    $ vi TEST_abcdbt_ifile.ora
    something=
    (DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST =192.168.0.175) (PORT=1525))
    (CONNECT_DATA=
    (SID=SQLTEST))
    (HS=OK)
    $ tnsping something
    $ sqlplus system/manager
    Your connected to Oracle database *(machine 1)*
    create database link xyz connect to “sa” identified by “abc@123!” using ‘SOMETHING’;
    select * from t@xyz;10 rows selected.
    Thanks,
    Edited by: ram5424 on Feb 10, 2010 7:24 PM

  • Database link between Oracle 11g and MS Sql Server 2005 EE

    Hi everybody,
    I trying to create database link from Oracle 11g to MS Sql and I'm not succesful.
    I found tutorial for Oracle 10g, but it does't work.
    I created odbc data source, then I modified tnsnames.ora and listener.ora, then I created initkw.ora in HS directory and then I created dabase link, but it does't work.
    Can you help me please? Thanks for help ... ondra
    Tnsnames.ora:
    KW =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = tcp)(HOST = oracle_ip)(PORT = 1521))
    (CONNECT_DATA =
    (SID = KW)
    (HS = OK)
    listener.ora:
    (SID_DESC =
    (SID_NAME = KW)
    (ORACLE_HOME = C:\oracle\product\11.1.0\db_1)
    (PROGRAM = hsodbc)
    initkw.ora
    HS_FDS_CONNECT_INFO = kw
    HS_FDS_TRACE_LEVEL = 0
    HS_FDS_TRACE_FILE_NAME = kw.trc
    create public database link KW connect to "user" identified by "pass" using 'KW';
    Message was edited by:
    user598176

    Hi, I get two errors.
    ORA-28545 - NET8 mistake Unable to restrieve textof NEWTWORK/NCR message 65535
    and then ORA-02063
    zenda
    I resolved one of error, I have wrong ip.
    But now I have another error:
    ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
    [Generic Connectivity Using ODBC][Microsoft][ODBC Driver Manager] Data source name
    not found and no default driver specified (SQL State: IM002; SQL Code: 0)
    I have ODBC data source in system DSN
    PS: Our Oracle 11g database is 64 bit version
    Message was edited by:
    user598176

  • Can't create database link to oracle 8i

    can you tel me please why i can't create a database link to oracle 8i from owb 9.2.0.2.8

    Can you please provide more information: what is the error you are getting? Are you creating the link while importing metadata or while deploying?
    Nikolai

  • Can we rename the database name in oracle 10g

    Hi,
    Can we rename the database name in oracle 10g.
    Please help

    Yes as already said, using DBNEWID Utility can renamed the database name.
    You can also take a look at the Oracle Metalink Note:429674.1 (Which was written by me) - Subject: How We Used the Oracle DBNEWID Utility to Change the Database Name
    Regards,
    Sabdar Syed.

Maybe you are looking for