Category Archives: Oracle DB administering

Patching DST for Solaris and Oracle

Patching DST for Solaris and Oracle 1. Solaris: 1.1. copy last tzdata from http://www.iana.org/time-zones 1.2. unpack the archive into temporary directory 1.3. as root: #zic europe this command compiles and installs updated timezone database 1.4. check that tz update applied #! /usr/bin/perl use POSIX qw(mktime),qw(strftime); # Oct 26 02:00:00 MSD 2041 $t = mktime(0,10,1,26,9,2014-1900,-1,-1,1); print […]

Read more

Solaris and RDBMS direct IO

DB Options disk_asynch_io is a kind of master switch, which turns on or off Async I/O to database files on any type of storage, whether it’s raw device or filesystem. The filesystemio_options parameter gives finer control over I/O to database files on filesystems. It allows you to turn off async I/O to filesystem files but […]

Read more

Installing Oracle RDBMS on Solaris 11

Prepare OS environment #projadd group.dba #projmod -s -K “project.max-shm-memory=(priv,4gb,deny)” group.dba #projmod -s -K “project.max-sem-ids=(priv,256,deny)” group.dba #projmod -s -K “process.max-file-descriptor=(priv,65536,deny)” group.dba   #groupadd dba #groupadd oinstall #useradd -g oinstall -G dba -d /export/home/oracle -s /bin/bash -K project=group.dba -m oracle !important! on Solaris 11 you can not explicitly create directoris in /home because of the automount feature. […]

Read more

Oracle RDBMS installation

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 […]

Read more

RMAN – разное

Если в fast_recovery_area не осталось свободного места и не хочется добавлять дополнительное, можно почистить архивлоги: 1. удаляем файлы архивлогов 2. чистим видимое место crosscheck archivelog all; delete noprompt expired archivelog all; можно не удалять вручную файлы архивлогов, вместо этого команда: DELETE NOPROMPT ARCHIVELOG ALL; Incrementally Updated Backups The following example shows how an incrementally updated […]

Read more

Parallel operations in Oracle

http://www.akadia.com/services/ora_parallel_processing.html Parallel Features The full list of Oracle parallel execution features currently includes the following Parallel Query Parallel DML Parallel DDL Parallel Data Loading Parallel Recovery Parallel Replication How Parallel Execution Works Operations That Can Be Parallelized Oracle can parallelize operations that involve processing an entire table or an entire partition. These operations include: SQL […]

Read more

Партиционирование таблиц

Для таблиц с партиционированием по интервалу при попытке удалить первую партицию возникает ошибка: ORA-14758: Last partition in the range section cannot be dropped Чтобы ее обойти можно поступить так: alter table my_table set interval (); alter table my_table drop partition P1 alter table my_table set interval (numtoyminterval(1,’year’));

Read more

Установка Enterprise Manager 12c

Для активации агента на Solaris SPARC потребовалось установить патч: перед установкой патча необходимо поставить правильный ORACLE_HOME export ORACLE_HOME=/u01/oracle/Middleware/oms и проверить версию opatch /u01/oracle/Middleware/oms/OPatch/opatch lsinventory Добавляем standby database instance как target: http://hongwang.wordpress.com/2012/01/30/grid-control-adding-target-a-standby-database/

Read more

Password files

Password files: The Oracle Password File ($ORACLE_HOME/dbs/orapw or orapwSID) stores passwords for users with administrative privileges. One needs to create a password files before remote administrators (like OEM) will be allowed to connect. Follow this procedure to create a new password file: Log in as the Oracle software owner Run command: orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=mypasswd Shutdown […]

Read more

Полномочия Java внутри БД

Чтобы хранимый модуль на Java, выполняемый внутри БД, мог обращаться к локальной файловой системе, нужно дать права специальным образом. Чтобы посмотреть текущие права: select * from DBA_JAVA_POLICY where grantee = ‘OWNER’ Предоставить права делать что угодно внутри отдельной директории /u01/dir. Нужно обратить внимание: 1. Просто имени ‘/u01/dir/-‘ (то есть прав на все вложенные директории и […]

Read more

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

Стоит задача для имеющейся большой партиционированной таблицы построить локальный индекс, причем желательно перестраивать его не сразу, а постепенно, по-очереди для отдельных партиций. 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 Еще задача: после частичного восстановления базы […]

Read more

Backup Control Files

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 […]

Read more

Impdp и Expdp

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 […]

Read more

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

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 […]

Read more

SCN и Oracle

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 […]

Read more

Таблицы x$ в Oracle

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

Read more

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

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 — […]

Read more

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

Этот запрос взят отсюда: 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 […]

Read more

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

Скопировать файлы данных (со стэндбая, например) чтобы остановить применение архивлогов: 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 […]

Read more

Настройка shared cursors

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 […]

Read more