powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Tablespace Magic!
25 сообщений из 31, страница 1 из 2
Tablespace Magic!
    #32111067
Полуэкт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раз пошла такая пьянка! Спасибо за предыдущую помощь. Есть еще вопросик.
Обещаю не приставать полгода если удастся все сделать нормально :)

База Ora8.0.5, Win NT 4 SP6a.

Имеем один инстанс. в нем две схемы которые интересует не свалить.

Одна работает сама по себе и кроме дикой сегментации на одном тейблспейсе (типа 16) ничего там страшного не видно.. и поскольку аппликуха которая ее юзает за деньги куплена и никаких инструкций не дано как за ней следить то и трогать я ее не буду. тем более что оракл она использует под хранение конфига - не более того (ну у каждого свои вкусы).

Вторая - использует два тейблспейса - под таблицы и мелкие PK (primary keys) и одно под индексы. оба занимают по 3Г примерно. первый спейс фрагментирован на 14. кроме того индексы стали заметно тормозить..

почитав глупую книжку и умный форум (этот) пришел к выводу что проще сделать полный экспорт/импорт со сжатием, предварительно удалив большие индексы и создав их впоследствии вручную типа CREATE INDEX (их всего 5 или 6):

Код: plaintext
1.
exp user=sys/pwd full=y indexes=y compress=y file=full.dmp
imp user=sys/pwd full=y file=full.dmp

Вопрос 1 Достаточно этого что бы освежить статистику индексов и убрать фрагментацию? [мне нужны разумные изменения в базе при 100% надежности операций - т.к. я не админ и админа у нас нет и не будет и базу нельзя останавливать - я и так еду в 2ч ночи что бы этой х. заниматься и если что то пойдет не так - я не смогу ничего сделать т.к. понятия не имею как оно работает]

Не произойдет ли какой то потери данных или юзеров или прав при exactly тех командах ? Т.е. после полной остановки использования оракла из вне и выдаче тех двух комманд - все должно заработать в точности так же как и работало плюс свежие индексы и (возможно) дефрагментированные спейсы. Правильно?

Вопрос 2 Есть еще одна проблема которую точно надо решить но она связана с роллбэками что меня немного напрягает. т.к. прочитал тут много предупреждений про потерянные базы с уничтоженными роллбэками...

есть тейблспейс ROLLBACK_DATA в нем 16 сегментов. макс.экстент - 5М. тейблспейс занимает 3Г. пространство на диске стало критичным недавно. мне крайне необходимо убрать эти 3Г в сад. 100М под роллбэки я так вижу мне вполне достаточно (тем более что 5М - было только у 7 сегментов).

будет ли так любезно многоуважаемое оракл-сообщество привести точную последовательность операций для получения новых роллбэков в новом уменьшенном тейблспейс со 100% гарантией сохранности данных. база может быть остановлена на 2 часа спокойно. я перечитал предыдущие советы но они полезны админам которые знают о чем речь.. я же могу только скопировать предложения в SQL Plus или (что еще лучше) понажимать на определенную последовательность кнопок в Энтерпрайз Менеджере... Еще поставил Quest Certral но он мне кажется стремноватым для меня - боюсь чего то в базе поломать. (я догадываюсь что там на 10 минут работы типа создать новый тс в нем новые 16 сегментов потом перенаправить Оракл на них остальные удалить, но все должно быть сделано четко и без возможности ошибки, поэтому я пришел к вам за советом)

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

заранее спасибо.
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111091
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Esli ispol'zuetsya enterprise manager - delai reorganizaz'iu
svoix tablespace:: right click mouse ta tablespace i.. forward!
II var.
Exp/Imp samoe prostoe. Statistiky exportiruet/importiruet
no potom lushe vsego sdelat'

exec dbms_utility.analyze_database('COMPUTE');


ROLLBACKS::

ALTER ROLLBACK SEGMENT rbs_one SHRINK TO 50M;
ALTER ROLLBACK SEGMENT rbs_one STORAGE (NEXT 1000 MAXEXTENTS 20);

potom::
ALTER DATABASE DATAFILE 'path + name' RESIZE 10 M;
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111123
Полуэкт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так. остановимся на экс/имп. т.к. я конечно жал на все кнопки прежде чем задать тут вопрос. я не нашел магической кнопки "Any key" или "Reorganize" как впрочем "Make me happy!" :)

по второму вопросу. я дико пардонирую - но можно я переспрошу? правильно ли я понял.

ALTER ROLLBACK SEGMENT rb1 SHRINK TO 50M;
ALTER ROLLBACK SEGMENT rb1 STORAGE (NEXT 1000 MAXEXTENTS 20);
ALTER DATABASE DATAFILE 'D:\orant\database\rbs1orcl.ora' RESIZE 10 M;

создаст мне один роллбэк размером в 50М в датафайле в 10М? (rb1..rb16, D:\orant\database\rbs1orcl.ora - реальные имена сегментов и путь к датафайлу тейблспейса.). или я чего то не понимаю или где то очепятка....

хотелось бы получить 16 сегментов по 5М макс каждый (длина блока у меня 4К) в 100М датафайле.

но все равно спасибо. уже есть над чем подумать.
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111124
Полуэкт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
п.с. с удивлением обнаружил что всего 4 сегмента в онлайне. остальные оффлайн хотя я их не трогал... кто их вывел интересно в оффлайн? можно бабахнуть без риска оффлайновые сегменты или это не то что я думаю?
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111126
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
I ya dumau, cho imena Rollback segmentov (kotorie ostalis online)
-- RBS1, RBS2, RBS3, i RBS4 (sozdautsya po umolchaniyu pri sozdanii default database)

Basa kogda-libo perestartovivalas?

Posle restarta basy v online ostautsya tolko RBS, kotorye propisany v init{SID}.ora
Ostalnye nugno:
1) toge propisat v init{SID}.ora
ili
2) perevodit v online rukami.
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111139
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Полуэкт ибн э-э-э..., ну, скажем, Полуэктович : по первому вопросу - набор команд уменьшит роллбэк до 50м, поменяет его параметы, а потом уменьшит размер датафайла до 10м. По второму вопросу - грохай, если они в оффлайне, значит, не используются.
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111250
Саша Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про это... же...

рабочей схеме было сказано хранить все в пространстве ЮЗЕР...
решил поменять сервер..
сделал экспорт базы ....
создал другой екземпляр на новом сервере + спец. таб.пространоство для раб схемы...
сказал скрипту: при создании раб. схемы, писать все её объекты в спец. таб. пространоство, запустил скрипт и сказал сервер - хорошо...
делаю импорт... НО ! объекты пишутся не таб пространство новой схеым (как планировалось) а в пространсво ЮЗЕРЗ... где они лежали раньше... вроде логично, но как исправить ? Надо, что бы все объекты легли в нов. таб. пространство... ???
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111259
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nado dat' new tablespace as default tablespace::

" Alter user ..... default tablespace ..."
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111288
Саша Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык при создании указывалось пространство... и счас стоит дефолтом нужное пространство..
можно ли перенести обекты схемы из одного пространства в другое ?
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111334
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Postav' nenugnyi tablespace vremenno v offline or read only.
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111480
Полуэкт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саша Питерский епрст. не устраивай свалку... мне завтра в ночь пилить - если не сделаю - мне все мозги высосут.

Тайгер - плиз разъясни все же... я же дерево.

мы говорим про три разные вещи. тейблспейс, датафайл, роллбак сегменты.

у меня 16 сегментов. они размером (согласно показаниям ЭМ) от 0.5М до 2.285М. Всего примерно 20М....

зато датафайл - 3Г.

мне кажется что я что то не так объяснил и ты мне не совсем то советуешь.. зачем мне увеличивать первый сегмент до 50? если моя задача все уменьшить. почему именно первый сегмент? или ты по умолчанию имеешь ввиду что это надо делать для всех 16-ти? или первый у оракла какой то магический?

заранее спасибо.
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111490
Полуэкт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p.s. при тупой попытке в ЭМ написать датафайлу меньшее значение размера(100М напр.) получаем

"ORA-03297: File contains 516 blocks of data beyond requested RESIZE value"
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111543
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, ну так бы и сказал... Самый тупой вариант - сделай ещё один маленький таблеспейс, в нём сделай 1 роллбэк. Остальные сегменты сначала все в оффлайн, потом грохни. Если в этом датафайле больше нет никаких табличных сегментов, он станет пустым. resize его на требуемый объём. coalesce этот таблеспейс. Апосля создай в нём грохнутые ранее роллбэки, отключи и грохни маленький роллбэк, который создал вначале, а затем грохни лежащий под ним маленький таблеспейс.
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111554
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, и не забудь в pfile прописать роллбэки, если добавишь какие-то новые, а то при следующем перезапуске они будут в оффлайне. Естественно, для осуществления вышенаписанного останов базы не требуется.
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111731
Полуэкт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну вот.. началось.... я уже все сделал... а ты говоришь оно потом не запустится... я сделал новый сегмент, потом удалил старые, удалил и создал старый тейблспейс, сделал новые сегменты.

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

получается они были заняты всего лишь на 20М только потому что никто им больше не давал что ли?
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111732
Полуэкт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так что это за pfile ? мне что теперь перегрузить комп нельзя? все упадет? капец :(
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111741
Полуэкт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
самое смешное что я пересоздал старый тейблспейс (который жрал 3 гига) под тем же именем но создал ему новый датафайл... дык старый датафайл на 3Г не могу удалить.. пишет shared violation.... в ЭМ оракла его не видать.... хм?
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111757
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, молодёжь, что такое роллбэк знаете, а что такое pfile - не знаете. Куда катится этот мир? initSID.ora и есть pfile. Про необходимость объявления роллбэков чуть выше писал ShgGena.

Удалять не надо было, resize же есть. Честно говоря, ты уже меня запутал, что и как делал. Давай медленно и по пунктам. Перегружать можно, но роллбэки, которых нет в pfile, будут после запуска в оффлайне, а если в pfile указан какой-либо несуществующий роллбэк, получишь ошибку при старте и база останется в mounted состоянии (т.е., не будет открыта).

Про sharing violation - винда?
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111769
Полуэкт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"кагда ищо молад!! с гранатой в руке!!!!!"... был бы молод сам бы все на раз раскопал. повалял бы базу сам бы восстановил и вовсем разобрался за один день :))

а теперь вот приходится побираться :(

мне ни как нельзя что бы база не запустилась!!

я сделал вот что:

1. поискал фаром в директории orant и внутрь на существование строк типа "rb1", "rbs1orcl.ora", "ROLLBACK_DATA" - это имена рб сегмента, датафайла в системе и старого тейблспейса. не нашел!! т.е. у меня был догадка что пфайл - это иниторкл.ора, но мне надо было точно знать.. вобщем нигде у меня ролбэки не прописаны и не указаны.

2. создал н.тс (новый тейблспейс), в нем новый большой рб сегмент

3. убрал старые сегменты в офлайн.

4. удалил старые сегменты.

5. попытался удалить старый датафайл - она меня послала (хотя в с.тс уже ничего не было к тому времени).

6. я удалил с.тс полностью. все работало ок...

7. создал с.тс с тем же именем (думаю это побарабану) с новым датафайлом rbs4orcl.ora на 100М

8. вывел новый сегмент в офлайн

9. приложение упало так как это был последний сегмент (остальные я то грохнул уже )

10. все забегали как ужаленные - это надо было видеть )

11. я тихонечно накидал сегментов по 2.6М и несколько по 10М

12. все опять заработало. все 100М оказались заполненными.



теперь вопрос - сколько этой скоти.е нужно роллбэков вообще? я сейчас дал ей на 120М... и все забиты (ну по крайней мере ЭМ показывает красненькие полоски на 99% во всех ролбэках. кстати есть еще какой то SYSROLL - он в офлайне с рождения - нафик он?)

другой вопрос - надо ли что то писать в пфайл если там раньше ничего небыло.

что делать если после перегрузки сервера база не смонтируется ?? на все провсе у меня будет 3 часа что бы решить задачу. и решить ее надо 100%
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111771
Полуэкт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p.s. читал ГенуСгш.. много думал

а скажи Тигра.. в офлайне окажутся ролбэки после рестарта .... чего? компа? или может мы про разные рестарты? может у оракла рестарт машины не приводит к рестарту инстанса и монитрованию базы? может он крутой? тогда выходит что база не рестартовала ни разу (так как я не умею этого делать - я про логин под интернал только вчера узнал - а базу я эту сделал 3 года назад. конкртено этот экземпляр работает месяцев 6-8 - перед этим был полный экспорт/импорт всвязи с переносом аппликухи на другой комп).. комп естественно рестартовал тысячу раз за эти полгода с лишним... так что делать?

как говорилось в одной доброй детской сказке - Скажите пожалуйста - куда бежать?
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111780
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
see as addition information about rollback segments: \r
/topic/20379
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111784
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я б сказал, куда бежать, обидешься ведь
По поводу расчёта размеров роллбаков - ссылку тебе дали, смотри вторую страницу. Плюс в литературе этот вопрос достаточно подробно освещён.

По поводу того, что ты делал - датафайл просто так удалить нельзя. Если ты удаляешь таблеспейс, ты должен удалять таблеспейс, а не файл, под ним лежащий. Файл удаляется с диска руками после удаления таблеспейса. Для нормальной работы должен существовать и быть в онлайне по меньшей мере 1 несистемный роллбэк. В pfile пропиши все несистемные роллбэки, убережёшься от некоторых проблем.

Почитай Concepts, чтобы не было вопросов навроде "переживёт ли инстанс перезапуск сервера". Ты, боюсь, пока не совсем понимаешь, что такое инстанс и с чем его едят. Переживёт перезапуск он только если винда уходит в hibernate (да и то не факт).
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111791
Полуэкт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гена - без обид. у тебя было краткое сообщение которое просто навеяло про старый анекдот про пейджер. я вовсе не имел ввиду ничего плохого... я почитал твою ссылку и понял что если оно у меня работало на 4-х сегментах по 2.5М то теперь на 120М тем более будет работать... я же честно признался что ни фига то я про оракл не знаю да и вообще... из того что написано было по ссылке абсолютно не соответствует моему представлению о транзакциях... т.к. в базу пишутся простые короткие инсерты с запуском малюсенького триггера. посколько все работает через одбц и я вижу всегда практически мгновенно результаты всех этих инсертов и триггеров - делаю вывод что там где то стоит аутокоммит и транзакции дальше одного инсерта нигде не хранятся. получается что длина самой длинной транзакции ну может 2-8К... поэтому объяснить что оно жрет ролбаки по 120 и еще просит я не знаю как....

Тайгер - я вообще не дба. просто мне надо решить эту задачу. тем более что уже все свершилось. сегменты я переудалил. так что если сервер вдруг ночью перегрузится и все ляжет будет очень крупный и неприятный скандал :( до площадки 3.5 часа ехать. пока я доеду потери будут приличные.... если можешь напиши просто пример строки из ораинит как прописывать эти ролбэки и в каком месте файла... я не дба. я мастер на все руки и соответсвенно не знаю толком ничего. но именно за это мне платят. если я начну делать что мне нравится - умру с голоду через 3 дня ;) я бы не подходил к нему на километр к этому ораклу. я понятия не имею где брать Concepts и поятие об инстанс имею пространное - это экземпляр сервисов НТ в системе.. о чем это говорит с точки зрения дба - я не знаю. как делать маунт базы - понятия не имею. и т.д... вот таки пироги.
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111794
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
V init{sid}.ora naydi choto vrode ukazannogo nige teksta:
Код: plaintext
1.
2.
3.
4.
5.
# If using private rollback segments, place lines of the following
# form in each of your instance-specific init.ora files:
# rollback_segments = ( RBS0, RBS1, RBS2, RBS3, RBS4 )

rollback_segments = ( R_01, R_02, R_03, R_04, R_05, R_06, R_07, R_08, R_09, R_10, R_LARGE_01, R_LARGE_02)

skoree vsego u tebya ukazana stroka : rollback_segments = ( RBS0, RBS1, RBS2, RBS3 )
poskolku nize - eto ya propisival dlya svoey bazi.

dopishi v nee vse neobhodimye RBS, kotorye OBYAZANY BIT SOZDANY do togo, kak ti ih propishes
v init{sid}.ora

fail nahoditsiy :
unix/linux --> $ORACLE_BASE/admin/sid/pfile
win --> X:\orant\dbs
...
Рейтинг: 0 / 0
Tablespace Magic!
    #32111795
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну если ты не ДБА, не надо браться за незнакомые и неочевидные задачи. Возьми это как правило. Concepts - это книжка из документации, смотри на docs.oracle.com и otn.oracle.com. Маст рид, так сказать, как и многое другое :) Инстанс, фактически, это набор процессов и структур памяти. На винде процесс один, oracle.exe, "внутри" него живут все оракловские процессы. Сервис в винде - всего лишь пусковой механизм. Инстанс подключается к БД, которая собой являет файлы на дисках. В процессе запуска можно выделить 4 основных состояния:

1. stopped - ничего нет, однако сервис на винде работает
2. nomounted - существует только инстанс, пока ни к чему не привязанный
3. mounted - инстанс ассоциирован с БД, однако не обслуживает подключения, запросы возможны только по fixed tables
4. opened - база открыта для запросов, полностью функционирует

Роллбаки прописываются так, например:

rollback_segments = (RBS00, RBS01, RBS02, RBS03, RBS04, RBS05, RBS06, RBS07, RBS08, RBS09, RBS10, RBS11, RBS12, RBS13, RBS14, RBS15, RBS16, RBS17, RBS18, RBS19, RBS_BIG00)

Кстати, в шаблонном pfile вроде бы такого плана строчка есть, но закомментирована.

Читай Concepts, там много интересного :)
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Tablespace Magic!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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