CHAR, NCHAR, VARCHAR, VARCHAR2, NVARCHAR2, NUMBER, DATE
TIMESTAMP, TIMESTAMP WITH TIMEZONE
INTERVAL YEAR TO MONTH, INTERVAL YEAR TO SECOND
RAW CLOB BLOB
NLOB, LONG, LONG RAW, BFILE, ROWID, UROWID
SYS
DBA_LOGSTDBY_UNSUPPORTED
służy do wylistowania obiektów
nieadekwatnych do umieszczenia w logical standby database.
Wiersze w tabelach przeznaczonych do umieszczenia w logicznej bazie standby
muszą być jednoznacznie identyfikowane. Oracle Corp. nalega na umieszczenie PK
na każdej tabeli. Jeżeli brak PK lub unikalnego indeksu, do dzieła zaprzęgany
jest tzw. supplemental logging. Tabele
nieposiadające PK, i w związku z tym wymuszające supplemental logging, można
znaleźć w widoku DBA_LOGSTDBY_NOT_UNIQUE
. Jeżeli jest to możliwe,
warto zdefiniować PK, aby zwiększyć wydajność, eliminując supplemental
logging.
Słowniczek
ROWID
, jednoznacznie identyfikujący wiersz w przypadku
bazy produkcyjnej lub fizycznej bazy standby. W takim przypadku
zachodzi potrzeba użycia klucza głównego jako identyfikatora wiersza.
Te zaś standardowo nie są zapisywane do dziennika powtórzeń, o ile
ich wartość nie zmienia się.
Rodzaje supplemental loggingu:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA
ROWID
. Identification key logging
potrzebne jest dla logicznej bazy danych. Włącza się za
pomocą:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY,
UNIQUE INDEX) COLUMNS
Jeżeli tabela nie ma PK, a ma klucze unikalny - jeden z nich
jest arbitralnie wybierany do supplemental loggingu. Zaś gdy
tabela w ogóle nie ma PK ani UK, są logowane wszystkie kolumny
za wyjątkiem tych z typami LONG
i
LOB
. Niezależnie od włączonego logowania, zawsze
zapisywany jest ROWID
.
Database supplemental logging na poziomie minimal
lub
ALTER DATABASE DROP SUPPLEMENTAL LOG DATA
ALTER TABLE scott.emp ADD SUPPLEMENTAL LOG GROUP
emp_parttime (empno, ename, deptno) ALWAYS
Powyższe tworzy grupę emp_parttime
składającą się
z wymienionych kolumn. Będą one logowane za każdym razem gdy
UPDATE będzie odnosić się do tabeli scott.emp
.
ALTER TABLE scott.emp ADD SUPPLEMENTAL LOG GROUP
emp_fulltime (empno, ename, deptno)
Kolumna może należeć do więcej niż jednej grupy.
[DAG]
Database Administrator Guide 9.2