|Переименовывает базу данных или перемещает базу данных или ее часть |(например, контейнер, каталог журналов), как задано в предоставляемом |пользователем файле конфигурации. Этот инструмент вносит необходимые |изменения в экземпляр DB2 и в файлы поддержки базы данных.
|Авторизация
|Нет
|Необходимое соединение
|Нет
|Синтаксис
|>>-db2relocatedb---f--имя_файла_конфигурации------------------->< | |
|Параметры команды |
| DB_NAME=старое_имя,новое_имя | DB_PATH=старый_путь,новый_путь | INSTANCE=старый_экземпляр,новый_экземпляр | NODENUM=номер_узла | LOG_DIR=старый_путь_каталога,новый_путь_каталога | CONT_PATH=старый_путь_контейнера1,новый_путь_контейнера1 | CONT_PATH=старый_путь_контейнера2,новый_путь_контейнера2 | ...
|Где: |
|Примеры
|Пример 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: |
| 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.