The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Миграция базы данных с 9i на 10gR2 в Oracle Applications 11i (oracle database upgrade linux redhat)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: oracle, database, upgrade, linux, redhat,  (найти похожие документы)
From: Олег Иванов <oivanov@fors.com.> Newsgroups: email Date: Mon, 19 Nov 2006 18:21:07 +0000 (UTC) Subject: Миграция базы данных с 9i на 10gR2 в Oracle Applications 11i Обновление экспортом базы данных с версии 9.0.5 на 10.2.0.2 в Oracle e-Business suite версии 11.5.10.2 Цель: избавиться от большого числа файлов, улучшить структуру объектов, тем самым ускорить работу продукта полезные Notes:230627.1 362203.1 1. УСТАНОВКА ПО 10.2.0.2 Подготовить машину, для RHEL4 update 4, в /etc/sysctl.conf проверить параметры net.ipv4.icmp_echo_ignore_broadcasts=1 net.ipv4.tcp_syncookies=1 net.ipv4.ip_default_ttl=128 net.ipv4.tcp_keepalive_probes=2 net.ipv4.tcp_keepalive_time=1200 net.ipv4.tcp_fin_timeout=30 net.ipv4.tcp_retries2 5 net.ipv4.tcp_syn_retries 1 net.ipv4.ip_local_port_range=1024 65000 #kernel.shmmax=2147483648 - ставить не стоит kernel.sem=250 256000 32 1024 fs.aio-max-nr=1048576 установить ПО (например, в /oracle/visora/10.2) с Database CD запустить инсталлятор с Companion CD и доставить в тот же $OH запустить инсталлятор с Client CD и доставить OEM для удобства администрирования запустить инсталлятор патча и установить патч 10.2.0.2 основная кодировка базы не может быть AL32UTF8, с ней не работают клиенты 8 версии, которых использует Applications 11i создать базу данных скриптами в кодировке UTF8, можно и не в ней, но тогда нужно поменять nls/admin/data как описано в Note. plsql native compilation можно не настраивать размер блока создаваемой базы данных db_block_size=8192, так как 3 индекса CREATE UNIQUE INDEX BSC_SYS_KPI_COLORS_U1 ON BSC_SYS_KPI_COLORS (TAB_ID, INDICATOR, DIM_LEVEL1, DIM_LEVEL2, DIM_LEVEL3, DIM_LEVEL4, DIM_LEVEL5, DIM_LEVEL6, DIM_LEVEL7, DIM_LEVEL8, PERIOD_ID) PCTFREE 10 INITRANS 11 TABLESPACE APPS_TS_TX_IDX; CREATE UNIQUE INDEX IBC_DIRECTORY_NODES_B_U2 ON IBC_DIRECTORY_NODES_B (DIRECTORY_PATH, NODE_TYPE) PCTFREE 10 INITRANS 11 TABLESPACE APPS_TS_TX_IDX; CREATE INDEX ZPB_TASK_PARAMETERS_N2 ON ZPB_TASK_PARAMETERS (NAME, VALUE) PCTFREE 10 INITRANS 11 TABLESPACE APPS_TS_TX_IDX; не влезают в меньший блок и выдадут ошибку ORA-01450: maximum key length (3118) exceeded первый индекс 5+5+(400*8)+5 байт, во втором программист издевался: поставил размер 3175+30. В третьем - не забивал себе голову - сделал столбцы размером 100+4000. Если создавать табл. пространства с одинаковым размером экстента, то UNIFORM SIZE должен быть больше 40К (и кратен 5 блокам) так как определения LOBов содержат параметр CHUNK 32768 (описание в Note:281571.1) Если размер DB_BLOCK_SIZE=8192 нет проблем. Это определение можно не выгружать меняя catexp.sql или отредактировать файл экспорта, но редакторы его не берут из-за размера. Можно написать программу на C или java и заменять CHUNK 32768 на пробелы. LOBы во всех пространствах - разработчики не заботились об отдельном ТБС для них. пример сообщения об ошибке: IMP-00017: following statement failed with ORACLE error 3252: CREATE TABLE "ODM_PMML_DTD" ("DTD" CLOB) PCTFREE 10 TABLESPACE "ODM" NOCOMPRESS LOB ("DTD") STORE AS (TABLESPACE "ODM" ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10 NOCACHE) ORA-03252: initial extent size not enough for LOB segment 10.2.0.2 база создается примерно полчаса, половина времени уходит на форматирование больших файлов. Нужно создать табличные пространства с теми же именами, что в исходной базе данных, по одному файлу для каждого ТБС. Размер можно сделать сразу большим как в исходной базе. Установить переменные окружения в профиле пользователя-владельца ПО: LD_LIBRARY_PATH=/lib:/usr/lib:$ORACLE_HOME/lib так как 10.2.0.2 криво скомпилирован и ругается в alert.log, что не может найти библиотеку. NLS_LANG=AMERICAN_AMERICA.UTF8 так как в imp ошибка, он делает двойное перекодирование Параметры инициализации можно взять из Note:216205.1 db_block_size = 8192 O7_DICTIONARY_ACCESSIBILITY = FALSE compatible = 10.2.0.2.0 db_block_checking = FALSE db_block_checksum = TRUE db_file_multiblock_read_count = 8 log_buffer = 10485760 recyclebin=off undo_management = AUTO nls_length_semantics = BYTE nls_language = american nls_territory = america nls_date_format = DD-MON-RR nls_numeric_characters = ".," nls_sort = binary nls_comp = binarysga_target = 1G plsql_optimize_level = 2 plsql_code_type = native plsql_native_library_dir = ?/visora/10.2/plsql_nativelib plsql_native_library_subdir_count = 149 open_cursors = 600 session_cached_cursors = 500 #на время создания базы импорта НЕ нужно ставить _system_trig_enabled = true _kks_use_mutex_pin=TRUE _b_tree_bitmap_plans = FALSE dml_locks = 10000 cursor_sharing = EXACT optimizer_secure_view_merging = FALSE timed_statistics = true shared_pool_size = 400M shared_pool_reserved_size = 40M pga_aggregate_target = 500M workarea_size_policy = AUTO olap_page_pool_size = 4194304 shared_pool_size = 400M shared_pool_reserved_size = 40M aq_tm_processes = 1 job_queue_processes = 2 НА ВРЕМЯ СОЗДАНИЯ И ИМПОРТА можно поставить (быстрее на 20%) sga_target = 2600000000 aq_tm_processes = 0 job_queue_processes = 0 O7_DICTIONARY_ACCESSIBILITY = TRUE _disable_logging = TRUE _wait_for_sync=false commit_write=BATCH, NOWAIT проблема с MDSYS, в 10.2 отсутствуют необходимые объекты. Например, тип GEOCODE_RESULT нужен для WIRELESS.MYGEOCODER Из 9i взять файл и выполнить cd /oracle/visora/9.2.0/md/admin alter user mdsys identified by mdsys account unlock; connect mdsys/mdsys @sdogcdr.sql @prvtgcdr.plb можно создать представление sys.ad_extents, если оно есть - оно не импортируется. set long 100000 spool adextents.sql select TEXT from dba_views where VIEW_NAME='AD_EXTENTS'; spool off сконфигурировать листенер 10.2 (параметры взять из 9.2) и запустить его. NAMES.DIRECTORY_PATH= (TNSNAMES, HOSTNAME) #in minutes SQLNET.EXPIRE_TIME = 2 #in seconds SQLNET.SEND_TIMEOUT = 25 #in seconds, выдаст ORA-12535 если клиент ничего не пошлет после соединения #SQLNET.RECV_TIMEOUT=60 #in seconds, если клиент не авторизуется SQLNET.INBOUND_CONNECT_TIMEOUT = 8 #чтобы никто не подсоединялся к базе tcp.validnode_checking=yes tcp.invited_nodes=(127.0.0.1,IPсерверов) 2. ПОДГОТОВКА ИСХОДНОЙ БАЗЫ К МИГРАЦИИ в Note:230627.1 написано, что нужно установить патчи 4872830 provides the adclondb.sql 4775612 ставится полчаса, компилирует DLL (проверить что /usr/gcc указывает на gcc296 а /usr/bin/g++ на g++296) и другие объекты выполнять adgrants.sql из этого патча не нужно - он старый. Нужно выполнить такой же файл из директории с базой данных. ОБЯЗАТЕЛЬНО установив ORACLE_HOME указывающий на базу и погасив процессы Applications sqlplus '/ as sysdba' @adgrants.sql APPLSYS этот скрипт обходит необходимость выставления O7_DICTIONARY_ACCESSIBILITY=TRUE sqlplus system/manager @$AD_TOP/patch/115/sql/adclondb.sql 9 создаст файл adcrdb.sql в котором команда создания базы и ТБС, файл бессмысленный cd /oracle/visappl/au/11.5.0/patch/115/sql sqlplus "/ as sysdba" @$AU_TOP/patch/115/sql/auque1.sql создаст auque2.sql который надо запустить после импорта, чтобы активировать работу с очередями после импорта Note:235422.1 выполнить на исходной базе под SYS declare cursor c1 is select unique rule_owner ro from dba_rules union all select unique rule_set_owner ro from dba_rule_sets union all select unique evaluation_context_owner ro from dba_evaluation_contexts; stmt varchar2(1000); begin for c1_rec in c1 loop dbms_rule_adm.grant_system_privilege( privilege => dbms_rule_adm.CREATE_EVALUATION_CONTEXT_OBJ, grantee => c1_rec.ro, grant_option => TRUE); dbms_rule_adm.grant_system_privilege( privilege => dbms_rule_adm.CREATE_RULE_SET_OBJ, grantee => c1_rec.ro, grant_option => TRUE); dbms_rule_adm.grant_system_privilege( privilege => dbms_rule_adm.CREATE_RULE_OBJ, grantee => c1_rec.ro, grant_option => TRUE); stmt := 'grant aq_user_role to ' || c1_rec.ro; execute immediate stmt; end loop; end; скопировать catexp.sql добавить ВСЮДУ где перечислены пользователи (exu81obj exu8usr и т.п.) пользователей. Они служебные в 10g, а в 9i простые: ,'MDDATA','OLAPSYS','DMSYS','OUTLN','DBSNMP' insert into noexp$ select 'SYSTEM', 'HELP', 2 from sys.dual where not exists (select 'x' from sys.noexp$ where name = 'HELP' AND owner = 'SYSTEM'); COMMIT; выполнить отредактированный скрипт исключать схему SYSTEM из экспорта нельзя, там есть таблицы типа BROWSER_PROFILE, IAP проверить результат запроса к view, если отличается пересоздать (создается catexp.sql): CREATE OR REPLACE VIEW exu81csc (release) AS SELECT '8.1.0.0.0' FROM DUAL; записать результат: select * from global_name; select username, default_tablespace from dba_users where username='CTXSYS' or username='OLAPSYS'; select OWNER,TRIGGER_NAME from dba_triggers where STATUS='DISABLED'; select OWNER,NAME from DBA_QUEUES where ENQUEUE_ENABLED='NO'; select OWNER,NAME from DBA_QUEUES where DEQUEUE_ENABLED='NO'; select OWNER,OBJECT_NAME,OBJECT_TYPE, status from dba_objects where status<>'VALID'; разобраться почему объекты INVALID, а триггера DISABLED мигрировать korean lexer ДО ЭКСПОРТА exec ctx_ddl.create_preference('ko_morph_lexer','korean_morph_lexer'); alter index "ICX"."ICX_QUES_CTX" rebuild parameters ('REPLACE LEXER ko_morph_lexer'); alter index "APPS"."IBE_CT_IMEDIA_SEARCH_IM" rebuild parameters ('REPLACE LEXER ko_morph_lexer'); alter index "CS"."CS_FORUM_MESSAGES_TL_N4" rebuild parameters ('REPLACE LEXER ko_morph_lexer'); alter index "CS"."CS_INCIDENTS_ALL_TL_N1" rebuild parameters ('REPLACE LEXER ko_morph_lexer'); alter index "CS"."CS_KB_ELEMENTS_TL_N2" rebuild parameters ('REPLACE LEXER ko_morph_lexer'); alter index "CS"."CS_KB_SETS_TL_N3" rebuild parameters ('REPLACE LEXER ko_morph_lexer'); alter index "CS"."CS_KB_SOLN_CAT_TL_N1" rebuild parameters ('REPLACE LEXER ko_morph_lexer'); alter index "CS"."SUMMARY_CTX_INDEX" rebuild parameters ('REPLACE LEXER ko_morph_lexer'); в панели администрирования выполнить очистку данных параллельных запросов с параметрами (Все, Число,1,....нет,Да) если процесс висит после успешной очистки FND_TEMP_FILES, то Note:238415.1 FNDCPPUR пытается удалить несуществующие файлы. Это бывает, если клонировать базу и не обновить пути или не перетащить файлы логов. можно их создать: select 'echo > '||LOGFILE_NAME from applsys.FND_CONCURRENT_REQUESTS where LOGFILE_NAME is not null; select 'echo > '||OUTFILE_NAME from applsys.FND_CONCURRENT_REQUESTS where OUTFILE_NAME is not null; delete from applsys.fnd_conc_request_arguments where request_id in (select request_id from applsys.fnd_conc_request_arguments minus select request_id from applsys.fnd_concurrent_requests); также может подвисать на очистке FND_ENV_CONTEXT. Скорость удаления строк 5000 в минуту, а там может быть 10млн.строк. Для ускорения в 60 раз можно: остановить concurrents drop index applsys.fnd_env_context_u1; create index applsys.fnd_env_context_u1 on applsys.fnd_env_context (concurrent_process_id,variable_name) pctfree 10 tablespace apps_ts_tx_idx logging; запустить работу по удалению. 10млн строк удалит за 20 минут. по таблице FND_CONFLICT_DOMAIN Note:386385.1 Patch.4574592 select count(*) from apps.fnd_env_context e where not exists (select 'X' from apps.fnd_concurrent_processes p where p.concurrent_process_id=e.concurrent_process_id); следовать процедуре клонирования: обновляет конфиг файлы $COMMON_TOP/admin/scripts/adautocfg.sh APPS создает zip архив с утилитами, который надо будет раскрыть в $OH 10.2 $AU_TOP/bin/admkappsutil.pl раскрыть полученный appsutil.zip в корне $OH 10.2 выполнить под apps процедуры (Note:277124.1) exec WF_PURGE.ITEMS exec WF_PURGE.ACTIVITIES exec WF_PURGE.NOTIFICATIONS exec WF_PURGE.TOTAL exec WF_PURGE.TOTALPERM exec WF_PURGE.ADHOCDIRECTORY select item_type,activity_status,count(*) from wf_item_activity_statuses group by item_type,activity_status; select item_type,count(*) from wf_item_attribute_values group by item_type; select consumer_name, msg_state, count(*) from aso.aq$aso_order_feedback_t group by consumer_name, msg_state; Select Q_Name, State, Count(*) From Aso.Aso_Order_Feedback_T Group By Q_Name, State; $ASO_TOP/patch/115/asoclofq.sql 11i постоянно и массировано под себя ходит и в $APPL_TOP/admin/log/ лежат файлы eventsX.log и errorX.log которые заодно можно удалить после остановки процессы Applications выполнить скрипт подготовки к клонированию cd $ORACLE_HOME/appsutil/scripts/<CONTEXT_NAME> perl adpreclone.pl dbTier 3. ЭКСПОРТ прямой экспорт может дать ошибку на одной из таблиц со старым ROWID, поэтому проще выгружать обычным экспортом, разница в скорости несущественна перед экспортом погасить процессы Applications, убедиться по списку процессов, что они остановились, перегрузить экземпляр, дать alter system set job_queue_processes=0; alter system set aq_tm_processes=0; exp parfile=p.txt p.txt file=visexp.dmp userid="/ as sysdba" buffer=10485760 recordlength=65535 consistent=y statistics=none direct=n full=y log=visexp.log для базы Vision Demo идёт ~3 часа, размер файла 19Гб, сжимается gzip до 2,5Гб за 15минут на 3ГГЦ PentiumD 4. ИМПОРТ импортировать с помощью файла parfile.imp так как строка toid_novalidate частично игнорируется FILE=visexp.dmp FULL=Y TOID_NOVALIDATE=(SYSTEM.REPCAT$_OBJECT_NULL_VECTOR, SYS.AQ$_AGENT, SYS.AQ$_JMS_USERPROPERTY, SYS.AQ$_JMS_USERPROPARRAY, SYS.AQ$_JMS_MESSAGE, SYS.AQ$_JMS_TEXT_MESSAGE, SYS.AQ$_JMS_BYTES_MESSAGE, SYS.AQ$_JMS_STREAM_MESSAGE, SYS.AQ$_JMS_MAP_MESSAGE, MDSYS.SDO_GEOMETRY) IGNORE=Y USERID="/ as sysdba" LOG=visimp2.txt BUFFER=10000000 RECORDLENGTH=65535 COMPILE=N imp parfile=imp.par компилировать пакеты в процессе импорта не нужно недостаточно привилегий у APPS. чтобы не было ошибок IMP-00060: Warning: Skipping table "APPLSYS"."WF_NOTIFICATION_OUT" because object type "SYS"."AQ$_JMS_OBJECT_MESSAGE" does not exist or has different identifier 12 таблиц, все кроме WF_NOTIFICATION_OUT пустые через 1-10 мин. после начала импорта, когда пользователи будут созданы, дать: grant execute on DBMS_SYS_SQL to system; grant execute on DBMS_SYS_SQL to OWAPUB; grant execute on dbms_sql to APPS; grant execute on dbms_pipe to APPS; grant execute on dbms_lock to APPS; grant execute on dbms_lock to EDWREP; grant execute on dbms_space_admin to APPS; grant execute on dbms_system to APPS; grant execute on dbms_alert to APPS; grant execute on dbms_pipe to OWAPUB; grant execute on DBMS_REPCAT_INTERNAL_PACKAGE to ASG; #EDWREP.WBSECURITYHELPER grant select on DBA_ROLE_PRIVS to EDWREP; grant select on V_$SESSION to EDWREP; #grant execute on dbms_aqadm to applsys; #system.defcall grant execute on dbms_defer_query_utl to system; через 2-60 минут после начала импорта: есть продукт E Data Warehouse, в котором много таблиц через dblink с этой же базой, так как у приличного варехауза должны быть MView и dblinkи :) dblinkов может много накопиться, если они не нужны их можно удалить. проверить до экспорта параметры dblink APPS.EDW_APPS_TO_WH и APPS.APPS_TO_APPS убедиться, что есть запись в TNS_NAMES и запущен листенер или вручную создать пользователя apps и создать линки connect apps/apps alter session set global_names=false; drop database link EDW_APPS_TO_WH; drop database link APPS_TO_APPS; create database link EDW_APPS_TO_WH connect to apps identified by apps using 'VIS'; create database link APPS_TO_APPS connect to apps identified by apps using 'VIS'; select * from dba_db_links where db_link in ('APPS_TO_APPS','EDW_APPS_TO_WH'); импорт идёт ~5ч15мин. 5. ПОСЛЕ ИМПОРТА Note:371933.1 пакеты APPS.PY_ZA_USERMESG_PKG PY_ZA_PRORATE_PKG скачать патч 4543522 и выполнить sqlplus apps/apps @pyzamesg.pkb sqlplus apps/apps @pyzapror.pkb то же самое с ASG_DOWNLOAD, но нет патча для asgdwlds.plb строка 2149 HZ_IMP_LOAD_WRAPPER 2654/9 PL/SQL: ORA-00918: column ambiguously defined Note:391830.1 патч 4671360 выполнить sqlplus apps/apps @ARHLWRPB.pls после или в процессе импорта посмотреть логфайл на ошибки. сначала идут ошибки создания табличных пространств. Их можно игнорировать, если пользователи у которых оно DEFAULT уже созданы, если нет - импорт прервется при попытке импортировать объекты в несуществующих пользователей. ошибки на SYSTEM.REPCAT$* можно игнорировать - ничего не импортируется в DEF$_DESTINATION вставлено 2 строки роли не играют, можно удалить в AQ$_QUEUE_UPGRADE_TMP вставлено 4 строки заполнялась при переходе с 8 версии, роли не играет предупреждения table contains ROWID column, values may be obsolete можно игнорировать, если дальше стоит 0 rows imported не создается много индексов, а объектные индексы создаются с ошибкой. Ошибки: DRG-12606: error encountered while parsing COLUMNS list ORA-00904: "CTXSYS"."HZDQM"."MCT": invalid identifier Причина: не импортируется пакет. Bug 5635146 select name, text from all_source where UPPER(name) = 'HZDQM' and owner = 'CTXSYS' and text like '%$Header%' order by name; не выдаст строк, надо выполнить sqlplus apps/apps @/oracle/visappl/ar/11.5.0/patch/115/sql/arhdqcp1.sql APPS CTXSYS AR склеить текст из лога для индексов, которые не создалить и пересоздать их. Можно посмотреть как пересоздать индексы и схему CTXSYS в Note:292996.1, 312640.1, но выполнить рекомендации их до импорта нельзя если перед экспортом не мигрировать koren lexer будут ошибки, Note:362203.1 для импорта не поможет: DRG-13201: KOREAN_LEXER is desupported ORA-13249: Rebuild_index parameter cannot be specified in CREATE INDEX ORA-02001: user SYS is not permitted to create indexes with freelist groups ORA-13231: failed to create index table [MDRT_49E4E$] during R-tree creation если APPLSYS.WF_CONTROL или ODM.DMS_QUEUE_TABLE не импортируется IMP-00060: из-за SYS.AQ$_JMS_USERPROPARRAY значит в импорте параметры не подействовали - их вбивали в командной строке, а она импортом обрезается. Оценка скорости операций: скорость диска: iostat -k -x -d 2 формирование пустых блоков 6Мб/c журнальные файлы лучше вынести на отдельный диск - 8Мб/c чтение дампа 5Мб/c запись в файлы данных 5-14Мб/c переключение 500мб логфайлов раз в 1,5мин импорт идет 5,5-9,5 часов. 164 переключений журнала, общий объем 85Гб после импорта 16645 объектов INVALID. Note 372263.1 перейти в $AD_TOP/patch/115/sql (/oracle/visappl/ad/11.5.0/patch/115/sql/) sqlplus "/ as sysdba" @/oracle/visappl/ad/11.5.0/patch/115/sql/adctxpkg.sql manager CTXSYS APPS cd $APPL_TOP/admin/adgrants.sql (/oracle/visora/9.2.0/appsutil/sql/) sqlplus "/ as sysdba" @/oracle/visora/9.2.0/appsutil/sql/adgrants.sql APPLSYS select a.table_owner||'.'||a.synonym_name from dba_synonyms a,dba_objects b where status='INVALID' and object_type='SYNONYM' and a.synonym_name=b.object_name; Note:380480.1 из них 83 синонима на объекты несуществующих пользователей: select a.table_owner||'.'||a.synonym_name from dba_synonyms a,dba_objects b where status='INVALID' and object_type='SYNONYM' and a.synonym_name=b.object_name and a.table_owner not in (select username from dba_users); удалить их spool dropsynonyms.sql select 'DROP PUBLIC SYNONYM '||a.synonym_name||';' from dba_synonyms a,dba_objects b where status='INVALID' and object_type='SYNONYM' and a.synonym_name=b.object_name and a.table_owner not in (select username from dba_users); spool off скомпилировать объекты: execute utl_recomp.recomp_serial(); после перекомпиляции за 13 минут всё должно скомпилироваться, кроме может быть пакетов EGO* после импорта очереди AQ запрещены. Нужно разрешить как в Note:357011.1 execute DBMS_AQADM.START_QUEUE('AR.AR_REV_REC_Q', TRUE, TRUE); или скриптом полученным на первом шаге убрать временные параметры из init.ora _disable_logging _wait_for_sync COMMIT_WRITE установить значения sga_target = 800000000 aq_tm_processes = 2 job_queue_processes = 1 O7_DICTIONARY_ACCESSIBILITY = FALSE пересоздать spfile Run the library update script against the database cd <RDBMS ORACLE_HOME>/appsutil/install/<CONTEXT NAME> sqlplus "/ as sysdba" @adupdlib.sql so если меняется имя хоста, порты, то cd <RDBMS ORACLE_HOME>/appsutil/clone/bin perl adcfgclone.pl dbTier если он работоспособен полезные запросы после импорта: select owner||'.'||object_name||' '||object_type from dba_objects where status='INVALID' and object_type<>'TRIGGER'; select owner,object_type, count(object_id) from dba_objects where status='INVALID' group by owner,object_type; select owner,INDEX_NAME from dba_indexes where DOMIDX_OPSTATUS<>'VALID'; select owner,INDEX_NAME from dba_indexes where DOMIDX_STATUS<>'VALID'; select owner,INDEX_NAME from dba_indexes where FUNCIDX_STATUS<>'ENABLED'; select PGA_TARGET_FOR_ESTIMATE,PGA_TARGET_FACTOR,ESTD_PGA_CACHE_HIT_PERCENTAGE from v$pga_target_advice; select SIZE_FACTOR,ESTD_PHYSICAL_READS,ESTD_PCT_OF_DB_TIME_FOR_READS from v$db_cache_advice; select SHARED_POOL_SIZE_FACTOR,ESTD_LC_TIME_SAVED_FACTOR,ESTD_LC_LOAD_TIME_FACTOR from v$shared_pool_advice; select SGA_SIZE_FACTOR,ESTD_PHYSICAL_READS,ESTD_DB_TIME_FACTOR from V$SGA_TARGET_ADVICE; select UNDOBLKS,TXNCOUNT,MAXQUERYLEN,ACTIVEBLKS,UNEXPIREDBLKS,TUNED_UNDORETENTION a from v$undostat order by begin_time asc;

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

Обсуждение [ RSS ]
  • 1, admin (??), 21:00, 06/08/2007 [ответить]  
  • +/
    ну а просто дамп в sql как в оракле сделать?
     
     
  • 3, Евгений (??), 06:30, 16/05/2008 [^] [^^] [^^^] [ответить]  
  • +/
    смотрите утилиту exp
     

  • 2, Евгений (??), 06:29, 16/05/2008 [ответить]  
  • +/
    Чуш полнейшая.
    Есть стандартная процедура миграции. Как правило времени тратится минут 40 вне зависимости от объема данных.

    http://download-west.oracle.com/docs/cd/B14117_01/server.101/b10763/toc.htm

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру