Замечания по выпуску


|14.3 db2relocatedb (новая команда)

|db2relocatedb - переместить базу данных

|Переименовывает базу данных или перемещает базу данных или ее часть |(например, контейнер, каталог журналов), как задано в предоставляемом |пользователем файле конфигурации. Этот инструмент вносит необходимые |изменения в экземпляр DB2 и в файлы поддержки базы данных.

|Авторизация

|Нет

|Необходимое соединение

|Нет

|Синтаксис

|>>-db2relocatedb---f--имя_файла_конфигурации-------------------><
| 
| 

|Параметры команды |

|-f имя_файла_конфигурации
|Задает имя файла с информацией о конфигурации, необходимой для перемещения |базы данных. Имя файла может быть как относительным, так и |абсолютным. Формат файла конфигурации:
|   DB_NAME=старое_имя,новое_имя
|   DB_PATH=старый_путь,новый_путь
|   INSTANCE=старый_экземпляр,новый_экземпляр
|   NODENUM=номер_узла
|   LOG_DIR=старый_путь_каталога,новый_путь_каталога
|   CONT_PATH=старый_путь_контейнера1,новый_путь_контейнера1
|   CONT_PATH=старый_путь_контейнера2,новый_путь_контейнера2
|   ...

|Где: |

|DB_NAME
|Задает имя перемещаемой базы данных. Если имя базы данных |изменяется, надо указать как старое, так и новое имя базы данных. Это |обязательное поле.

|DB_PATH
|Задает путь перемещаемой базы данных. Это путь, по которому база |данных была первоначально создана. Если путь к базе данных изменяется, |надо указать как старый, так и новый путь. Это обязательное |поле.

|INSTANCE
|Указывает экземпляр, в котором находится нужная база данных. Если |база данных переносится в новый экземпляр, надо указать как старый, так и |новый экземпляр. Это обязательное поле.

|NODENUM
|Указывает номер для изменяемого узла базы данных. По умолчанию |предполагается 0.

|LOG_DIR
|Задает изменение пути журналов. Если путь к журналам изменяется, |надо указать как старый, так и новый путь. Это указание необязательно, |если каталог журналов - подкаталог каталога базы данных; в этом случае |путь обновляется автоматически.

|CONT_PATH
|Задает изменение положения контейнеров табличных пространств. Надо |указать как старый, так и новый путь к контейнерам. Если изменяются |несколько путей к контейнерам, можно указать несколько строк |CONT_PATH. Это указание необязательно, если каталог контейнеров - |подкаталог каталога базы данных; в этом случае пути обновляются |автоматически. |
|Прим.:
Пустые строки и строки, начинающиеся с символа комментария (#), |игнорируются. |
|

|Примеры

|Пример 1

|Чтобы изменить на PRODDB имя базы данных TESTDB в экземпляре DB2INST1, |находящемся по пути /home/db2inst1, создайте следующий файл |конфигурации:

|   DB_NAME=TESTDB,PRODDB
|   DB_PATH=/home/db2inst1
|   INSTANCE=db2inst1
|   NODENUM=0

|Сохраните этот файл конфигурации как relocate.cfg и |используйте следующую команду для внесения изменений в файлы базы |данных:

|db2relocatedb -f relocate.cfg

|Пример 2

|Чтобы переместить базу данных DATAB1 из экземпляра JSMITH, расположенного |по пути /dbpath, в экземпляр PRODINST: |

  1. |Перенесите файлы из каталога /dbpath/jsmith в каталог |/dbpath/prodinst.
  2. |Чтобы внести изменения в файлы базы данных, воспользуйтесь командой |db2relocatedb со следующим файлом конфигурации:
    |   DB_NAME=DATAB1
    |   DB_PATH=/dbpath
    |   INSTANCE=jsmith,prodinst
    |   NODENUM=0
    |

|Пример 3

|База данных PRODDB существует в экземпляре INST1 по пути |/databases/PRODDB. Требуется изменить положение двух |контейнеров табличных пространств: |

|После физического перемещения каталогов и файлов в новые положения для |внесения изменений в файлы базы данных, чтобы они распознавали эти новые |положения, можно использовать команду db2relocatedb со следующим |файлом конфигурации:

|   DB_NAME=PRODDB
|   DB_PATH=/databases/PRODDB
|   INSTANCE=inst1
|   NODENUM=0
|   CONT_PATH=/data/SMS1,/DATA/NewSMS1
|   CONT_PATH=/data/DMS1,/DATA/DMS1

|Пример 4

|База данных TESTDB существует в экземпляре DB2INST1 и была создана в |положении /databases/TESTDB. Затем были созданы табличные |пространства со следующими контейнерами:

|   TS1
|   TS2_Cont0
|   TS2_Cont1
|   /databases/TESTDB/TS3_Cont0
|   /databases/TESTDB/TS4/Cont0
|   /Data/TS5_Cont0
|   /dev/rTS5_Cont1

|TESTDB необходимо перенести в новую систему. Экземпляр в этой новой |системе будет называться NEWINST, а база данных будет расположена по пути |/DB2.

|При перемещении базы данных все файлы, существующие в каталоге |/databases/TESTDB/db2inst1, должны быть перенесены в каталог |/DB2/newinst. Это означает, что при перемещении должно быть |изменено положение первых пяти контейнеров. (Первые три относятся |к каталогу базы данных, а следующие два - к пути базы данных.) Так |как эти контейнеры располагаются в каталоге базы данных или по пути к базе |данных, их не надо перечислять в файле конфигурации. Если два |оставшихся контейнера будут переноситься в новой системе в другое положение, |их надо упомянуть в файле конфигурации.

|После физического перемещения каталогов и файлов в новые положения для |внесения изменений в файлы базы данных, чтобы они распознавали эти новые |положения, можно использовать команду db2relocatedb со следующим |файлом конфигурации:

|   DB_NAME=TESTDB
|   DB_PATH=/databases/TESTDB,/DB2
|   INSTANCE=db2inst1,newinst
|   NODENUM=0
|   CONT_PATH=/Data/TS5_Cont0,/DB2/TESTDB/TS5_Cont0
|   CONT_PATH=/dev/rTS5_Cont1,/dev/rTESTDB_TS5_Cont1

|Пример 5

|У базы данных TESTDB есть 2 раздела на узлах 10 и 20. У обоих узлов |экземпляр - SERVINST, а путь к базе данных - /home/servinst. |На обоих узлах имя базы данных изменяется на SERVDB, а путь к базе данных |изменяется на /databases. Кроме того, каталог журналов на |узле 20 изменяется с /testdb_logdir на |/servdb_logdir.

|Поскольку изменения производятся для обоих узлов, для каждого из них надо |создать свой файл конфигурации, а команду db2relocatedb надо |запускать на каждом узле с соответствующим файлом конфигурации.

|На узле 10 будет использоваться следующий файл конфигурации:

|   DB_NAME=TESTDB,SERVDB
|   DB_PATH=/home/servinst,/databases
|   INSTANCE=servinst
|   NODE_NUM=10

|На узле 20 будет использоваться следующий файл конфигурации:

|   DB_NAME=TESTDB,SERVDB
|   DB_PATH=/home/servinst,/databases
|   INSTANCE=servinst
|   NODE_NUM=20
|   LOG_DIR=/testdb_logdir,/servdb_logdir

|Замечания по использованию

|Если изменяется экземпляр, к которому принадлежит база данных, для гарантии |того, что в файлах поддержки экземпляра и базы данных будут сделаны изменения, |перед запуском этой команды выполните следующие действия: |

|Если изменяется экземпляр, инструмент должен запускаться владельцем нового |экземпляра.

|В среде EEE этот инструмент должен запускаться в отношении каждого узла, на |котором необходимо сделать изменения. Для каждого узла нужен |собственный файл конфигурации, включающий значение NODENUM изменяемого |узла. Например, если изменяется имя базы данных, затрагиваются все |узлы, и команду db2relocatedb надо запускать на каждом из них со |своим файлом конфигурации. Если перемещаются контейнеры, принадлежащие |одному узлу, команду db2relocatedb надо запускать только на этом |узле.

|Смотрите также

|Дополнительную информацию смотрите в описании команды db2inidb - |Initialize a Mirrored Database (Инициализация базы данных с зеркальной |копией) справочника Command Reference.


[ Начало страницы | Страница назад | Страница вперед | Содержание | Индекс ]