Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
db2look
|
|||
|---|---|---|---|
|
#18+
привет всем у меня такая проблема: надо перенести базу с win на linux (fedora8) мне посоветовали использовать db2move но потом было проблема с таблицами содержашие xml и в справочнике ibm посоветовали исползовать db2look теперь проблема я делаю: 1.db2look -d dbname -i db2admin -w pasw -e -t nametable -o db2look.sql 2.db2move dbname export 3.db2move dbname import -io replace -i db2admin -w pasw 3.выходит ошибка sql3304 что делать уже весь инет облазил у меня с англ не очень ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 14:33 |
|
||
|
db2look
|
|||
|---|---|---|---|
|
#18+
Arman Baibmekov, вообще db2look генерирует скрипт для создания схемы. Соотвественно схему надо создать в новой базе, прежде чем грузить туда данные. Только я не понял, зачем вам -t nametable указывать? Вы же хотите всю базу перенести, а не отдельные таблицы. Вам скорей нужен параметр -z SCHEMA_NAME, чтобы указать схему, где находятся ваши данные. И тогда db2look.sql будет содержать полную схему базы, которую надо создать на другой машине. Вот почитайте немного про воссоздание баз http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.pd.doc/doc/c0020703.htm Так что прежде чем делать импорт выполните db2 -tvf db2look.sql Т.е. весь процесс будет выглядеть так. 1. db2look -d dbname -i db2admin -w pasw -e -z schema -o db2look.sql 2. db2move dbname export 3. db2 -tvf db2look.sql 4. db2move dbname import -io replace -i db2admin -w pasw ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2009, 00:13 |
|
||
|
db2look
|
|||
|---|---|---|---|
|
#18+
ARIST_A, спасибо за то что вы мне помагаете я сделал все так как вы написали но выходит таже ошибка: * IMPORT: table "DB2ADMIN"."S_TASKS" ***ERROR -3304. Check message file tab50.msg! *** SQLCODE: -3304 - SQLSTATE: *** SQL3304N The table does not exist. когда я пишу это: db2look -d dbname -i db2admin -w pasw -e -z schema -o db2look.sql выходит это: -- No userid was specified, db2look tries to use Environment variable USER -- USER is: DB2INST1 -- Specified SCHEMA is: DB2ADMIN -- Creating DDL for table(s) -- Schema name is ignored for the Federated Section -- Output is sent to file: db2look.sql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2009, 11:07 |
|
||
|
db2look
|
|||
|---|---|---|---|
|
#18+
ARIST_A, А теперь выходит это ошибка: * IMPORT: table "DB2ADMIN"."REPORT" ***ERROR -3201. Check message file tab39.msg! *** SQLCODE: -3201 - SQLSTATE: *** SQL3201N The specified table cannot be replaced because another table is dependent on it. я посматрел что это за ошибка: SQL3201N Данную таблицу нельзя заменить, поскольку от нее зависит другая таблица. Объяснение: Таблицу, которая является базовой по отношению к другой таблице, нельзя заменить. Команду невозможно выполнить. Действия пользователя: Выберите другую опцию, например, INSERT, или выберите другое назначение для операции. есть ли еще какие нибудь варианты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2009, 12:00 |
|
||
|
db2look
|
|||
|---|---|---|---|
|
#18+
ARIST_A, когда я использую db2look c параметром -z выходит это: -- No userid was specified, db2look tries to use Environment variable USER -- USER is: DB2INST1 -- Specified SCHEMA is: DB2ADMIN -- Creating DDL for table(s) -- Schema name is ignored for the Federated Section -- Output is sent to file: db2look.cpl так дальше я делаю EXPORT: Disconnecting from database ... successful! теперь я делаю: db2 -tvf db2look.sql он просит пороль, все OK. дальше IMPORT и тут ОШИБКА: * IMPORT: table "DB2ADMIN"."TASK" ***ERROR -3304. Check message file tab38.msg! *** SQLCODE: -3304 - SQLSTATE: *** SQL3304N The table does not exist. все приехали уже без вариантов что делать незнаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2009, 12:53 |
|
||
|
db2look
|
|||
|---|---|---|---|
|
#18+
Arman Baibmekov, Давайте еще раз по порядку. Вам надо всю базу целиком перенести или 1 схему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2009, 13:32 |
|
||
|
db2look
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, так мне надо всю базу целиком с Win-ды на линукс перенести я сидя на лин-се делаю: 1)db2look -d Dbname -i db2admin -w pasw -e -z schema -o db2look.sql 2)db2move Dbname export -u db2admin -p pasw 3) db2 -tvf db2look.sql 4)db2move Dbname import -io replace -u db2inst1 -p pasw все. При импорте на некоторых таблицах выдает эту ошибку: * IMPORT: table "DB2ADMIN"."S_TASKS" ***ERROR -3304. Check message file tab50.msg! *** SQLCODE: -3304 - SQLSTATE: *** SQL3304N The table does not exist. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2009, 13:57 |
|
||
|
db2look
|
|||
|---|---|---|---|
|
#18+
Если win_db - база на windows, lin_db - база на linux (предполагаю, что она уже создана), то: 1. db2look -d win_db -i db2admin -w pasw -a -e -l -x -f -td $ -o db2look.ddl 2. Смотрим в db2look.ddl. В начале файла - команды создания буферных пулов и табличных пространств. Также там имя базы на windows. Вам сначала надо выделить эти команды в отдельный файл (db2look_l.ddl) и - изменить в нём имя базы (если linux база - удаленная то указать имя пользователя и пароль в команде connect: connect to lin_db user ... using ...$ ) - если в командах создания tablespace'ов есть windows пути - заменить на linux'овые - по этим путям у вас будут лежать контейнеры tablespace'ов на linux. - в базе lin_db уже могут быть созданы некоторые табличные пространства и буферные пулы, указанные в скрипте. Если они вас устраивают, закомментируйте их создание в db2look_l.ddl, например: (-- create tablespace ...$ --) Остальные команды, не касающиеся табличных пространств и буферных пулов выкиньте из этого файла пока. 3. Выполните на linux: db2 -td$ -vsf db2look_l.ddl -z db2look_l.log Оно запустится с опцией завершения работы при ошибке (она у вас, скорее всего, появится где-нибудь :)). Скажите, где отвалилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2009, 14:53 |
|
||
|
db2look
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, привет все сделал как вы сказали когда пишу db2 -td$ -vsf db2look_l.ddl -z db2look_l.log выходит ЭТО после ввода пароля: CONNECT TO DB_LANGS USER db2inst1 Database Connection Information Database server = DB2/LINUX 9.5.0 SQL authorization ID = DB2INST1 Local database alias = DB_LANGS CREATE LARGE TABLESPACE SYSTOOLSPACE IN DATABASE PARTITION GROUP IBMCATGROUP PAGESIZE 4096 MANAGED BY AUTOMATIC STORAGE AUTORESIZE YES INITIALSIZE 32 M MAXSIZE NONE EXTENTSIZE 4 PREFETCHSIZE AUTOMATIC BUFFERPOOL IBMDEFAULTBP OVERHEAD 7.500000 TRANSFERRATE 0.060000 DROPPED TABLE RECOVERY ON DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: SQL0601N The name of the object to be created is identical to the existing name "SYSTOOLSPACE" of type "TABLESPACE". SQLSTATE=42710 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2009, 08:08 |
|
||
|
db2look
|
|||
|---|---|---|---|
|
#18+
Я же писАл, что существующие табличные пространства и буферные пулы не надо создавать. Если они не нравятся, им надо сделать drop перед create. Посмотреть существующие табличные пространства и буферные пулы можно так: db2 connect to lin_db db2 "select substr(tbspace, 1, 30) from syscat.tablespaces" db2 "select substr(bpname, 1, 30) from syscat.bufferpools" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2009, 10:16 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=35764868&tid=1603461]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 205ms |
| total: | 354ms |

| 0 / 0 |
