17.10.2010 15:45
DmitryR
 
Oracle 10
в папке \oradata\base\
находятся 3 файла общим размером 6 Гб.
Indx01 - 512 М
Indx+1 - 4096 M
Indx+2 - 1024 M

Как можно оптимизировать эти файлы в более приемлимые размеры.
Зачем нужны indx+1+2.
17.10.2010 16:20
OlegON
 
Что значит "приемлемые"? Нужны для того, чтобы хранить в них индексы.
18.10.2010 12:50
DmitryR
 
Цитата:
OlegON Что значит "приемлемые"? Нужны для того, чтобы хранить в них индексы.
Это был вопрос - на счет приемлемые размеры .
Я думаю, что 512 М для индексов больше чем достаточно - в рамках одного небольшого бутика.

И зачем столько места занимать индексам при размере самой базы 1,5 Г.?
18.10.2010 13:11
John Doe
 
Сравниваешь теплое с мягким. Индексы - не сама база? Если думаешь, что достаточно - удали лишние файлы (шутка)... С чего ты взял, что достаточно? Индексы могут занимать больше чем таблицы, потому, что их самих больше. На одну таблицу - несколько индексов. Ты на нетбуке чтоль базу развернул, что так за место цепляешься?
18.10.2010 13:24
DmitryR
 
Цитата:
John Doe Сравниваешь теплое с мягким. Индексы - не сама база? Если думаешь, что достаточно - удали лишние файлы (шутка)... С чего ты взял, что достаточно? Индексы могут занимать больше чем таблицы, потому, что их самих больше. На одну таблицу - несколько индексов. Ты на нетбуке чтоль базу развернул, что так за место цепляешься?
Я взял это с того что 4 Г это много.
Пытаюсь это как то связать с медленной работой выполнения отчетов. Зависанием при открытии окна в супермаге списка чеков.
18.10.2010 13:31
John Doe
 
Цитата:
DmitryR Я взял это с того что 4 Г это много.
Пытаюсь это как то связать с медленной работой выполнения отчетов. Зависанием при открытии окна в супермаге списка чеков.
У меня 20Гб, это не много. Видел и 300, что теперь? Смотри на чем тормозит, делай выводы. А не по размерам.
18.10.2010 13:40
DmitryR
 
А как уменьшить ?
не задавайте только вопросы зачем !
18.10.2010 13:55
John Doe
 
Задам вопрос, почему бы не поискать банальщину?
Освобождение места в data-файле
21.10.2010 22:57
DmitryR
 
Собственно вот что я искал - потому что я не ленивый.
А про ссылку свою забей , мне USB подключать не надо.

1. Экспорт (например из 8i)
exp sys/qqq@<имя БД> full=y file=c:\<Имя файла дампа>.dmp log=c:\<Имя файла лога>.log
пример:
exp sys/qqq@demo full=y file=c:\demo.dmp log=c:\demo_exp.log

2. Импорт далается в пустую (не инициализированную Генератором БД СМ2000)базу оракл (например в 9i).
imp sys/qqq@<имя БД> full=y file=c:\<Имя файла дампа>.dmp log=c:\<Имя файла лога>.log
пример:
imp sys/qqq@demo full=y file=c:\demo.dmp log=c:\demo_imp.log

3. Сразу же после импорта, из серверного SQLPLUS и под sys'ом ! :
в 9i
GRANT SELECT ON SYS.DBA_JOBS TO SUPERMAG WITH GRANT OPTION;
GRANT SELECT ON SYS.DBA_ROLES TO SUPERMAG;
GRANT SELECT ON SYS.DBA_USERS TO SUPERMAG WITH GRANT OPTION;
GRANT EXECUTE ON SYS.DBMS_ALERT TO SUPERMAG;
GRANT EXECUTE ON SYS.DBMS_LOCK TO SUPERMAG;
GRANT EXECUTE ON SYS.DBMS_PIPE TO SUPERMAG;
GRANT SELECT ON SYS.V_$SESSION TO SUPERMAG;

в 10G
GRANT SELECT ON SYS.DBA_JOBS TO SUPERMAG WITH GRANT OPTION;
GRANT SELECT ON SYS.DBA_ROLES TO SUPERMAG;
GRANT SELECT ON SYS.DBA_USERS TO SUPERMAG WITH GRANT OPTION;
GRANT EXECUTE ON SYS.DBMS_ALERT TO SUPERMAG;
GRANT EXECUTE ON SYS.DBMS_LOCK TO SUPERMAG;
GRANT EXECUTE ON SYS.DBMS_PIPE TO SUPERMAG;
GRANT SELECT ON SYS.V_$SESSION TO SUPERMAG;
grant select on SYS.DBA_CONSTRAINTS to supermag with grant option;
grant select on SYS.DBA_TAB_COLUMNS to supermag with grant option;
grant select on SYS.DBA_CONS_COLUMNS to supermag with grant option;
GRANT SELECT ANY TABLE TO SUPERMAG;
grant select on dba_users to public;

4. Перекомпиляция процедур
запустить из серверного sqlplus с рабочей папкой %ORACLE_HOME%\RDBMS\ADMIN\
@utlrp.sql;

Запускать несколько раз пока warning`ов не станет 0. Если остались warning`и то с ними нужно разобраться отдельно.
выглядеть будет примерно так:

OBJECTS WITH ERRORS
-------------------
0

5. Запустить "Генератор БД" нужной версии, если версия не меняется, то этой же версии.

6. Если версия с сервис паком, то "прогнать" скрипты сервис пака.

P.S. экспорт схемы supermag
exp sys/qqq@demo owner=supermag file=c:\demo.dmp log=c:\demo_exp.log
imp sys/qqq@demo2 fromuser=supermag touser=supermag ignore=y commit=y file=c:\demo.dmp log=c:\demo_imp.log

экспорт определенной таблицы
exp sys/qqq@demo file=c:\smspec.dmp owner=supermag tables=smspec consistent=Y|N log=c:\smspec_exp.log
imp sys/qqq@demo file=c:\smspec.dmp touser=supermag ignore=y tables=smspec log=c:\smspec_imp.log
22.10.2010 06:54
Mtirt
 
Мне это напоминает "палить из пушки по воробьям"...

Зачем делать полный экспорт/импорт, если у тебя только с индексами проблемы?
Вполне можно было просто данные из табличного пространства перекинуть...
Что по указанной Олегом ссылке и описано.

Зачем надо было постить эту инструкцию, если есть она на форуме?
Часовой пояс GMT +3, время: 20:20.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.