Простые движенья: Oracle E-Business Suite
понедельник, декабря 18, 20061. Получить все ошибки
Чтобы получить все ошибки зафиксированные в БД:
select * from user_errors
2. Получить все нескомпиленные пакеты:
select uo.object_name from user_objects uo where status='INVALID';
3. Полный перезапуск канкарент менеджеров
1)Остановить все менеджеры: ./adcmctl.sh stop apps/apps_password
2)Уничтожить все живущие процессы FND, например так: kill `ps -ef grep FNDLIBR awk {'print $2'}`
3)Выставить статус канкарентов на пусто: update fnd_concurrent_queues q set q.control_code =null where q.control_code ='N';
4)Запустить менеджеры: ./adcmctl.sh start apps/apps_password
5)Проверить можно зайдя в формсы, под полномочиями "Системный администратор", Запросы - Администрировать
4. Объединение патчей в группы.
Чтобы пользоваться admrdge для объединения патчей пишем просто admrdge (директория с патчами) (директория с выходным патчем)
5. Устанока пакета pkg
1)Устанавливаем переменные окружения БД
2)Для того, чтобы буквы из пакета в OEBS, были по русски экспортим ns_lang: export NLS_LANG=American_America.CL8MSWIN1251
3)Устанавливаем пакет: sqlplus apps @имя_пакета
4)Возвращаем ns_lang На грядку, где росло =): export NLS_LANG=American_America.CL8ISO8859P5
6. Получение списка патчей установленных через adpatch
ELECT ap.patch_name,
l.LANGUAGE,
to_char(max(end_date),'dd.MM.yyyy hh24:mi:ss') as applied,
max(end_date),
ad_pa_validate_criteriaset.get_concat_mergepatches
(pd.patch_driver_id) as mergepatches
FROM applsys.ad_appl_tops AT,
applsys.ad_patch_driver_langs l,
applsys.ad_patch_runs pr,
applsys.ad_patch_drivers pd,
applsys.ad_applied_patches ap
WHERE pr.appl_top_id = AT.appl_top_id
AND pr.patch_driver_id = pd.patch_driver_id
AND pd.applied_patch_id = ap.applied_patch_id
AND pd.patch_driver_id = l.patch_driver_id
GROUP BY ap.applied_patch_id,
ap.patch_name,
ad_pa_validate_criteriaset.get_concat_mergepatches
(pd.patch_driver_id),
pd.patch_driver_id,
l.LANGUAGE
ORDER BY 4 DESC;
7. Как получить SID сессии ?
sysdba
SQL> select SID from v_$session where STATUS='ACTIVE';
8. Как получить Блокировки?
SQL> select /*+ rule*/
S.SID, L.TYPE, L.LMODE, L.REQUEST, L.BLOCK, L.ID1, S.MODULE, S.ACTION
from v$lock L, v$session S
where L.sid = S.sid
and S.sid in (select SID from v_$session where status='ACTIVE'); 2 3 4 5
no rows selected
9. и еще одни блокировки:
SQL> select LO.OBJECT_ID, LO.LOCKED_MODE, O.OBJECT_NAME
from v$locked_object LO, dba_objects O
where LO.OBJECT_ID = O.OBJECT_ID
and LO.SESSION_ID in (select SID from v_$session where status='ACTIVE');
2 3 4
no rows selected
10. Как получить активные сессии в базе:
под пользователем sys делаешь запрос select * from v_$session where status='ACTIVE'