Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 TABLESPACE_MIGRATE_TO_LOCAL  [new]
Aki
Guest
При экспорте базы из Оракла 8.0.5.0, табличные пространства в дампе были созданы так:

CREATE TABLESPACE USER 
DATAFILE  'I:\.....\USR.ORA' 
SIZE 209715200 REUSE AUTOEXTEND ON NEXT 2048  MAXSIZE 8388604K 
DEFAULT STORAGE (INITIAL 51200 NEXT 51200 MINEXTENTS 1 
MAXEXTENTS 121 PCTINCREASE 1) ONLINE PERMANENT EXTENT MANAGEMENT DICTIONARY;

Соответственно, чтобы добиться нормального импорта с опцией
FULL=Y
, в новой базе предварительно создал такие же пространства (имеется в виду с EXTENT MANAGEMENT DICTIONARY), импорт прошел удачно.. база живет и работает..
НО!!!
Вычитал тут, что EXTENT MANAGEMENT DICTIONARY не есть хорошо, и, надо бы сделать EXTENT MANAGEMENT LOCAL

К сожалению не знаю как это сделать....

Тут вроде бы и описано:
EXECUTE DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL('USER', 512, 2);

Однако, стыдно сказать, но я не знаю какой параметр, исходя и того как у меня создаются пространства указывать вместо 512 ????.

Далее тут прочел, что
автор
конвертированные
ТП не эффективны в борьбе с фрагментацией ТП
, то есть напрашивается вывод = не использовать этот метод????

Были советы = создать новое пространство EXTENT MANAGEMENT LOCAL
- перегнать туда данные из старого
- пересоздать старое
- перегнать данные обратно.....

Как перегнать данные - не в курсе

Хотя, а может меньше геморроя, если я не буду импортить всю базу, а сделаю импорт только нужных мне схем ( FROM USER TO USER), хотя при таком импорте больше телодвижений
- создать юзеров
- раздать им гранты
- импортить
вместо того, чтобы просто импортить с опцией
FULL=Y

Был бы рад услышать пару дельных советов.. или тыков в нужные доки

Спасибо!
17 авг 06, 09:43    [3014419]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
softy
Member

Откуда: from Russia
Сообщений: 5911
Aki
При экспорте базы из Оракла 8.0.5.0, табличные пространства в дампе были созданы так:

Вычитал тут, что EXTENT MANAGEMENT DICTIONARY не есть хорошо, и, надо бы сделать EXTENT MANAGEMENT LOCAL



Непонятна суть экспорта/импорта. Миграция? На какую версию?
17 авг 06, 10:02    [3014528]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
softy
Member

Откуда: from Russia
Сообщений: 5911
Если речь идёт просто о миграции на LOCAL, то не было в 8.0.X такого типа. В 8i появился.
17 авг 06, 10:06    [3014548]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
Aki
Guest
softbuilder@inbox.ru
Aki
При экспорте базы из Оракла 8.0.5.0, табличные пространства в дампе были созданы так:

Вычитал тут, что EXTENT MANAGEMENT DICTIONARY не есть хорошо, и, надо бы сделать EXTENT MANAGEMENT LOCAL



Непонятна суть экспорта/импорта. Миграция? На какую версию?


Тьфу == Забыл указать, что миграция у меня была на 9.2

А так все вопросы в моем 1-м посте остаются актуальны
17 авг 06, 10:19    [3014642]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
Takurava
Member

Откуда:
Сообщений: 1776
Это кол-во блоков - размер будущих экстентов
17 авг 06, 10:30    [3014712]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
Aki
Были советы = создать новое пространство EXTENT MANAGEMENT LOCAL
- перегнать туда данные из старого
- пересоздать старое
- перегнать данные обратно.....

Как перегнать данные - не в курсе

посмотри по поиску alter table move
17 авг 06, 10:31    [3014727]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
Zavoiko
Member

Откуда:
Сообщений: 238
Оно вам надо - параметры вычислять?
Можно сделать так:
EXECUTE DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL('USER');
Подобный эксперимент у меня на реальной промышленной системе
прошел успешно. Пущай Oracle сам с параметрами разбирается.
Только перед этим делом надо сделать архив.
ВСЕ СУГУБО IMHO!
17 авг 06, 10:47    [3014869]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
Aki
Guest
Zavoiko
Оно вам надо - параметры вычислять?
Можно сделать так:
EXECUTE DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL('USER');
Подобный эксперимент у меня на реальной промышленной системе
прошел успешно. Пущай Oracle сам с параметрами разбирается.
Только перед этим делом надо сделать архив.
ВСЕ СУГУБО IMHO!


прпробовал... офигел

EXECUTE DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL('USER');

Connected.
BEGIN DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL('USER'); END;

*
ERROR at line 1:
ORA-03245: Tablespase has to be dictionary managed, online and permanent to be able to migrate
ORA-06512: at "SYS.DBMS_SPACE_ADMIN", line 0
ORA-06512: at line 1

Пожалуйста примите во внимание что:

SELECT tablespace_name, status, contents, extent_management 
FROM dba_tablespaces;


TABLESPACE_NAME     STATUS    CONTENTS  EXTENT_MAN
------------------------------ --------- --------- ----------
SYSTEM ONLINE PERMANENT DICTIONARY
UNDO ONLINE UNDO LOCAL
ROLLBACK_DATA ONLINE PERMANENT DICTIONARY
USER ONLINE PERMANENT LOCAL
TEMPORARY_DATA ONLINE TEMPORARY DICTIONARY
INDEX ONLINE PERMANENT DICTIONARY
TOOLS ONLINE PERMANENT LOCAL

7 rows selected.

и что бы это значило?
17 авг 06, 11:13    [3015038]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
222
Member [заблокирован]

Откуда: из форума
Сообщений: 1251
А это че такое ? -
Aki


TABLESPACE_NAME     STATUS    CONTENTS  EXTENT_MAN
------------------------------ --------- --------- ----------
USER ONLINE PERMANENT LOCAL
17 авг 06, 11:19    [3015082]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
AI
Member

Откуда: Москва
Сообщений: 2817
Не проще сначала создать нужные разделы (tablespaces), а потом просто в них все нужное импортировать?
17 авг 06, 11:20    [3015083]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
Aki
Guest
закрывайте тебу = облажался
17 авг 06, 11:22    [3015102]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
Aki
Guest
AI
Не проще сначала создать нужные разделы (tablespaces), а потом просто в них все нужное импортировать?


я создал нужные, но так как в дампе от 8-ки они были на дикшионари - то и новые пришлось делать такие-же (иначе импорт не проходил )

Все я перевел их в локальные..
всем спасибо...
извините за невнимательность!!!!
17 авг 06, 11:24    [3015118]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
Aki
я создал нужные, но так как в дампе от 8-ки они были на дикшионари - то и новые пришлось делать такие-же (иначе импорт не проходил )

странно, не помню такого ... на что ругалось и как ?
17 авг 06, 11:31    [3015180]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
Aki
Guest
Viewer
Aki
я создал нужные, но так как в дампе от 8-ки они были на дикшионари - то и новые пришлось делать такие-же (иначе импорт не проходил )

странно, не помню такого ... на что ругалось и как ?


1 - Create database....
2 - Create tablespace... extent management local...

И, когда телал импорт (FULL=Y)

получил ругань

Export file created by EXPORT:V08.00.05 via conventional path
import done in CL8MSWIN1251 character set and AL16UTF16 NCHAR character set
export server uses CL8MSWIN1251 NCHAR character set (possible ncharset conversion)

IMP-00017: following statement failed with ORACLE error 12913:
 "CREATE TABLESPACE "USER" DATAFILE  'I:\.....\USR1.ORA' SIZE 209715200 REUSE AUTOEXTEND ON NEXT 2048  MAXSIZE 8388604K DEFAULT STORAGE
 (INITIAL 51200 NEXT 51200 MINEXTENTS 1 MAXEXTENTS 121 PCTINCREASE 1) ONLINE PERMANENT EXTENT MANAGEMENT DICTIONARY"
IMP-00003: ORACLE error 12913 encountered
ORA-12913: Cannot create dictionary managed tablespace

и так далее..
а затем шло создание пользователей:

IMP-00017: following statement failed with ORACLE error 959:
IMP-00017: following statement failed with ORACLE error 959:
 "CREATE USER "REG" IDENTIFIED BY VALUES '38A7A00B7EACBE50' DEFAULT TABLESPACE "USER" TEMPORARY TABLESPACE "TEMPORARY_DATA""
IMP-00003: ORACLE error 959 encountered
ORA-00959: tablespace 'USER_REG' does not exist 

и все.... после десятка таких вот ошибок
IMP-00000: Import terminated unsuccessfully

при импорте опция IGNORE=Y, разумеется!!!!

И, только после того как предварительно созданные пространства сделал точь как указало в логе неудавшегося импорта (DICTIONARY) - импорт прошел без проблем
17 авг 06, 12:08    [3015546]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
ORA-12913: Cannot create dictionary managed tablespace
это нормально, спейс уже существует
IMP-00017: following statement failed with ORACLE error 959:
IMP-00017: following statement failed with ORACLE error 959:
 "CREATE USER "REG" IDENTIFIED BY VALUES '38A7A00B7EACBE50' DEFAULT TABLESPACE "USER" TEMPORARY TABLESPACE "TEMPORARY_DATA""
IMP-00003: ORACLE error 959 encountered
ORA-00959: tablespace 'USER_REG' does not exist
а вот это как то не вяжется, как с утверждением что все спейсы были созданы заранее, так и с предшествующей строкой CREATE USER "REG"
У меня в свое время все прошло удачно с такой же руганью на спейсы.
17 авг 06, 13:24    [3016300]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
автор
У меня в свое время все прошло удачно с такой же руганью на спейсы.

я имел ввиду ORA-12913: Cannot create dictionary managed tablespace :)
17 авг 06, 13:28    [3016333]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
Aki
Guest
Viewer
ORA-12913: Cannot create dictionary managed tablespace
это нормально, спейс уже существует
IMP-00017: following statement failed with ORACLE error 959:
IMP-00017: following statement failed with ORACLE error 959:
 "CREATE USER "REG" IDENTIFIED BY VALUES '38A7A00B7EACBE50' DEFAULT TABLESPACE "USER" TEMPORARY TABLESPACE "TEMPORARY_DATA""
IMP-00003: ORACLE error 959 encountered
ORA-00959: tablespace 'USER_REG' does not exist
а вот это как то не вяжется, как с утверждением что все спейсы были созданы заранее, так и с предшествующей строкой CREATE USER "REG"
У меня в свое время все прошло удачно с такой же руганью на спейсы.


ну, я тоже долго не понимал в чем гвоздь... но все же вот как я делал (на примере только одного пространства, ибо зачем постить все):

create database Orcl
  controlfile reuse 
  undo tablespace undo
  datafile 'I:\...\UND1ORCL.ORA' size 32M reuse
  logfile  'I:\...\Log1orcl.ora' size 5M reuse,
           'I:\...\Log2orcl.ora' size 5M reuse,
           'I:\...\Log3orcl.ora' size 5M reuse,
           'I:\...\Log4orcl.ora' size 5M reuse
  datafile 'I:\...\SYS1ORCL.ORA' size 200M reuse
  CHARACTER SET CL8MSWIN1251
  NATIONAL CHARACTER SET AL16UTF16;


CREATE TABLESPACE USER 
DATAFILE  'I:\...\USR1ORCL.ORA' 
size 200 M reuse
extent management local uniform size 64k;


все после этого рабоатло, живая база с пространствами
sys, system, undo, public ну и USER

а дальше, я так понял при импорте USER пробует пересоздаться.. причем пересоздается уже так:

CREATE TABLESPACE USER 
DATAFILE  'I:\.....\USR.ORA' 
SIZE 209715200 REUSE AUTOEXTEND ON NEXT 2048  MAXSIZE 8388604K 
DEFAULT STORAGE (INITIAL 51200 NEXT 51200 MINEXTENTS 1 
MAXEXTENTS 121 PCTINCREASE 1) ONLINE PERMANENT EXTENT MANAGEMENT DICTIONARY;
(так оно в дамп вогналось)

ну и получаю...

IMP-00003: ORACLE error 12913 encountered
ORA-12913: Cannot create dictionary managed tablespace

как только при создании базы указал для создания пространств то, что увидел в логе импорта:
CREATE TABLESPACE USER 
DATAFILE  'I:\.....\USR.ORA' 
SIZE 209715200 REUSE AUTOEXTEND ON NEXT 2048  MAXSIZE 8388604K 
DEFAULT STORAGE (INITIAL 51200 NEXT 51200 MINEXTENTS 1 
MAXEXTENTS 121 PCTINCREASE 1) ONLINE PERMANENT EXTENT MANAGEMENT DICTIONARY;
(так оно в дамп вогналось)

то все проблемы исчезли.. просто пространство стало не локал, а дикшионари менеджемент
17 авг 06, 14:21    [3016890]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
Aki
Guest
немного напутал в том как отображается ошибка....

IMP-00017: following statement failed with ORACLE error 959:
IMP-00017: following statement failed with ORACLE error 959:

 "CREATE USER "REG" IDENTIFIED BY VALUES '38A7A00B7EACBE50' DEFAULT 
TABLESPACE "USER" TEMPORARY TABLESPACE "TEMPORARY_DATA""
IMP-00003: ORACLE error 959 encountered
ORA-00959: tablespace 'USER' does not exist

все потому, что к примеру взял описівать тут одно пространство (USER), а ошибку віписал для другого (USER_REG)
17 авг 06, 14:24    [3016919]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
Созданный заранее спейс при импорте исчезнуть не может:)
Либо ты все-таки пропустил создание некоторых спейсов или, как я по первому разу прокололся (базу создавал мастером), с TEMPORARY TABLESPACE
DEFAULT TABLESPACE "USER" TEMPORARY TABLESPACE "TEMPORARY_DATA"
Пришлось создать перед импортом и TEMPORARY_DATA, а потом переопределить юзеров на TEMP.
Мне кажется что ты опять что-то напутал и возможно не случайно не упомянул TEMPORARY TABLESPACE :)
Aki
все после этого рабоатло, живая база с пространствами
sys, system, undo, public ну и USER
17 авг 06, 15:00    [3017214]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
Aki
Guest
чтобы смести все сомнения вот так оно создавалось:

create database Orcl
  controlfile reuse 
  undo tablespace undo
  datafile 'I:\...\UND1ORCL.ORA' size 32M reuse
  logfile  'I:\...\Log1orcl.ora' size 5M reuse,
           'I:\...\Log2orcl.ora' size 5M reuse,
           'I:\...\Log3orcl.ora' size 5M reuse,
           'I:\...\Log4orcl.ora' size 5M reuse
  datafile 'I:\...\SYS1ORCL.ORA' size 200M reuse
  CHARACTER SET CL8MSWIN1251
  NATIONAL CHARACTER SET AL16UTF16;

create temporary tablespace TEMPORARY_DATA
  tempfile 'I:\...\tmp1ORCL.ORA' size 200 M reuse
  extent management local uniform size 64k;

create tablespace USER
  datafile 'I:\...\USR1ORCL.ORA' size 200 M reuse
  logging
  extent management local uniform size 64k;

create tablespace INDEX
  datafile 'I:\...\IND1ORCL.ORA' size 200 M reuse
  logging
  extent management local uniform size 64k;


create tablespace ROLLBACK_DATA
  datafile 'I:\...\RBS1ORCL.ORA' size 120 M reuse
  logging
  extent management local uniform size 64k;

alter user sys    temporary tablespace TEMPORARY_DATA;
alter user system temporary tablespace TEMPORARY_DATA;

grant sysdba to sys;
grant sysdba to system;

spool off
spool catalog
@"i:\...\rdbms\admin\catalog.sql"
spool off
spool catproc
@"i:\...\rdbms\admin\catproc.sql"
spool off
spool pupbld
@"i:\...\sqlplus\admin\pupbld.sql"

shutdown
spool off


Export =

exp80 system/manager FULL=Y FILE=_REG.dmp LOG=_reg.log GRANTS=y
INDEXES=y CONSISTENT=y

IMPORT =


imp system/manager  FULL=Y FILE=_REG.dmp IGNORE=y LOGFILE=Imp_reg.log
GRANTS=y INDEXES=y

ошибки импорта опубликованы выше....

Я не знаю.. может я что-то и не так сделал....
но вроде же все так?
17 авг 06, 15:13    [3017313]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
AI
Member

Откуда: Москва
Сообщений: 2817
Viewer
автор
У меня в свое время все прошло удачно с такой же руганью на спейсы.

я имел ввиду ORA-12913: Cannot create dictionary managed tablespace :)


Это все нормально, если system с локальным управлением.

У меня подозрение, что USER для имени табличного пространства неприменимо, поскольку совпадает с резервированным словом. Поэтому импорт и начал себя так загадочно вести.
17 авг 06, 15:17    [3017344]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
Aki
Guest
AI

У меня подозрение, что USER для имени табличного пространства неприменимо, поскольку совпадает с резервированным словом. Поэтому импорт и начал себя так загадочно вести.


Уж если быть совсем честным (сам не знаю зачем я скрываю пути и настоящие имена создаваемых мною пространств, боюсь, что мою базу кто-то узнает ), то, что касается пространства ЮЗЕР, насамом деле было так:

create tablespace USER_REG
  datafile 'I:\Orant\Database\USR1ORCL.ORA' size 200 M reuse
  logging
  extent management local uniform size 64k;

так что вопрос с глюками все еще не решен
17 авг 06, 15:25    [3017407]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
Aki
Guest
в смысле вопрос о:

IMP-00017: following statement failed with ORACLE error 959:

 "CREATE USER "REG" IDENTIFIED BY VALUES '38A7A00B7EACBE50' DEFAULT 
TABLESPACE "USER_REG" TEMPORARY TABLESPACE "TEMPORARY_DATA""
IMP-00003: ORACLE error 959 encountered
ORA-00959: tablespace 'USER_REG' does not exist
17 авг 06, 15:27    [3017434]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
У меня остается только одно предположение - в скрипте создания базы имя спейса 'USER_REG' было написано с ошибкой и соответственно создалось написанное, а после copy-paste текста из лога
Aki
как только при создании базы указал для создания пространств то, что увидел в логе импорта:

все встало на место ...
17 авг 06, 16:13    [3017896]     Ответить | Цитировать Сообщить модератору
 Re: TABLESPACE_MIGRATE_TO_LOCAL  [new]
Aki
Guest
Viewer
У меня остается только одно предположение - в скрипте создания базы имя спейса 'USER_REG' было написано с ошибкой и соответственно создалось написанное,


дело в том, что оно плевало не только на 'USER_REG' , но и на все пространства, которые были мною сделаны EXTENT MANAGEMENT LOCAL
а таких пространств, как видите еще
TEMPORARY_DATA
INDEX
ROLLBACK_DATA


Viewer

Aki
как только при создании базы указал для создания пространств то, что увидел в логе импорта:

все встало на место ...


все стало на свои места только после того, как пречисленные выше пространства я создал как EXTENT MANAGEMENT DICTIONARY
...........................

Вернулись к тому, с чего и начали
17 авг 06, 16:29    [3018073]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить