Oracle mechanics

Ссылки

ASM

ASM Metadata and Internals by Luca Canali
ASM Support Guy

Oracle 12c

Oracle Multitenant blog
Oracle Database In-Memory blog
Презентация Игоря Мельникова про In-Memory

Backup, recovery, standby-DataGuard & RMAN

186137.1 How To Recover Using The Online Redo Log
Graceful Switchover and Switchback by Lawrence To — исторический документ для версий Oracle 7.3-8.0, описывается ещё неавтоматизированный функционал Standby, впоследствии оформленный в Data Guard.
333749.1 Alternative for standby/dataguard in standard edition — метод создания (из любого backup: RMAN/MANUAL/HOT/COLD..) и наката копии боевой БД (mounted, не standby) с использованием SQL> recover database using backup controlfile until cancel. При этом можно на время открывать эту копию БД в режиме READ ONLY, добавлять файлы данных. Лог файлы придётся копировать вручную либо периодически восстанавливать из RMAN backup.

371556.1 How move tablespaces across platforms using Transportable Tablespaces with RMAN

1015544.102 ORA-01194: When Opening Database After Restoring Backup подробное объяснение ORA-01194 во время выполнения ALTER DATABASE OPEN и всех необходимых условий:

SQL> SELECT DISTINCT (TO_CHAR (CHECKPOINT_CHANGE#)) FROM V$DATAFILE_HEADER;
SQL> SELECT DISTINCT (FUZZY) FROM V$DATAFILE_HEADER;
SQL> SELECT DISTINCT (STATUS) FROM V$BACKUP;
SQL> SELECT OPEN_RESETLOGS from V$DATABASE;

Answers To FAQ For Restoring Or Duplicating Between Different Versions And Platforms [ID 369644.1] — полезный документ, освещены след.вопросы backup/recovery:

1) Можно ли и как восстановить (restore) или дублировать (duplicate) бэкап предыдущей версии Oracle на последующую (например, 10.2 -> 11.2) с использованием rman?
2) Можно ли и как восстановить или дублировать бд между различными патчсетами (patchset levels)?
3) Можно ли и как восстановить или дублировать бд между различными версиями ОС?
4) Можно ли и как восстановить или дублировать бд между различными по битности версиями Oracle (32 bit or 64 bit)?
5) Можно ли восстановить бэкап более поздней на более раннюю версию Oracle?
6) Можно ли и как восстановить или дублировать RMAN backup между разными платформами?

How To Trace The Remote File Server (RFS) Process In Physical Standby Database [ID 1481125.1] — полезно про соответствие ARCH — RFS процессов

Oracle 11g ADG: What They Didn’t Print in the Manuals Oracle — простая и полезная презентация OOW 2007 со сценариями использования read-only standby, включая техники redirecting DML/DDL

Saibabu Devabhaktuni. Internals of Active Dataguard (PayPal)

CBO

Understanding System Statistics
377847.1 Unsafe Peeked Bind Variables and Histograms
728004.1 How ORACLE CBO Calculate Join Cardinality with Join Elimination Filter?
68992.1 Predicate Selectivity в статье объясняется, как CBO вычисляет избирательность (selectivity) для различных типов условий запросов (predicates)
Optimizer Cost Based Query Transformation [ID 1082127.1]

ColGroup cardinality sanity check

V$ системные обзоры

V$DIAG_INFO для системы / сессии

11.2.0.1.ORCL112@SCOTT SQL> @sid

INST_ID SID SERIAL# SESSION_USER CURRENT_SCHEMA SERVER    SPID
------- --- ------- ------------ -------------- --------- ----
1       11     1731 SCOTT        SCOTT          DEDICATED 5336

SQL> SELECT NAME, VALUE FROM V$DIAG_INFO;

NAME                   VALUE
---------------------- -------------------------------------------------------------------
Diag Enabled           TRUE
ADR Base               c:\app\my
ADR Home               c:\app\my\diag\rdbms\orcl112\orcl112
Diag Trace             c:\app\my\diag\rdbms\orcl112\orcl112\trace
Diag Alert             c:\app\my\diag\rdbms\orcl112\orcl112\alert
Diag Incident          c:\app\my\diag\rdbms\orcl112\orcl112\incident
Diag Cdump             c:\app\my\diag\rdbms\orcl112\orcl112\cdump
Health Monitor         c:\app\my\diag\rdbms\orcl112\orcl112\hm
Default Trace File     c:\app\my\diag\rdbms\orcl112\orcl112\trace\orcl112_ora_5336.trc
Active Problem Count   3
Active Incident Count  389

[Oracle] Wrong SQL_ID in view V$SORT_USAGE / V$TEMPSEG_USAGE and how to handle it in 11.2.0.2 or higher
Bug 17834663 — Include SQL ID for statement that created a temporary segment in GV$SORT_USAGE (Doc ID 17834663.8)

Oracle Internals

Steve Adams
X$ tables by Yong Huang
http://www.orafaq.com/wiki/X$_Table
xDollar — там же линк на заметку/скрипт Танела Подера

A Guide to the bbed Block Browser and EDitor

Общие вопросы администрирования (DBA)

15390.1 How to Determine and Change DB_NAME or ORACLE_SID
260192.1 Changing WE8ISO8859P1/ WE8ISO8859P15 or WE8MSWIN1252 to (AL32)UTF8
564989.1 How To Truncate a Background Trace File Without Bouncing the Database
330239.1 Memory Notification: Library Cache Object Loaded Into Sga как ограничить (избавиться) количество сообщений в alert.log и udump директории, установив параметр _kgl_large_heap_warning_threshold How To Edit, Read, and Query the Alert.Log [ID 1072547.1] — X$DBGALERTEXT; параметры dbms_system.ksdwrt:

  • Use 1 to write to the trace file
  • Use 2 to write to the «alert.log»
  • Use 3 to write to both

Когда стоит перестраивать индексы (+ мифы про Oracle B-tree индексы) — Shailesh Mishra When to rebuild index ?

Дмитрий Бобровский.Что такое и зачем Oracle VSS Writer Service?

Connectivity

234517.1 How to Resolve Common Errors Encountered while using Transparent Gateways or Generic Connectivity

CRS

259301.1 CRS and 10g Real Application Clusters
265769.1 Troubleshooting CRS Reboots
283684.1 How to Change Interconnect/Public Interface IP Subnet in a 10g Cluster
276434.1 Modifying the VIP or VIP Hostname of a 10g Oracle Clusterware Node

Database option, editions

305360.1 Data Guard and Oracle Standard Edition
266728.1 10G: ORA-6512 AT SYS.OLAPIHISTORYRETENTION on Standard Edition
421191.1 Complete checklist for manual upgrades of Oracle databases from anyversion to any version on any platform (documents only from 7.3.x>>8.0.x>>8.1.x>>9.0.x>>9.2.x>>10.1.x>>10.2.x>>11.1.x) ссылки на описания возможных сценариев обновлений БД, включая миграцию 32-bit -> 64-bit

Enterprise Manager DBConsole, agents

548928.1 Agent Startup Troubleshooting guide

Master Note for Enterprise Manager Configuration Assistant (EMCA) in Single Instance Database Environment [ID 1099271.1] описывает работу с EMCA, включая ручное (без использования emca) удаление DBConsole

I/O

237299.1 How To Check if Asynchronous I/O is Working On Linux. Oracle Server — Version: 9 to 11

The XFS file system is supported for the Unbreakable Enterprise Kernel Release 2 (2.6.39) on the x86_64 architecture only

Installation, update and patching

Werner Puschitz — Oracle 9i, 10g(32-bit/64-bit) on Linux x32/x32_64 installation & configuration for performance. Один из лучших сайтов по теме, много полезной информации по конфигурации Linux. 187242.1 Applying Patch Sets / Interim Patches with Physical Standby Database in Place
421308.1 Requirements For Installing Oracle10gR2 On RHEL/OEL 5 (x86_64)
225349.1 Implementing Address Windowing Extensions (AWE) or VLM on Windows Platforms
394956.1 Configuring Oracle ASMLib on Multipath Disks on Linux
244241.1 Rolling Patch — OPatch Support for RAC — описаны методы работы утилиты opatch в кластерном окружении, включая условия использования rolling patch

Objects

77635.1 How to Determine Real Space used by a Table (Below the High Water Mark)
205260.1 How To Determine The Amount of Space Used by an IOT
66431.1 LOBS — Storage, Redo and Performance Issues
198160.1 Summary note to LOB’s/BLOB’s/CLOB’s/NCLOB’s and BFILES

OS utilities

244733.1 Calling Unix Shell Scripts From a Java Stored Procedure

SQL*Net

336836.1 TNS-01103 When Trying to Start the Listener — об особенностях систаксиса файлов конфигурации LISTENER.ORA:

Проверьте файл listener.ora [а также все прочие конфигурационные файлы SQL*Net — sqlnet.ora, tnanames.ora,…] и убедитесь, что в первом стобце слева располагаются только такие слова как имя listener‘а, sid_list и параметры такие как tracing [т.е. названия сущностей]. Вся остальная информация должна располагаться по крайней мере после одного пробела, не табуляции

Вячеслав Любомудров:

В конфигурационных файлах SQL*Net продолжение предыдущей строки отмечается пробельными символами в начале следущей Если первый символ непробельный — это начало новой сущьности. Т.е. старая не окончена, а новая ошибочна

sqlnet.ora — считывается всякий раз при старте процесса Oracle, легко проверяется установковкой уровня трассировки, или sqlnet.expire_time – to restart or not to restart

Безопасность

Oracle password cracker — забавная PL/SQL процедура для проверки паролей пользователей и ролей. Не всесильная, но простая в использовании и полезна

PL/SQL Wrapper

Ссылка на онлайн unwrapper в документации Oracle — 11.2 doc:

Note: Wrapping text does not prevent anyone from displaying it with a utility such as: http://www.codecheck.info/UnwrapIt/ For high-assurance security, use Oracle Database Vault, described in…

NLS

Как определить активную кодовую страницу сессии Windows ?

c:> reg query HKLM\System\CurrentControlSet\Control\Nls\Codepage /v ACP

и, соответственно, значение NLS_LANG:

c:> reg query HKLM\SOFTWARE\ORACLE /v NLS_LANG
c:> reg query HKLM\Software\Oracle\Home0 /v NLS_LANG

Windows Code Page Identifiers

NLS Information for Windows

The correct NLS_LANG in a Microsoft Windows Environment [ID 179133.1]

NLS_LANG faq

В CMD.EXE при использовании TT Lucida Console:

c:\>chcp
Текущая кодовая страница: 866

c:\>chcp 1251
Текущая кодовая страница: 1251

установка/проверка NLS_LANG сессии:

c:\>set NLS_LANG=AMERICAN_CIS.CL8MSWIN1251

c:\>sqlplus scott/tiger

@SCOTT SQL> @%NLS_LANG%
SP2-0310: unable to open file "AMERICAN_CIS.CL8MSWIN1251"
@SCOTT SQL> select * from v$nls_parameters where parameter in ('NLS_LANGUAGE', 'NLS_TERRITORY', 'NLS_CHARACTERSET');

PARAMETER         VALUE
----------------- ------------
NLS_LANGUAGE      AMERICAN
NLS_TERRITORY     CIS
NLS_CHARACTERSET  CL8MSWIN1251

Прочие интересные ссылки, документы, скрипты

The Secrets of Oracle Row Chaining and Migration — кроме красочной статьи о миграции строк, на сайте много полезной информации
186531.1 HOW TO SELECT FROM A TABLE EXCLUDING LOCKED ROWS удобная функция для выбора (обновления) ограниченного количества незаблокированных строк. Обсуждение, сравнение с FOR UPDATE SKIP LOCKED.

215187.1 SQLTXPLAIN.SQL — Enhanced Explain Plan and related diagnostic info for one SQL statement

SQL

Статья Скота Стефенса (плюс перевод), объясняющая различие результатов запросов:

SQL> select ename from emp where empno not in (select mgr from emp);
SQL>select ename from emp e where not exists (select 0 from emp where mgr = e.empno);

Oracle Tip: Understand how NULLs affect IN and EXISTS

Советы Oracle: Как NULL-значения влияют на оценку предикатов IN и EXISTS

Nulls: Nothing to Worry About отличная статья Lex de Haan и Jonathan Gennick
, расширяющая предыдущую тему про понятие NULL в ANSI SQL и трёхзначную логику, в частности, наглядно иллюстрирующая для чего запрос:

SQL> select max(num) from (select 1 as num from dual where 1 = 2);

возвращает пустую строку

Формат sql-функции DUMP:

SQL> select dump('Форум sql.ru', 1016) f1, dump(N'Форум sql.ru', 1016) f2 from dual;

Типы соединений в SQL — наглядная диаграмма:

JoinsDiagram

PL/SQL

DBMS_METADATA Across Database Links

DDL for DBMS_SCHEDULER job

SQL> SELECT dbms_metadata.get_ddl('PROCOBJ','YOURJOBNAME', 'YOURJOBOWNER') from dual;

Oracle Support links

Quick Reference to Patchset Patch Numbers [ID 753736.1]

ORA-600 Lookup Error Categories [ID 175982.1]

ORA_00600_error_categories.doc в приложении к ORA-00600 Error When Trying to Query Data in a Worksheet (Doc ID 1321720.1)

Interpreting HANGANALYZE trace files to diagnose hanging and performance problems [ID 215858.1] — запуск, уровни (hanganalyze levels) и разделы трейса

Oracle Text

text_index_status.sql — List all Oracle Text (formerly interMedia Text) Indexes by owner [ID 187905.1] — как получить список индексов со статусами

select idx_owner,idx_name,idx_table,idx_text_name,idx_docid_count,idx_status
   from ctxsys.ctx_indexes
group by idx_owner,idx_name,idx_table,idx_text_name,idx_docid_count,idx_status
/

IDX_STATUS column in CTXSYS.DR$INDEX — физические значения статусов

RAC

Oracle RAC: finding the Resource Master — определения, скрипты, управление

Flashback

Reversing the effect of a TRUNCATE TABLE in Oracle 11gR2 — оригинальный способ доступа к данным таблицы после TRUNCATE с использованием предварительно определённого Flashback Data Archive и enable row movement — что имеет некоторые основания — Row movement must be enabled on the table, which indicates that rowids will change after the flashback occurs

Функции

tbl$or$idx$part$num :

select 'ALTER INDEX "'||index_owner||'"."'||index_name||'" MODIFY PARTITION '|| partition_name || ' UNUSABLE;'
  from dba_ind_partitions
 where (index_owner, index_name) in
       (select owner, index_name
          from dba_indexes
         where (table_owner, table_name) in (('&OWNER', '&TABLE')))
   and partition_position =
       (SELECT partition_position
          FROM dba_tab_partitions
         where (table_owner, table_name) in (('&OWNER', '&TABLE'))
           and partition_position =
               tbl$or$idx$part$num("&OWNER"."&TABLE",
                                   0,
                                   0,
                                   65536,
                                   to_char(&DDATE, 'DD-MON-YYYY')))
/

Finding partition name based on HIGH_VALUE using TBL$OR$IDX$PART$NUM…
Undocumented Oracle Version 12.1.0.1

tbd

TrackBack URI

Блог на WordPress.com.

%d такие блоггеры, как: