powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как сделать клон базы SAMPLE?
6 сообщений из 6, страница 1 из 1
Как сделать клон базы SAMPLE?
    #37078017
Здравствуйте!

Нужно сделать клон БД 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
Как сделать клон базы SAMPLE?
    #37078286
Ivan Ivanich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А чем backup-restore не устраивает?
...
Рейтинг: 0 / 0
Как сделать клон базы SAMPLE?
    #37078329
Ivan Ivanich,

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

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

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

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

Спасибо.

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

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


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