Ключевые слова: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;