Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как сделать клон базы SAMPLE? / 6 сообщений из 6, страница 1 из 1
25.01.2011, 17:29
    #37078017
Как сделать клон базы SAMPLE?
Здравствуйте!

Нужно сделать клон БД SAMPLE.

OC Ubuntu 10.04

логин под db2inst1

$ db2look -d sample -u db2inst1 -a -e -x -l -o sample.ddl
$ db2 create database sample2 pagesize 8192
$ db2 -td# -vf sample.ddl -z recreate_from_sample_to_sample2.log
$ db2move sample export
$ db2move sample2 load

Что я делаю неправильно? Базу sample2 неправильно создаю?

Логи прилагаются :)

Спасибо.

С уважением,
Черников Иван.
...
Рейтинг: 0 / 0
25.01.2011, 19:23
    #37078286
Ivan Ivanich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать клон базы SAMPLE?
А чем backup-restore не устраивает?
...
Рейтинг: 0 / 0
25.01.2011, 19:50
    #37078329
Как сделать клон базы SAMPLE?
Ivan Ivanich,

Просто надо сделать именно так и никак иначе :)
Практическая сторона - перемещение данных между разными платформами.

Почему представления не создавались, я уже нашёл (файл sample.ddl).

Теперь надо разобраться как целостность базы восстанавливать после db2move sample2 load...

Спасибо.
...
Рейтинг: 0 / 0
26.01.2011, 08:43
    #37078747
const64
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать клон базы SAMPLE?
По Вашим логам БД создалась, и данные в нее залились (кроме SYSTOOLS.STMG_DBSIZE_INFO - но я подозреваю, что данные из нее и не нужно переносить), в чем тогда проблема? Вы с sample2 работать не можете?
...
Рейтинг: 0 / 0
26.01.2011, 09:17
    #37078801
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать клон базы SAMPLE?
Иван Черников...
Теперь надо разобраться как целостность базы восстанавливать после db2move sample2 load...

Спасибо.

После load надо проверить целостность данных с помощью set integrity для таблиц у которых syscat.tables.status='C' выполнив для них set integrity с опцией immediate checked.
...
Рейтинг: 0 / 0
28.01.2011, 15:32
    #37084644
Как сделать клон базы SAMPLE?
Наконец то я разобрался :))

1. Команда db2look -d sample -u db2inst1 -a -e -x -l -o sample.ddl (кстати, -u db2inst1 здесь лишняя опция, т.к. она перекрывается опцией -a) создала файл sample.ddl, но почему то операторы создания алиасов для таблиц DEPARTMENT, EMPLOYEE и т.д. поместила после операторов создания представлений, в которых используются алиасы упомянутых таблиц.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
....
....
SET CURRENT SCHEMA = "DB2INST1"#
SET CURRENT PATH = "SYSIBM","SYSFUN","SYSPROC","SYSIBMADM","DB2INST1"#
CREATE VIEW VPHONE   (LASTNAME,   FIRSTNAME,   MIDDLEINITIAL,   PHONENUMBER,
  EMPLOYEENUMBER,   DEPTNUMBER,   DEPTNAME) AS SELECT ALL LASTNAME,   FIRSTNME,
  MIDINIT ,   VALUE(PHONENO,' '),   EMPNO,   DEPTNO,   DEPTNAME FROM EMP,
DEPT WHERE WORKDEPT = DEPTNO#

SET CURRENT SCHEMA = "DB2INST1"#
SET CURRENT PATH = "SYSIBM","SYSFUN","SYSPROC","SYSIBMADM","DB2INST1"#
CREATE VIEW VEMPLP   (EMPLOYEENUMBER,   PHONENUMBER) AS SELECT ALL EMPNO
,   PHONENO FROM EMP#

CREATE ALIAS "DB2INST1"."DEPT" FOR TABLE "DB2INST1"."DEPARTMENT"#

CREATE ALIAS "DB2INST1"."EMP" FOR TABLE "DB2INST1"."EMPLOYEE"#

CREATE ALIAS "DB2INST1"."EMPACT" FOR TABLE "DB2INST1"."EMPPROJACT"#

CREATE ALIAS "DB2INST1"."EMP_ACT" FOR TABLE "DB2INST1"."EMPPROJACT"#

CREATE ALIAS "DB2INST1"."PROJ" FOR TABLE "DB2INST1"."PROJECT"#
....
....

2. Некоторые таблицы (в том числе и DEPARTMENT, EMPLOYEE) находились в состоянии "отложенной проверки целостности" set integrity pending state, т.е в поле syscat.tables.status для этих таблиц было значение 'C', а при нормальной целостности должно быть 'N'. Соответсвенно, доступ к ним я получить не мог syscat.tables.access_mode='N' (NO ACCESS), а должно быть 'F' (FULL ACCESS)

3. Так как таблицы DEPARTMENT и EMPLOYEE связаны между собой "отношением циклического реляционного ограничения"
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
-- DDL Statements for foreign keys on Table "DB2INST1"."DEPARTMENT"

ALTER TABLE "DB2INST1"."DEPARTMENT" 
	ADD CONSTRAINT "RDE" FOREIGN KEY
		("MGRNO")
	REFERENCES "DB2INST1"."EMPLOYEE"
		("EMPNO")
	ON DELETE SET NULL
	ON UPDATE NO ACTION
	ENFORCED
	ENABLE QUERY OPTIMIZATION#

ALTER TABLE "DB2INST1"."DEPARTMENT" 
	ADD CONSTRAINT "ROD" FOREIGN KEY
		("ADMRDEPT")
	REFERENCES "DB2INST1"."DEPARTMENT"
		("DEPTNO")
	ON DELETE CASCADE
	ON UPDATE NO ACTION
	ENFORCED
	ENABLE QUERY OPTIMIZATION#

-- DDL Statements for foreign keys on Table "DB2INST1"."EMPLOYEE"

ALTER TABLE "DB2INST1"."EMPLOYEE" 
	ADD CONSTRAINT "RED" FOREIGN KEY
		("WORKDEPT")
	REFERENCES "DB2INST1"."DEPARTMENT"
		("DEPTNO")
	ON DELETE SET NULL
	ON UPDATE NO ACTION
	ENFORCED
	ENABLE QUERY OPTIMIZATION#

-- DDL Statements for check constraints on Table "DB2INST1"."EMPLOYEE"

ALTER TABLE "DB2INST1"."EMPLOYEE" 
	ADD CONSTRAINT "NUMBER" CHECK 
		(PHONENO >= '0000' AND PHONENO <= '9999')
	ENFORCED
	ENABLE QUERY OPTIMIZATION#
, то нужно было проверить целостность, указав в set integrity обе эти таблицы (я не сразу понял, что именно так нужно делать, потому что вывод ошибок в командной строке сокращённый, а вот редакторе команд нашёл в последней строчке вывода способ решения проблемы)

db2 set integrity for department, employee immediate checked,

а потом уже

db2 set integrity emp_photo immediate checked
db2 set integrity for emp_resume immediate checked
db2 set integrity for project immediate checked
db2 set integrity for projact immediate checked
db2 set integrity for empprojact immediate checked
db2 set integrity for adefusr immediate checked
, так как эти таблицы зависят от DEPARTMENT и/или EMPLOYEE

+ ещё надо было проверить целостность для 2-3 независимых таблиц (по-моему ACT и PURCHASEORDER).

Всем спасибо!
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как сделать клон базы SAMPLE? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]