3 дек. 2010 г.

Маленькие хитрости Oracle ;)

Дано: Oracle 9,10 и выше ...


 1) Если вдруг Вам на миг показалось, что ваш клиент Оракловый "подвис" или находится в /"глубокой прост?рации"/ ... то подсмотреть можно следующим запросом, что же у него там такое творится таки:

SELECT OPNAME
      ,SID ,SERIAL# ,CONTEXT ,SOFAR ,TOTALWORK
      ,ROUND (SOFAR / TOTALWORK * 100, 2) "%_COMPLETE"
  FROM  V$SESSION_LONGOPS
  WHERE ROUND (SOFAR / TOTALWORK * 100, 2) <> 100

Фишка в том, что в таблицу V$SESSION_LONGOPS попадают запросы выполняющиеся более 6 секунд, мало того они туда попадают, ведутся попутно для этих записей счетчики обработанных блоков/строк/чегодругого (поле SOFAR) и всего таких блоков/строк/чегодругого (поле TOTALWORK) ...


2) Подсмотреть все известные линки на другие БАЗЫ ДАННЫХ известные серверу Оракла
select * from ALL_DB_LINKS;
это если вам приспичит делать выборки позже в перекрестных запросах меж баз данных
select * from sheme.table@db_link tbl1 inner join shema.table tbl2 on tbl2.field=tbl1.field ...;

* Кстати линки открываются (в данном случае публичный) следующим образом:
CREATE PUBLIC DATABASE LINK remote_name_link_db 
   CONNECT TO user_name IDENTIFIED BY user_pass
   USING 'use_name_remote_db';

Комментариев нет:

Отправить комментарий