Ответ 1
Команда copy
- это команда SQL * Plus (а не команда SQL Developer). Если у вас есть настройки записей tnsname для SID1 и SID2 (например, попробуйте tnsping), вы сможете выполнить свою команду.
Другое предположение состоит в том, что таблица1 имеет те же столбцы, что и message_table (а столбцы имеют только следующие типы данных: CHAR, DATE, LONG, NUMBER или VARCHAR2). Кроме того, с помощью команды insert вы должны быть обеспокоены первичными ключами (например, что вы не вставляете повторяющиеся записи).
Я попробовал вариант вашей команды в SQL * Plus (без ошибок):
copy from scott/[email protected] to scott/[email protected] create new_emp using select * from emp;
После выполнения вышеуказанного оператора я также обрезаю таблицу new_emp и выполнил следующую команду:
copy from scott/[email protected] to scott/[email protected] insert new_emp using select * from emp;
С помощью SQL Developer вы можете сделать следующее для аналогичного подхода к копированию объектов:
-
На панели инструментов выберите "Инструменты" > "Копировать базу данных".
-
Определите исходные и целевые соединения с параметрами копирования, которые вы хотели бы.
-
Для типа объекта выберите таблицу (ы).
- Укажите конкретные таблицы (например, таблицу 1).
Подход команды копирования устарел, и его функции не обновляются с выпуском новых типов данных. Существует ряд более современных подходов к этому, например, к насосу данных Oracle (даже для таблиц).