Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 imp в Oracle10.2  [new]
wnoise
Member

Откуда: Москва
Сообщений: 370
Подскажите плиз. Использую команду:
   imp test/test@orcl fromuser=test touser=test file=c:\test.dmp


у пользователя test - default tablespace - testspace, а при imp - запихивается БД в users.

В чем может быть дело?
24 дек 13, 18:40    [15341630]     Ответить | Цитировать Сообщить модератору
 Re: imp в Oracle10.2  [new]
UDW
Member

Откуда: Самара
Сообщений: 1096
При импорте объекты помещаются в то пространство, к которому были приписаны (если оно конечно есть).
Если бы воспользовались поиском...
Можно включить квоты с указанием =0 на все ТС, кроме необходимого, тогда объекты "переедут".
24 дек 13, 20:09    [15341992]     Ответить | Цитировать Сообщить модератору
 Re: imp в Oracle10.2  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
UDW
Можно включить квоты с указанием =0 на все ТС, кроме необходимого, тогда объекты "переедут".

И не забыть проверить, нет ли у целевого пользователя привилегии UNLIMITED TABLESPACE
25 дек 13, 09:03    [15343461]     Ответить | Цитировать Сообщить модератору
 Re: imp в Oracle10.2  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
А еще помнить про многосегментные объекты
25 дек 13, 09:08    [15343481]     Ответить | Цитировать Сообщить модератору
 Re: imp в Oracle10.2  [new]
советесть твоя
Guest
Ну во-первых схемы пользователей хранятся в табличном пространстве USER временое таблеспайс TEMP это провославно так
во-вторых импорт дампа производится от имени system
в-третьих fromuser=test (это дамп откого делали) touser (для какой схемы заливаешь данные в БД)

В данный момент нужно грохнуть в БД схему test создать нового пользователя с аналогичным именем и внимательно указать табличные пространства, а также дать права и прочее (все это лучше делать через developer SQL или иные графически ПО). Далее залить импортом данные в созданую схему

Сообщение было отредактировано: 25 дек 13, 10:05
25 дек 13, 09:30    [15343571]     Ответить | Цитировать Сообщить модератору
 Re: imp в Oracle10.2  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
tru55
И не забыть проверить, нет ли у целевого пользователя привилегии UNLIMITED TABLESPACE

+ нет ли у него роли RESOURCE, через которую енту привилегию неявно получить можно.
25 дек 13, 09:35    [15343593]     Ответить | Цитировать Сообщить модератору
 Re: imp в Oracle10.2  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
советесть твоя
Ну во-первых схемы пользователей хранятся в табличном пространстве USER временое таблеспайс TEMP это провославно так
во-вторых импорт дампа производится от имени system
в-третьих fromuser=test (это дамп откого делали) touser (для какой схемы заливаешь данные в БД)

В данный момент нужно грохнуть в БД схему test создать нового пользователя с аналогичным именем и внимательно указать табличные пространства, а также дать права и прочее (все это лучше делать через developer SQL или иные графически ПО). Далее залить импортом данные в созданую схему

Это что за поток сознания?
25 дек 13, 10:05    [15343707]     Ответить | Цитировать Сообщить модератору
 Re: imp в Oracle10.2  [new]
Elic
Member

Откуда:
Сообщений: 29990
Viewer
нет ли у него роли RESOURCE, через которую енту привилегию неявно получить можно.
Уверен?
25 дек 13, 10:16    [15343765]     Ответить | Цитировать Сообщить модератору
 Re: imp в Oracle10.2  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
Elic
Viewer
нет ли у него роли RESOURCE, через которую енту привилегию неявно получить можно.
Уверен?

Прежде чем писать, проверял на 11.2.04. Имея RESOURCE аккаунт может создавать таблицы в недефолтном tablespace. Плюс см. спойлер.
+
-- такой скрипт был прокатан
CREATE USER AAS
  IDENTIFIED BY tmp123
  DEFAULT TABLESPACE USERS
  TEMPORARY TABLESPACE TEMP
  PROFILE DEFAULT
  ACCOUNT UNLOCK;
  -- 1 Role for AAS 
  GRANT RESOURCE TO AAS;
  ALTER USER AAS DEFAULT ROLE ALL;
  -- 2 System Privileges for AAS 
  GRANT CREATE SESSION TO AAS;
  -- 1 Tablespace Quota for AAS 
  ALTER USER AAS QUOTA UNLIMITED ON USERS;

-- такой скрипт показад TOAD12 после создания позвователя первым скритом
CREATE USER AAS
  IDENTIFIED BY VALUES 'S:6F4FF38734E7A9AFC9B1897A6D7EE0E4C65B48F86FA9098D03E0F72C57B2;8D2BA8B3CB5FB405'
  DEFAULT TABLESPACE USERS
  TEMPORARY TABLESPACE TEMP
  PROFILE ALCOA
  ACCOUNT UNLOCK;
  -- 1 Role for AAS 
  GRANT RESOURCE TO AAS;
  ALTER USER AAS DEFAULT ROLE ALL;
  -- 2 System Privileges for AAS 
  GRANT CREATE SESSION TO AAS;
  GRANT UNLIMITED TABLESPACE TO AAS;
  -- 1 Tablespace Quota for AAS 
  ALTER USER AAS QUOTA UNLIMITED ON USERS;
25 дек 13, 10:30    [15343841]     Ответить | Цитировать Сообщить модератору
 Re: imp в Oracle10.2  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
2 Elic
Чёрт, нет не уверен. Проверял не на чистопоставленной 11-й, а на клоне десяточной базы, поднятой в 11-й (готовимся переезжать)
25 дек 13, 10:38    [15343898]     Ответить | Цитировать Сообщить модератору
 Re: imp в Oracle10.2  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
Так и не закрыли, хотя, вроде обещали еще в 10g
SQL> create user u1 identified by u1;

User created.

SQL> grant resource to u1;

Grant succeeded.

SQL> select * from dba_sys_privs where grantee='U1';

GRANTEE                        PRIVILEGE                                ADM
------------------------------ ---------------------------------------- ---
U1                             UNLIMITED TABLESPACE                     NO

SQL> select banner, created from v$database, v$version where rownum=1;

BANNER                                                                           CREATED
-------------------------------------------------------------------------------- ---------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production     07-NOV-13
25 дек 13, 10:42    [15343926]     Ответить | Цитировать Сообщить модератору
 Re: imp в Oracle10.2  [new]
wnoise
Member

Откуда: Москва
Сообщений: 370
Т.е. если подводить итоги, то по идее в процессе выполнения команды exp в получившийся dmp файл должна класться информация об используемом tablespace, но она туда не кладется по каким то причинам и поэтому в процессе выполнения imp берется первый попавшийся tablespace и не обращается внимание вообще на defaut tablespace у user'а. Правильно?

Эта ситуация лечится "зарезанием" квот на остальные tablespace и тогда база льется в нужный. Остается вопрос: почему по команде exp (Oracle 10.2) не кладется инфа о правильном tablespace (он гарантированно имеет такое же название test)?
25 дек 13, 11:33    [15344164]     Ответить | Цитировать Сообщить модератору
 Re: imp в Oracle10.2  [new]
-2-
Member

Откуда:
Сообщений: 15330
wnoise
Т.е. если подводить итоги...
не фантазируй на счет что там "должна класться" в дамп. Читай utilities.
25 дек 13, 11:39    [15344190]     Ответить | Цитировать Сообщить модератору
 Re: imp в Oracle10.2  [new]
-2-
Member

Откуда:
Сообщений: 15330
Вячеслав Любомудров
Так и не закрыли, хотя, вроде обещали еще в 10g
обещали убрать привилегию из роли. убрали, но для совместимости ее неявно грантуют, чтобы можно было отобрать.
25 дек 13, 11:41    [15344205]     Ответить | Цитировать Сообщить модератору
 Re: imp в Oracle10.2  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
wnoise
Т.е. если подводить итоги, то по идее в процессе выполнения команды exp в получившийся dmp файл должна класться информация об используемом tablespace, но она туда не кладется по каким то причинам и поэтому в процессе выполнения imp берется первый попавшийся tablespace и не обращается внимание вообще на defaut tablespace у user'а. Правильно?

Неправильно. Инфа об исходном TS там имеется (CREATE TABLE ... TABLESPACE ...)

wnoise
Эта ситуация лечится "зарезанием" квот на остальные tablespace и тогда база льется в нужный. Остается вопрос: почему по команде exp (Oracle 10.2) не кладется инфа о правильном tablespace (он гарантированно имеет такое же название test)?

Ты случаем не путаешь имя схемы и имя TS? А то у тебя и там test, и тут test
25 дек 13, 11:48    [15344250]     Ответить | Цитировать Сообщить модератору
 Re: imp в Oracle10.2  [new]
wnoise
Member

Откуда: Москва
Сообщений: 370
tru55,

Спасибо. Открыл файл в far: там реально users - почему будем выяснять и разбираться. Соответственно теперь только квоты, чтобы было правильно развернут?

По поводу схемы и tablespace - названия действительно одинаковые, но вроде не путаю :) А почему думаете, что путаю? :)
25 дек 13, 11:53    [15344294]     Ответить | Цитировать Сообщить модератору
 Re: imp в Oracle10.2  [new]
Elic
Member

Откуда:
Сообщений: 29990
wnoise
Остается вопрос: почему по команде exp (Oracle 10.2) не кладется инфа о правильном tablespace ?
Вопрос неквалифицированный, но всё равно не тот. RTFM Oracle Data Pump (FAQ)
25 дек 13, 11:55    [15344310]     Ответить | Цитировать Сообщить модератору
 Re: imp в Oracle10.2  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
-2-
Вячеслав Любомудров
Так и не закрыли, хотя, вроде обещали еще в 10g
обещали убрать привилегию из роли. убрали, но для совместимости ее неявно грантуют, чтобы можно было отобрать.
Она никогда не была в составе роли. Она всегда получалась неявно (но через явный грант :-)). Кстати, в доке по 7-ке это описано:
12-12 Руководство администратора
        (2) получатель роли RESOURCE получает также системную привилегию
UNLIMITED TABLESPACE через явный грант (не как часть роли
RESOURCE)
В той же 9-ке
sql.bsq
grant create table,create cluster,create sequence,create trigger,
create procedure, create type, create indextype, create operator
to resource
/
demo56> select * from dba_sys_privs where grantee='RESOURCE';

GRANTEE                        PRIVILEGE                                ADM
------------------------------ ---------------------------------------- ---
RESOURCE                       CREATE TYPE                              NO
RESOURCE                       CREATE TABLE                             NO
RESOURCE                       CREATE CLUSTER                           NO
RESOURCE                       CREATE TRIGGER                           NO
RESOURCE                       CREATE OPERATOR                          NO
RESOURCE                       CREATE SEQUENCE                          NO
RESOURCE                       CREATE INDEXTYPE                         NO
RESOURCE                       CREATE PROCEDURE                         NO

8 rows selected.

demo56> create user u2 identified by u2;

User created.

demo56> grant resource to u2;

Grant succeeded.

demo56> select * from dba_sys_privs where grantee='U2';

GRANTEE                        PRIVILEGE                                ADM
------------------------------ ---------------------------------------- ---
U2                             UNLIMITED TABLESPACE                     NO

demo56> select * from v$version where rownum=1;

BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
По поводу "обещали прекратить" я, конечно, преувеличил
Просто при анонсе 10g было сказано, что будет усилена безопасность, в частности, будут урезаны стандартные роли. CONNECT сократили, а RESOURCE -- увы

PS. то же касается и роли DBA
26 дек 13, 03:21    [15348088]     Ответить | Цитировать Сообщить модератору
 Re: imp в Oracle10.2  [new]
совесть твоя
Guest
tru55
советесть твоя
Ну во-первых схемы пользователей хранятся в табличном пространстве USER временое таблеспайс TEMP это провославно так
во-вторых импорт дампа производится от имени system
в-третьих fromuser=test (это дамп откого делали) touser (для какой схемы заливаешь данные в БД)

В данный момент нужно грохнуть в БД схему test создать нового пользователя с аналогичным именем и внимательно указать табличные пространства, а также дать права и прочее (все это лучше делать через developer SQL или иные графически ПО). Далее залить импортом данные в созданую схему

Это что за поток сознания?



Это стандартная операция "загадить базу"хехе
26 дек 13, 04:27    [15348109]     Ответить | Цитировать Сообщить модератору
 Re: imp в Oracle10.2  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
"This post is related to a different behaviour on revoking RESOURCE role between Oracle version 11gR2 and 10gR2."
Revoking RESOURCE role on 11gR2 resets all QUOTA previously granted

... забавно, проверил - действительно если грантовать а затем отобрать RESOURCE, у аккаунта неявным образом отзываются все имеющиеся квоты на табличные пространства.
26 дек 13, 08:35    [15348276]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить