Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Как скопировать таблицу из одной базы в другую2 ?  [new]
well9999
Member

Откуда: Белгородская обл.
Сообщений: 155
В каждую базу я захожу под своим логином и паролем. В первой базе прав море, во второй могу только делать выборки.
Как можно скопировать таблицу из второй базы в первую?
CREATE TABLE... AS SELECT * ....
не получается. Где-то явно туплю. Опыта ещё нет :(.
Если можно примерчик, пожалуйста.
13 авг 09, 09:11    [7531285]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу из одной базы в другую2 ?  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
1. export/import таблички между БД

2. создаете дблинк к БД2 из БД1
create database link DB2
  connect to user_name2 identified by 'password' 
  using 'tns_db2';

ну а дальше
2-а
CREATE TABLE... AS SELECT * from table_name@db2 .

2-б
sqlplus> copy
13 авг 09, 09:22    [7531316]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу из одной базы в другую2 ?  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
pravednik
identified by 'password' 

Тока кавычки лишние
13 авг 09, 09:23    [7531325]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу из одной базы в другую2 ?  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
Вячеслав Любомудров
pravednik
identified by 'password' 

Тока кавычки лишние

угу...спросоня ещо..
спасибо за поправку)))
13 авг 09, 09:28    [7531344]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу из одной базы в другую2 ?  [new]
well9999
Member

Откуда: Белгородская обл.
Сообщений: 155
pravednik
1. export/import таблички между БД

2. создаете дблинк к БД2 из БД1
create database link DB2
  connect to user_name2 identified by 'password' 
  using 'tns_db2';

ну а дальше
2-а
CREATE TABLE... AS SELECT * from table_name@db2 .

2-б
sqlplus> copy


Так если конкретно. Пусть есть база1 с сервисом: ORA1
пользователь(схема): user1
пароль:pas1

И база2 с сервисом: ORA2
пользователь: user2
пароль:pas2

Даю команду(создаю линк xxx):
CREATE DATABASE LINK xxx CONNECT TO user2 IDENTIFIED BY pas2 USING 'ORA2';

Правильно?
Но у меня почему-то выдаётся ошибка:ORA-00988: отсутствует или неверен пароль
Но пароль правилен . Когда я даю строку
CONNECT user2/pas2@ORA2
то всё коннектится нормально.
Где у меня ошибка?
13 авг 09, 13:10    [7532980]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу из одной базы в другую2 ?  [new]
well9999
Member

Откуда: Белгородская обл.
Сообщений: 155
pravednik
1. export/import таблички между БД

2. создаете дблинк к БД2 из БД1
create database link DB2
  connect to user_name2 identified by 'password' 
  using 'tns_db2';

ну а дальше
2-а
CREATE TABLE... AS SELECT * from table_name@db2 .

2-б
sqlplus> copy


Так если конкретно. Пусть есть база1 с сервисом: ORA1
пользователь(схема): user1
пароль:pas1

И база2 с сервисом: ORA2
пользователь: user2
пароль:pas2

Даю команду(создаю линк xxx):
CREATE DATABASE LINK xxx CONNECT TO user2 IDENTIFIED BY pas2 USING 'ORA2';

Правильно?
Но у меня почему-то выдаётся ошибка:ORA-00988: отсутствует или неверен пароль
Но пароль правилен . Когда я даю строку
CONNECT user2/pas2@ORA2
то всё коннектится нормально.
Где у меня ошибка?
13 авг 09, 13:22    [7533129]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу из одной базы в другую2 ?  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
для начала - на сервере ORA1 есть tnsnames.ora с описанием ORA2 ?
13 авг 09, 13:27    [7533198]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу из одной базы в другую2 ?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
well9999,

а вы (тоже) апострофы уберите
13 авг 09, 13:32    [7533241]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу из одной базы в другую2 ?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
orawish
well9999,

а вы (тоже) апострофы уберите

был не прав
1) можете в спецификации линка задать описание удалённой базы явно
create database link ... -- link5
connect to ... -- SCOTT
identified by ... -- TIGER
using '(description=
(address=
(protocol = tcp )
(host = ... )
(port = 1521 )
)
(connect_data=
(sid = ... )
)
)';
2) проверьте как удалённая база настроена в смысле чувствительности
к регистру пароль-логинов
13 авг 09, 13:36    [7533274]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу из одной базы в другую2 ?  [new]
well9999
Member

Откуда: Белгородская обл.
Сообщений: 155
в tnsnames.ora описание есть. Да и не подконнектился бы я без него ко второй базе.

скопировал я оттуда нужные строки... Но хоть убей выдаёт ошибку о неправильном пароле.
Может привелегий недостаточно для создания линка?
13 авг 09, 13:57    [7533450]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу из одной базы в другую2 ?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
well9999
в tnsnames.ora описание есть. Да и не подконнектился бы я без него ко второй базе.

скопировал я оттуда нужные строки... Но хоть убей выдаёт ошибку о неправильном пароле.
Может привелегий недостаточно для создания линка?

поймите разницу - к удаленной базе должен коннектится не ваш клиент,
а ваш сервер (тот, на котором вы создаёте линк) соответственно, ежели он
использует tnsnames.ora, то в его tnsnames.ora должен быть тот псевдоним,
который вы используете в using
13 авг 09, 14:13    [7533572]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу из одной базы в другую2 ?  [new]
well9999
Member

Откуда: Белгородская обл.
Сообщений: 155
Да псевдоним тот же. Где-то в другом загвоздка.
13 авг 09, 14:41    [7533794]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу из одной базы в другую2 ?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
well9999
Да псевдоним тот же. Где-то в другом загвоздка.

уходите нафик от тнснамесов, а то один правите, другой используется..
напишите в самом линке, явно host:port/sid ну или как выше я вам то процитировал
13 авг 09, 14:45    [7533827]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу из одной базы в другую2 ?  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10051
pravednik
1. export/import таблички между БД

2. создаете дблинк к БД2 из БД1
create database link DB2
  connect to user_name2 identified by 'password' 
  using 'tns_db2';

ну а дальше
2-а
CREATE TABLE... AS SELECT * from table_name@db2 .

2-б
sqlplus> copy


??? 2-б has nothing to do with 2. In fact 2-б is much simpler. Step 2 implies another step - adding tns_db2 entry to TNSNAMES on database server БД1. And that is the step OP is missing (being able to connect to БД2 from client has nothing to do with ability to get to БД2 via db link on БД1). SQL*Plus copy command is pure client side and will use client's tnsnames.ora.

SY.

Сообщение было отредактировано: 13 авг 09, 15:05
13 авг 09, 15:05    [7533986]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу из одной базы в другую2 ?  [new]
well9999
Member

Откуда: Белгородская обл.
Сообщений: 155
Зашёл я в консоль менеджера, зашёл в Create Database Link забил имя линка, имя пользователя, пароль, имя сервиса. И всё создалось.... Посмотрел SQL текст, разницы никакой.. хотя есть разница. Двойные кавычки в пароле, имени линка и пользователя.
Вот из за этой лабуды и ругался SQL+
13 авг 09, 15:15    [7534060]     Ответить | Цитировать Сообщить модератору
 Re: Как скопировать таблицу из одной базы в другую2 ?  [new]
well9999
Member

Откуда: Белгородская обл.
Сообщений: 155
Да, забыл сказать..
Всем спасибо!
13 авг 09, 15:46    [7534360]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить