• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 823
  • Last Modified:

Oracle -- Database LINK -- on two different servers

Doing the below works when i have two databases (test & dev) on the same machine (server1)

How can I do the same logic, but on different machines ?

Example = dev is on server1 and test is on server2

create public database link
  dev123     -- user defined, can be anything
connect to
  hr            -- DEV's user
identified by
  .....            -- DEV's password
using 'dev'; -- DEV's SID

create public database link
  test123     -- user defined, can be anything
connect to
  hr            -- test's user
identified by
  .....            -- test's password
using 'test'; -- test's SID

insert into accounting_structure_tab@dev123
select *
from accounting_structure_tab@test123;
0
finance_teacher
Asked:
finance_teacher
1 Solution
 
sdstuberCommented:
you do it the exact same way


the only "trick" is you need to make sure your tnsnames.ora (or ldap if using that) is configured on DEV so your DEV db can find your TEST db on the other server.
0
 
sdstuberCommented:
also, you don't need (or want) 2 database links.


you only want one link, from the target system linking to the source system.

In your case, you want one link on dev that connects to test.
0
 
BawerCommented:
try this format

Select * from [ServerName].[DatabaseName].[Scheme].[TableName]
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
sdstuberCommented:
Bawer,

that's sqlserver syntax,  doesn't apply here
0
 
sventhanCommented:
If you do not want to use DB link, you could use SQL Plus copy command. Its over the wire and does not require a DB link.

http://download.oracle.com/docs/cd/B10501_01/server.920/a90842/apb.htm
0
 
sdstuberCommented:
dblink is more efficient, it allows direct insert from source to target

COPY will copy all of the data locally to you client  from the source then do inserts from your client to the target

if the table is small you might not notice the lag but if it's large, dblink is definitely the way to go
Note, you can't copy  LONG type across the dblink but COPY will allow it.  Hopefully you aren't using LONG types though, they were deprecated years ago
0
 
sventhanCommented:

COPY FROM username/your_password@db-
append accounting_structure_tab-
USING select * -
from accounting_structure_tab
0
 
gopiseraCommented:
Here is the syntax for your question.

create database link name connect to <username> identified by <password of user> using 'tnsentry';
0

Featured Post

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now