Скрипты Bteq для копирования данных между двумя серверами Teradata - PullRequest
2 голосов
/ 31 мая 2011

Как скопировать данные из нескольких таблиц в одной базе данных в другую базу данных, находящуюся на другом сервере?

Возможно ли это с помощью сценария BTEQ в Teradata?

Если да, укажитеsample.

Если нет, есть ли другие способы сделать это, кроме использования плоского файла?

Ответы [ 4 ]

3 голосов
/ 01 июня 2011

Это невозможно с помощью BTEQ, поскольку вы упомянули, что обе базы данных находятся на разных серверах.

Для этого есть два решения.

  • Arcmain - Сначала необходимо использовать Arcmain Backup, который создает файлы, содержащие данные из ваших таблиц. Затем вам нужно использовать Arcmain restore, которая восстанавливает данные из файлов

  • TPT - Teradata Parallel Transporter. Это очень продвинутый инструмент. Это не создает никаких файлов, таких как Arcmain. Он напрямую перемещает данные между двумя серверами teradata. (Википедия)

2 голосов
/ 01 июня 2011

Если я понимаю ваш вопрос, вы хотите переместить набор таблиц из одной БД в другую.

Вы можете использовать следующий синтаксис в скрипте BTEQ для копирования таблиц и данных:

CREATE TABLE <NewDB>.<NewTable> AS <OldDB>.<OldTable> WITH DATA AND STATS;

Или просто структуры таблиц:

CREATE TABLE <NewDB>.<NewTable> AS <OldDB>.<OldTable> WITH NO DATA AND NO STATS;

Если вы действительно разбираетесь в этом, вы можете создать скрипт BTEQ, который динамически создает приведенный выше операторв операторе SELECT экспортирует результаты, а затем поочередно запускает только что экспортированный файл в одном скрипте BTEQ.

Существует множество других опций, которые вы можете сделать с CREATE TABLE <...> AS <...>;.Для получения более подробной информации вам лучше всего ознакомиться с руководствами Teradata.

0 голосов
/ 01 марта 2013

Если вы хотите переместить данные с одного сервера на другой, то Мы можем сделать это с плоским файлом. Сначала мы получаем данные из исходной таблицы в плоский файл с помощью любой утилиты, такой как bteq или fastexport. затем мы можем загрузить эти данные в целевую таблицу с помощью сценариев mload, fastload или bteq.

0 голосов
/ 17 июня 2011

Есть еще несколько опций, которые позволят вам копировать из одной таблицы в другую.

Возможно, самый простой способ - написать небольшую программу, которая использует один из своих уровней связи (ODBC, .NET).Поставщик данных, JDBC, cli и т. Д.) И используйте его для получения оператора выбора и оператора вставки.Это потребует некоторой работы, но потребует меньших затрат, чем попытка научиться писать сценарии TPT.Вам не понадобятся какие-либо разрешения «DBA» для написания своих собственных.

Teradata также продает другие приложения, что скрывает сложность некоторых инструментов.Ручки Teradata Data Mover обеспечивают уровень абстракции между такими инструментами, как arcmain и tpt.Доступ к этому инструменту, скорее всего, ограничен типами администраторов баз данных.

...