powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Перенос данных в другой TABLESPACE
53 сообщений из 53, показаны все 3 страниц
Перенос данных в другой TABLESPACE
    #35920686
Фотография ЧайникПолный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, коллеги.


Встала задача пренести данные в другое табличное пространство.

Например из TS1 в TS2.

И чтобы в TS1 данных не осталось.

Требуется перенести все данные, включая триггеры и индексы.


Подскажите пожалуйста как можно перенести данные в новое табличное пространство?
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35920700
Фотография pravednik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alter table move tablespace ....
alter index rebuild tablespace ....
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35920705
Фотография ЧайникПолный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pravednikalter table move tablespace ....
alter index rebuild tablespace ....


Спасибо, сейчас буду пробовать :)
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35920711
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alter table <name> move tablespace <tablespace>
alter index <name> rebuild tablespace <tablespace>

И если есть, лобы
alter table <table name> move lob (<column name>) store as (tablespace <tablespace>)
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35920778
Фотография Brass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЧайникПолныйДобрый день, коллеги.


Встала задача пренести данные в другое табличное пространство.

Например из TS1 в TS2.

И чтобы в TS1 данных не осталось.

Требуется перенести все данные, включая триггеры и индексы.


Подскажите пожалуйста как можно перенести данные в новое табличное пространство?
тынц
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35920783
Фотография Brass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вообще странноватый вопрос для мембера с более чем двумя тысячами сообщений ;-)
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35920786
Фотография ЧайникПолный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ovaalter table <name> move tablespace <tablespace>
alter index <name> rebuild tablespace <tablespace>

И если есть, лобы
alter table <table name> move lob (<column name>) store as (tablespace <tablespace>)


Вот что пишет:


Код: plaintext
1.
2.
3.
4.
5.
6.
SQL> alter table TUNES move tablespace TS2;

*
ERROR at line  1 :
ORA- 00980 : synonym translation is no longer valid





Что-то не пойму, это сначала синоним перенести надо связанный с таблицей?
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35920789
Фотография ЧайникПолный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Brassа вообще странноватый вопрос для мембера с более чем двумя тысячами сообщений ;-)

Я просто раньше SQL Server-ом занимался, а ORACLE недавно начал :)
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35920792
Фотография pravednik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Brassа вообще странноватый вопрос для мембера с более чем двумя тысячами сообщений ;-)
Код: plaintext
1.
Microsoft SQL Server	1182
Просто треп	554

PS: да и с каких пор знания определяются длинной пип... ??? ;)))
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35920798
Фотография ЧайникПолный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Brass
тынц

Ого, какой полезный сайтик, спасибо :)
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35920840
Фотография ЧайникПолный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЧайникПолный
Вот что пишет:


Код: plaintext
1.
2.
3.
4.
5.
6.
SQL> alter table TUNES move tablespace TS2;

*
ERROR at line  1 :
ORA- 00980 : synonym translation is no longer valid






Не проходит скрипт, проверил: таблица TUNES осталась в том же табличном пространстве что и была :(
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35920845
Фотография pravednik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЧайникПолныйЧайникПолный
Вот что пишет:


Код: plaintext
1.
2.
3.
4.
5.
6.
SQL> alter table TUNES move tablespace TS2;

*
ERROR at line  1 :
ORA- 00980 : synonym translation is no longer valid






Не проходит скрипт, проверил: таблица TUNES осталась в том же табличном пространстве что и была :(
вы уверены, что это таблица, а не синоним
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35920869
Фотография ЧайникПолный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pravednikЧайникПолныйЧайникПолный
Вот что пишет:


Код: plaintext
1.
2.
3.
4.
5.
6.
SQL> alter table TUNES move tablespace TS2;

*
ERROR at line  1 :
ORA- 00980 : synonym translation is no longer valid






Не проходит скрипт, проверил: таблица TUNES осталась в том же табличном пространстве что и была :(
вы уверены, что это таблица, а не синоним


И точно, надо было писать так:

Код: plaintext
alter table owner1.TUNES move tablespace TS2;



Вроде перенеслать :)
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35925064
Фотография ЧайникПолный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитал вот это:

http://oracle-wiki.ru/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D1%89%D0%B5%D0%BD%D0%B8%D0%B5_%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86_%D0%B8_%D0%B8%D0%BD%D0%B4%D0%B5%D0%BA%D1%81%D0%BE%D0%B2


Хотел прояснить один момент:

После переноса таблиц ещё и индексы надо переносить?




Сейчас попробовал перенести таблицу в новой табличное пространство, содержащую поле BLOB.

После переноса выборка по этому полю идёт нормально - данные видны.

Т.е. LOB объекты переносить вроде не надо...
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35925077
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переносить не обязательно, а перестроить придется...
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35925103
Фотография ЧайникПолный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tru55Переносить не обязательно, а перестроить придется...


А если не перестраивать то что будет?

Ну так, в двух словах :)
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35925108
Фотография ЧайникПолный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например, если у таблицы есть индексы, то выборка из неё по интервалу (по столбцу на котором етсь индекс) уже не будет работать?
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35925116
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЧайникПолныйtru55Переносить не обязательно, а перестроить придется...

А если не перестраивать то что будет?

Ну так, в двух словах :)

Ты себе структуру индекса представляешь? Значение ключевого поля (полей) + ROWID строки. Последнее зависит от того, в каком файле и блоке расположена запись, т.е. некий уникальный адрес строки. Когда ты перенес строки таблицы, то ROWID у них стали другими, а индекс, соответственно, стал UNUSABLE
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35925160
Фотография ЧайникПолный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tru55ЧайникПолныйtru55Переносить не обязательно, а перестроить придется...

А если не перестраивать то что будет?

Ну так, в двух словах :)

Ты себе структуру индекса представляешь? Значение ключевого поля (полей) + ROWID строки. Последнее зависит от того, в каком файле и блоке расположена запись, т.е. некий уникальный адрес строки. Когда ты перенес строки таблицы, то ROWID у них стали другими, а индекс, соответственно, стал UNUSABLE



Ага понятно, спасибо :)
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35925165
Фотография Brass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЧайникПолныйНапример, если у таблицы есть индексы, то выборка из неё по интервалу (по столбцу на котором етсь индекс) уже не будет работать?
сам запрос будет работать конечно
но возможно не так оптимально как с индексом
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35925271
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Индексы просто напросто остануться в старом tablespace - и все, если тебя это устраивает, то пусть там и лежат.
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35925276
Фотография pravednik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ovaИндексы просто напросто остануться в старом tablespace - и все, если тебя это устраивает, то пусть там и лежат.
вы последнее сообщение tru55 пропустили ???
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35925444
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pravednikovaИндексы просто напросто остануться в старом tablespace - и все, если тебя это устраивает, то пусть там и лежат.
вы последнее сообщение tru55 пропустили ???
Нет не пропустил, то что индексы нужно ребилдить - это понятно, но если не делать их tablespace - то они просто перестрояться и остануться в старом тейблспейсе.
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #35925445
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ovapravednikovaИндексы просто напросто остануться в старом tablespace - и все, если тебя это устраивает, то пусть там и лежат.
вы последнее сообщение tru55 пропустили ???
Нет не пропустил, то что индексы нужно ребилдить - это понятно, но если не делать их tablespace - то они просто перестрояться и остануться в старом тейблспейсе.
Чего я так понял автору не нужно.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Перенос данных в другой TABLESPACE
    #38555445
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос при переносе таблиц и индексов в другое пространство

Синонимы и гранты на них остаются или нет?
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #38555454
смотря как переносить будешь.
если move/rebuild, то остаются. если drop/create - то нет
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #38555584
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=Koba=-Вопрос при переносе таблиц и индексов в другое пространство

Синонимы и гранты на них остаются или нет?
Добрый Э - Эхсмотря как переносить будешь.
если move/rebuild, то остаются. если drop/create - то нет

... если не всё в одну кучу, то точнее будет:
- гранты на таблицы при drop слетят;
- синонимы на таблицы останутся, даже если сами таблицы канут в лету;
- индексам перпендикулярно, они сами по себе...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Перенос данных в другой TABLESPACE
    #39319344
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопросик, данные перенесены в другое табличное пространство, в старом подрезала и удалила файлы пустые какие могла, один не удаляется, есть unmapped блоки, и при попытке удаления пишет не могу удалить первичный ключ...
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319347
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IOT ?
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319349
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров,

Есть, но я для пользователя указало другое табличное пространство по умолчанию, они ночью там пересоздались.

Корзину отключила и у всех пользователей почистила кроме Spotlight, не могу к нему пароль подобрать.
Да и данные в корзине все равно хоть как-то как сегменты отображаются, а тут сегментов нет, а unmapped блоки есть.

И еще не могу найти, где v$bh находится, хоть посмотреть куда он ссылается, у меня во всяких dba_segments и тд. есть все таблицы, а в v$bh их нету после переноса.
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319350
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причем тут v$bh ?

Смотришь в dba_segments / dba_extents (они могут не совпадать из-за корзины) какие экстенты выделены в данном ТП и переносишь их
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319351
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров,

В dba_segments и dba_extents все красиво и нет ничего, связанного с этим табличным пространством.
И в OEM смотрю Show Tablespace Contents тоже нет никаких сегментов, а на карте экстентов есть черные отметки.
И в dba_free_space есть 4 строки по этому табличному пространству.


v$bh меня независимо волнует по другим вопросам.
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319352
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nata44845Вячеслав Любомудров,

В dba_segments и dba_extents все красиво и нет ничего, связанного с этим табличным пространством.
И в OEM смотрю Show Tablespace Contents тоже нет никаких сегментов, а на карте экстентов есть черные отметки.
И в dba_free_space есть 4 строки по этому табличному пространству.Ну показывай команду, как удаляешь, и что тебе в ответ пишет
Только не надо своими словами пересказывать


nata44845v$bh меня независимо волнует по другим вопросам.Описание v$bh? Открой для себя v$fixed_view_definition
Только (в данном случае) увидишь ты там обращение к псевдо-таблицам (x$)
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319354
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров,

Удаляю в OEM, данные из Alert.log

DROP TABLESPACE "X" INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS
ORA-00604: ошибка на рекурсивном SQL-уровне 1 ORA-02429: нельзя удалить индекс, использованный для реализации уникальн./первичн. ключа
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319356
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, смотрю зависимости, на вкладке Dependents куча индексов из пользователей TEST и ARCHIVE, которых я раскидала по другим табличным пространствам.

Это которых тестово поднимали и не указали табличное пространство и они сюда поднялись.

Любопытно.
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319357
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, и в DBA_SEGMENTS их не видно, откуда он их берет интересно, когда зависимости просчитывает.
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319358
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перестроение помогло перетащить индекс в другое табличное пространство, но в DBA_SEGMENTS он все равно не появился.
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319362
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее, он был в UNUSABLE (или вообще не создавался, см. DEFERRED_SEGMENT_CREATION), поэтому и не светился в DBA_SEGMENTS/EXTENTS
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319404
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров,

Самое грустное, что не похоже

Вот скрипт из dbforge

Код: sql
1.
2.
3.
4.
5.
CREATE UNIQUE INDEX Y ON Z (ПОЛЯ)
TABLESPACE X
STORAGE (INITIAL 6 M
         NEXT 4 M)
LOGGING;



Никакого криминала, и таких 47 по TEST и 47 по ARCHIVE, их видно в DBA_OBJECTS, но не видно в DBA_SEGMENTS.

А еще все такие объекты похоже пустые. По крайней мере dbforge с ними работает без ошибок и данные выбирает (пустые), но опять же пустые объекты у меня и другие есть, чем эти такие особенные, что под них места не выделено...
Большая часть конечно временные, но есть не временные.

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


Код: sql
1.
2.
3.
4.
5.
select * from dba_objects do where not exists
(select 1 from dba_segments ds where ds.segment_name=do.object_name
  and ds.owner=do.owner and do.object_type=ds.segment_type )
  and owner='X'
and object_type='TABLE'



Проверила на другой базе маленькой, там в dba_segments не видны только временные таблицы и IOT.
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319422
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В твоем случае ключевое слово DEFERRED_SEGMENT_CREATION
Тут неоднократно обсасывалось

Временные хранятся (если хранятся) в темпе, там своя структура, а для IOT имя сегмента совпадает не с именем таблицы, а с именем первичного ключа
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319427
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров,

select name, value from v$parameter
where name = 'deferred_segment_creation'

FALSE...
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319432
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если речь только про индексы -- проверь статус
Код: plsql
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.
tst> create table t1 as select 1 a from dual;

Table created.

tst> create index t1_idx on t1(a);

Index created.

tst> select status, segment_created from user_indexes where index_name='T1_IDX';

STATUS   SEG
-------- ---
VALID    YES

tst> select count(*) from user_segments where segment_name='T1_IDX';

  COUNT(*)
----------
         1

tst> alter table t1 move;

Table altered.

tst> select status, segment_created from user_indexes where index_name='T1_IDX';

STATUS   SEG
-------- ---
UNUSABLE NO

tst> select count(*) from user_segments where segment_name='T1_IDX';

  COUNT(*)
----------
         0

...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319436
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров,

И таблицы тоже

Везде VALID
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319446
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ Oracle11g R2 по умолчанию действует Deferred / Delayed Segment Creation.
То есть сегменты не создаются до того момента, пока в таблицу не будет добавлена первая строка.
Таким образом в Oacle 11.2 может быть таблица, у которой нет начального экстента, не содержащая строк.

Вот в чем дело наверное, но тогда вопрос как определить завязанные на табличное пространство сегменты остается, через зависимости он их как-то находит.
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319448
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пардон, не сегменты, а объекты.
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319451
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для таблиц, конечно, еще версии это кластер и секционирование
Но для индексов у секционированных будет явно не VALID, а N/A

Ну и поле SEGMENT_CREATED из DBA_INDEXES и DBA_TABLES что говорит?

А то ведь deffered_segment_creation можно выключить и после пересоздания. А можно и создавать с опцией SEGMENT CREATION DEFFERED
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319452
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nata44845авторВ Oracle11g R2 по умолчанию действует Deferred / Delayed Segment Creation.
То есть сегменты не создаются до того момента, пока в таблицу не будет добавлена первая строка.
Таким образом в Oacle 11.2 может быть таблица, у которой нет начального экстента, не содержащая строк.

Вот в чем дело наверное, но тогда вопрос как определить завязанные на табличное пространство сегменты остается, через зависимости он их как-то находит.Ты же сказала, что оно отключено
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319456
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nata44845Вот в чем дело наверное, но тогда вопрос как определить завязанные на табличное пространство сегменты остается, через зависимости он их как-то находит.Можно тупо заставить их материализоваться через DBMS_SPACE_ADMIN.MATERIALIZE_DEFERRED_SEGMENTS
Только, не уверен, что это хороший вариант
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319479
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров,

Парено, из трассировки OEM сперла

Код: sql
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.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
SELECT 'ROLLBACK SEGMENT' segment_name , u.name, NULL, 'HARD', 'STORAGE', NULL   
  FROM  SYS.UNDO$ u, sys.ts$ ts WHERE ts.name = 'ТАБЛИЧНОЕ ПРОСТРАНСТВО' and u.ts#=ts.ts#  
  and  u.status$ != 1 and substr(u.name,1,7) != '_SYSSMU'  UNION   SELECT 'USER',   
  u.name, NULL, 'SOFT', 'DEF_TABLESPACE', NULL FROM sys.user$ u, sys.ts$ dts  
  WHERE   dts.name = 'ТАБЛИЧНОЕ ПРОСТРАНСТВО' and u.datats# = dts.ts#  
  and u.tempts# != u.datats# and  u.type# = 1  UNION   SELECT 'USER',   
  u.name, NULL, 'SOFT', 'TEMP_TABLESPACE', NULL FROM sys.user$ u, sys.ts$ tts  
  WHERE   tts.name = 'ТАБЛИЧНОЕ ПРОСТРАНСТВО' and u.tempts# = tts.ts#  and u.tempts# != u.datats# and  u.type# = 1   
  UNION   
  SELECT 'USER',   u.name, NULL, 'SOFT', 'DEF_AND_TEMP_TABLESPACE', NULL 
  FROM sys.user$ u,  sys.ts$ tts WHERE   tts.name = 'ТАБЛИЧНОЕ ПРОСТРАНСТВО' and u.tempts# = tts.ts#  and u.tempts# = u.datats# and  u.type# = 1     
  UNION       
  SELECT 'USER',   username, NULL, 'SOFT', 'TABLESPACE_QUOTA', NULL 
  FROM SYS.DBA_TS_QUOTAS   WHERE tablespace_name = 'ТАБЛИЧНОЕ ПРОСТРАНСТВО'   
  UNION   
  SELECT 'CLUSTER', o.name, u.name,   'HARD', 'STORAGE', NULL 
  FROM  sys.ts$ ts, sys.clu$ clu, sys.obj$ o, sys.user$ u 
  WHERE   ts.name =  'ТАБЛИЧНОЕ ПРОСТРАНСТВО' and clu.ts# = ts.ts# and o.obj# = clu.obj# and u.user# =  o.owner#      
  UNION   
  SELECT 'TABLE',DECODE(t.iot_type,'IOT_OVERFLOW', t.iot_name,  p.table_name),DECODE(t.iot_type,'IOT_OVERFLOW', t.owner,p.table_owner),  
  'HARD',     DECODE(t.iot_type,  'IOT_OVERFLOW','IOT_OVERFLOW_STORAGE','PARTITION_STORAGE'),  partition_name 
  FROM sys.dba_tab_partitions p, sys.dba_tables t 
  WHERE  p.tablespace_name = 'ТАБЛИЧНОЕ ПРОСТРАНСТВО' 
  AND p.table_name = t.table_name AND  p.table_owner = t.owner   
  UNION  
  SELECT 'INDEX', decode(i.index_type,'IOT-TOP',i.table_name,p.index_name),  decode(i.index_type,'IOT_TOP',i.table_owner,p.index_owner),  
  'HARD', 'PARTITION_STORAGE', PARTITION_NAME FROM SYS.DBA_IND_PARTITIONS p, SYS.DBA_INDEXES i 
  WHERE p.tablespace_name = 'ТАБЛИЧНОЕ ПРОСТРАНСТВО' 
  AND p.index_name =  i.index_name AND p.index_owner = i.owner AND i.index_type != 'LOB'  
  UNION 
  SELECT 'TABLE', pt.table_name, pt.owner, 'HARD', 'DEF_TABLESPACE', NULL 
  FROM   SYS.DBA_PART_TABLES pt, SYS.DBA_TABLES t 
  WHERE pt.def_tablespace_name =   'ТАБЛИЧНОЕ ПРОСТРАНСТВО' 
  AND pt.table_name = t.table_name AND pt.owner = t.owner 
  AND  (t.iot_type != 'IOT_OVERFLOW' OR t.iot_type IS NULL)  UNION  SELECT 'INDEX',  i.index_name, i.owner, 
  'HARD', 'DEF_TABLESPACE', NULL FROM  SYS.DBA_PART_INDEXES pi, SYS.DBA_INDEXES i 
  WHERE i.partitioned = 'YES' AND  i.index_type != 'LOB' AND i.index_name = pi.index_name AND i.owner =  pi.owner 
  AND pi.def_tablespace_name = 'ТАБЛИЧНОЕ ПРОСТРАНСТВО'  
  UNION   
  SELECT 'TABLE',   table_name, table_owner, 'HARD', 'PARTITION_STORAGE', PARTITION_NAME 
  FROM   SYS.DBA_TAB_SUBPARTITIONS WHERE tablespace_name = 'ТАБЛИЧНОЕ ПРОСТРАНСТВО'     
  UNION   
  SELECT   DECODE( i.type#, 8, 'TABLE', 4, 'TABLE', 'INDEX'),   DECODE( i.type#, 8, io.name, 4, io.name, o.name),     
  DECODE( i.type#, 8, iu.name,4, iu.name, u.name),   'HARD',  DECODE( i.type#, 8, 'LOB_INDEX_STORAGE', 'STORAGE'), NULL   
  FROM sys.ts$ ts, sys.ind$ i, sys.user$ u, sys.user$ iu, sys.obj$ o, sys.obj$  io 
  WHERE   ts.name = 'ТАБЛИЧНОЕ ПРОСТРАНСТВО' and i.ts# = ts.ts#   and bitand(i.flags, 4096) = 0   and bitand(i.property, 34) = 0   
  and i.type# != 9   and u.user# = o.owner#  and o.obj# = i.obj#   and i.bo# = io.obj#   and io.owner# = iu.user#   
  UNION   
  select 'TABLE',o.name, u.name,  'HARD','LOB_STORAGE',decode(bitand(c.property, 1), 1, ac.name, c.name)  
  from sys.obj$ o, sys.col$ c, sys.attrcol$ ac, sys.tab$ ta,       sys.lob$ l, sys.obj$ lo, sys.obj$ io, sys.user$ u, sys.ts$ ts  
  where   ts.name = 'ТАБЛИЧНОЕ ПРОСТРАНСТВО'   and o.owner# = u.user#  and o.obj# = c.obj#   and c.obj# = l.obj#   and c.intcol# = l.intcol#    
  and l.lobj# = lo.obj#    and l.ind# = io.obj#   and l.ts# = ts.ts#   and c.obj# = ac.obj#(+)   
  and c.intcol# = ac.intcol#(+)   and bitand(c.property,32768) != 32768          
  /* not unused column */   and o.obj# = ta.obj#   and bitand(ta.property, 32) != 32          
  /* not partitioned table */  
  union all
  select 'TABLE',o.name, u.name, 'HARD','LOB_STORAGE',decode(bitand(c.property,  1), 1, ac.name, c.name)   
  from sys.obj$ o, sys.col$ c, sys.attrcol$ ac, sys.partlob$ plob,       sys.lob$ l, sys.obj$ lo, sys.obj$ io, sys.ts$ ts1, sys.tab$ ta,       
  sys.partobj$ po, sys.ts$ ts2, sys.user$ u  where     ts1.name = 'ТАБЛИЧНОЕ ПРОСТРАНСТВО'   and o.owner# = u.user#   and o.obj# = c.obj#   
  and c.obj# = l.obj#   and c.intcol# = l.intcol#   and l.lobj# = lo.obj#   and l.ind# = io.obj#   and l.lobj# = plob.lobj#   and plob.defts# = ts1.ts# (+)   
  and c.obj# = ac.obj#(+)   and c.intcol# = ac.intcol#(+)   and bitand(c.property,32768) != 32768          
  /* not unused column */   and o.obj# = ta.obj#   and bitand(ta.property, 32) = 32                
  /* partitioned table */   and o.obj# = po.obj#   and po.defts# = ts2.ts#    
  UNION   
  select 'TABLE',  decode((bitand(t.property, 512)+bitand(t.flags,  536870912)),0, o.name, co.name),               
  u.name, 'HARD', decode((bitand(t.property, 512)+bitand(t.flags,  536870912)),0, 'STORAGE','IOT_OVERFLOW_STORAGE'), NULL     
  FROM     sys.ts$ ts, sys.tab$ t, sys.seg$ s ,sys.user$ u, sys.obj$ co, sys.obj$ o,       
  sys.obj$ cx, sys.user$ cu  where   ts.name = 'ТАБЛИЧНОЕ ПРОСТРАНСТВО'     and t.ts# = ts.ts#   and bitand(t.property, 4194400) = 0   
  and bitand(t.property, 1) = 0     and t.file# = s.file# (+)   and t.block# = s.block# (+)   and t.ts# = s.ts# (+)   and o.owner# = u.user#   
  and o.obj# = t.obj#   and t.bobj# = co.obj# (+)   and t.dataobj# = cx.obj# (+)    and cx.owner# = cu.user# (+)      and cx.owner# = cu.user# (+) 
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319484
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще мысль поняла, что кроме сегментов надо смотреть еще и зависимые объекты.
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319509
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бугага, все равно остались unmapped
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39319510
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Перенос данных в другой TABLESPACE
    #39320219
nata44845
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно черт с ними с блоками, с v$bh запуталась
Он ведет к gv$bh
А тот к x$bh

А x$bh это синоним PUBLIC, который ссылается на представление sys.x_$bh который выбирает данные из... x$bh

Бред какой-то
...
Рейтинг: 0 / 0
53 сообщений из 53, показаны все 3 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Перенос данных в другой TABLESPACE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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