Oracle DB administering

Индекс для партиционированной таблицы

Posted on

Стоит задача для имеющейся большой партиционированной таблицы построить локальный индекс, причем желательно перестраивать его не сразу, а постепенно, по-очереди для отдельных партиций. create index MY_TABLE_I2 on MY_TABLE(COL1) local unusable; потом для партиций делаем: alter index MY_TABLE_I2 rebuild partition P_01122006 можно использовать параллельный запрос: alter index MY_TABLE_I2 rebuild partition P_01122006 parallel 8 Еще задача: после частичного восстановления базы […]

Oracle DB administering

Backup Control Files

Posted on

original article: http://esemrick.blogspot.com/2006/02/backup-control-files-are-they-special.html Backup Control Files – Are they special? I read an article today that talked about backup control files. Typically, DBAs don’t deal with backup control files on a daily basis so I thought I would take a look. This article asserts that Oracle requires a RESETLOGS operation after performing recovery using a […]

Oracle DB administering

Impdp и Expdp

Posted on

Source for the article: http://myorastuff.blogspot.com/2008/08/expdp-impdp.html Data pump is a new feature in Oracle10g that provides fast parallel data load. With direct path and parallel execution, data pump is several times faster then the traditional exp/imp. Traditional exp/imp runs on client side. But impdp/expdp runs on server side. So we have much control on expdp/expdp compared […]

Oracle DB administering

Установка Oracle на Solaris

Posted on

Oracle Database 11g Release 2 (11.2.0.2) Installation On Solaris 10 (x86-64) In this article I’ll describe the installation of Oracle Database 11g Release 2 (11.2.0.2) on Solaris 10 (x86-64). The article is based on a default server installation as shown here. Alternative installations may require a different setup procedure. Download Software Unpack Files Hosts File […]

Oracle DB administering

SCN и Oracle

Posted on

Converting Hexadecimal Oracle SCNs to Decimal Oracle serializes transactions and manages concurrency and recovery using an ever-increasing number called a system change number, or SCN. Usually, we see these numbers expressed in decimal, in places like the v$ views and the alert log. Occasionally, however, Oracle’s code expresses SCNs in hexadecimal. Unfortunately, you can’t just […]

Oracle DB administering

Таблицы x$ в Oracle

Posted on

Есть такие «магические» (по выражению Тома Кайта) таблицы. Все они содержат определенную информацию о буферном кеше. X$BH – содержит информацию о заголовках буферов (всех размеров) в кэш-буфере. X$KCBWBPD – информация о пулах ( V$BUFFER_POOL) X$KCBWDS – информация о WS (Working Sets) Можно построить цепочку: блок объекта (obj$) находится в буфере (X$BH) – буфер находится в […]

Oracle DB administering

Получение значений метрик из AWR

Posted on

select os.value, hss.begin_interval_time from DBA_HIST_OSSTAT os, dba_hist_snapshot hss where os.snap_id = hss.snap_id and os.stat_name = ‘LOAD’ — AVG_BUSY_TIME, AVG_USER_TIME, AVG_SYS_TIME, AVG_IOWAIT_TIME order by begin_interval_time select begin_time, value from DBA_HIST_SYSMETRIC_HISTORY where metric_name = ‘User Transaction Per Sec’ order by begin_time — User Transaction Per Sec — Physical Reads Per Sec — Physical Writes Per Sec — […]

Oracle DB administering

Top N текущих сессий

Posted on

Этот запрос взят отсюда: http://gorodovets.blogspot.com/2009/07/oracle-top-sql.html select sql_text, username, disk_reads_per_exec, buffer_gets_per_exec, buffer_gets, disk_reads, parse_calls, sorts, executions, loads, rows_processed, hit_ratio, first_load_time, sharable_mem, persistent_mem, runtime_mem, cpu_time_secs, cpu_time_secs_per_execute, elapsed_time_secs, elapsed_time_secs_per_execute, address, hash_value from (select sql_text, b.username, round ((a.disk_reads/decode(a.executions,0,1,a.executions)),2) disk_reads_per_exec, a.disk_reads, a.buffer_gets, round ((a.buffer_gets/decode(a.executions,0,1,a.executions)),2) buffer_gets_per_exec, a.parse_calls, a.sorts, a.executions, a.loads, a.rows_processed, 100 – round(100* a.disk_reads/greatest(a.buffer_gets,1),2) hit_ratio, a.first_load_time, sharable_mem, persistent_mem, runtime_mem, round(cpu_time […]

Oracle DB administering

Создание клона базы из физической копии

Posted on

Скопировать файлы данных (со стэндбая, например) чтобы остановить применение архивлогов: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL чтобы заново запустить применение архивлогов: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION 1. Определить новое окружение – ORACLE_SID (если нужно, еще ORACLE_BASE, ORACLE_HOME, PATH) 2. Сделать запрос на создание нового control file (на рабочем окружении): alter […]

Oracle DB administering

Настройка shared cursors

Posted on

http://psoug.org/reference/cursor_sharing.html http://www.orafaq.com/node/758 http://www.freelists.org/post/oracle-l/RE-shared-pool-latch,2 http://kerryosborne.oracle-guy.com/2008/09/flush-a-single-sql-statement/ http://orachat.com/oracle-library-cache-tuning-real-case-study/ AWR-Report In-Depth Analysis –total cursors open, by session select a.value, s.username, s.sid, s.serial# from v$sesstat a, v$statname b, v$session s where a.statistic# = b.statistic#  and s.sid=a.sid and b.name = ‘opened cursors current’; –total cursors open, by username & machine select sum(a.value) total_cur, avg(a.value) avg_cur, max(a.value) max_cur, s.username, s.machine from v$sesstat […]