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

База 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
25.02.2003, 19:13
    #32111091
Oracle X-pert
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tablespace Magic!
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
25.02.2003, 20:28
    #32111123
Полуэкт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tablespace Magic!
так. остановимся на экс/имп. т.к. я конечно жал на все кнопки прежде чем задать тут вопрос. я не нашел магической кнопки "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
25.02.2003, 20:32
    #32111124
Полуэкт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tablespace Magic!
п.с. с удивлением обнаружил что всего 4 сегмента в онлайне. остальные оффлайн хотя я их не трогал... кто их вывел интересно в оффлайн? можно бабахнуть без риска оффлайновые сегменты или это не то что я думаю?
...
Рейтинг: 0 / 0
25.02.2003, 20:50
    #32111126
ShgGena
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tablespace Magic!
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
25.02.2003, 22:03
    #32111139
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tablespace Magic!
2Полуэкт ибн э-э-э..., ну, скажем, Полуэктович : по первому вопросу - набор команд уменьшит роллбэк до 50м, поменяет его параметы, а потом уменьшит размер датафайла до 10м. По второму вопросу - грохай, если они в оффлайне, значит, не используются.
...
Рейтинг: 0 / 0
26.02.2003, 09:59
    #32111250
Саша Питерский
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tablespace Magic!
Про это... же...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
26.02.2003, 21:13
    #32111771
Полуэкт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tablespace Magic!
p.s. читал ГенуСгш.. много думал

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

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

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

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

Тайгер - я вообще не дба. просто мне надо решить эту задачу. тем более что уже все свершилось. сегменты я переудалил. так что если сервер вдруг ночью перегрузится и все ляжет будет очень крупный и неприятный скандал :( до площадки 3.5 часа ехать. пока я доеду потери будут приличные.... если можешь напиши просто пример строки из ораинит как прописывать эти ролбэки и в каком месте файла... я не дба. я мастер на все руки и соответсвенно не знаю толком ничего. но именно за это мне платят. если я начну делать что мне нравится - умру с голоду через 3 дня ;) я бы не подходил к нему на километр к этому ораклу. я понятия не имею где брать Concepts и поятие об инстанс имею пространное - это экземпляр сервисов НТ в системе.. о чем это говорит с точки зрения дба - я не знаю. как делать маунт базы - понятия не имею. и т.д... вот таки пироги.
...
Рейтинг: 0 / 0
27.02.2003, 00:15
    #32111794
ShgGena
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tablespace Magic!
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
27.02.2003, 00:22
    #32111795
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tablespace Magic!
Ну если ты не ДБА, не надо браться за незнакомые и неочевидные задачи. Возьми это как правило. 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
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Tablespace Magic! / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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