Ebook Oracle DBA - Tomas Solar Consulting

Transkript

Ebook Oracle DBA - Tomas Solar Consulting
Obsah
Děkuji za registraci ............................................................................................................ 6
Teorie – webináře ............................................................................................................... 7
Webináře zdarma ...................................................................................................................... 7
Architektura databáze Oracle 12c ........................................................................................... 7
Oracle DBA: STARTUP ........................................................................................................... 7
Shutdown .............................................................................................................................................. 8
Nomount ............................................................................................................................................... 9
Mount ...................................................................................................................................................10
Open .....................................................................................................................................................11
Administrace..................................................................................................................... 12
Kontrola serveru a zjištování důležitých informací ............................................................. 12
Operační systém ...................................................................................................................................12
Verze OS - distribuce, architektura ......................................................................................................12
Hostname .............................................................................................................................................13
IP adresa...............................................................................................................................................13
Databáze................................................................................................................................... 14
Běžící procesy ......................................................................................................................................14
Instalované databáze ............................................................................................................................15
Nastavení uživatele Oracle ..................................................................................................... 16
Skupiny ................................................................................................................................................16
Kontrola listeneru/tnsnames.ora ........................................................................................... 17
listener.ora............................................................................................................................................17
tnsname.ora ..........................................................................................................................................18
Nastavení prostředí ................................................................................................................. 19
oraenv ..................................................................................................................................................19
Nastavení profilu uživatele. .................................................................................................... 19
Založení databáze ručně (bez DBCA) ................................................................................... 21
Vytvoření init souboru .........................................................................................................................21
Založení databáze CREATE DATABASE ........................................................................... 23
Nastavení EM express ............................................................................................................. 26
Registrace DB do listeneru ..................................................................................................... 27
Soubor tnsnames.ora .............................................................................................................. 29
Vytvoření password file .......................................................................................................... 32
Nastavení promptu v OS ........................................................................................................ 34
Nastavení promptu v Sqlplus. ................................................................................................ 35
Vytvoření aliasu pro rychlé spuštění Sqlplus ....................................................................... 37
Velikost databáze .................................................................................................................... 38
2|Page
Jak zjistit SCN číslo? .............................................................................................................. 38
Vytvoření tablespace (TOOLS) ............................................................................................. 39
Vytvoření tablespace z sqlplus .............................................................................................................39
Vytvoření tablespace pomocí EM ........................................................................................................41
Vytvoření uživatele ................................................................................................................. 44
Přepnutí do archívního módu ................................................................................................ 45
Kontrola destinace pro archívní logy - FRA ........................................................................................45
Kontrola ...............................................................................................................................................47
Nastavební FRA ...................................................................................................................... 48
Kontrola ...............................................................................................................................................48
Nastavení .............................................................................................................................................49
Init soubor (Spfile vs pfile) ..................................................................................................... 50
Kontrolní soubor ..................................................................................................................... 51
Zjištění informací .................................................................................................................................51
Přídání kontrolního souboru.................................................................................................................53
Redo logy.................................................................................................................................. 55
Zjištění základních informací o Redo logách .......................................................................................55
Přidání redo log člena do skupiny bez ASM ........................................................................................56
Smazání člena z redo log skupiny ........................................................................................................56
Přidání redo log skupiny ......................................................................................................................56
Přidání redo log skupiny do FRA ........................................................................................................59
Automatic storage management - ASM .......................................................................... 61
Nastavení UDEV pro ASM disky........................................................................................... 61
Výpis SATA zařízení ...........................................................................................................................61
Vytvoření partition ...............................................................................................................................61
Identifikace disků .................................................................................................................................63
Nastavení důvěrného zařízení ..............................................................................................................63
Nastavení UDEV pravidel ...................................................................................................................64
Nahrání upravená blokových partition .................................................................................................64
Kontrola nastavení ...............................................................................................................................64
Kontrola oprávnění ..............................................................................................................................64
Restart služby .......................................................................................................................................65
Instalace grid infrastruktury - ASM ..................................................................................... 65
Vytvoření ASM diskgroup ...................................................................................................................65
asmca ...................................................................................................................................................65
Přidání redo log skupiny bez ASM ........................................................................................ 67
Změna aktivní skupiny .........................................................................................................................68
Přidání redo log skupiny s ASM ..........................................................................................................69
Přidání kontrolního souboru do ASM................................................................................... 69
Identifikace ..........................................................................................................................................69
Přidání ..................................................................................................................................................70
Přidání redo log člena do skupiny s ASM ............................................................................. 71
Zálohování a obnova........................................................................................................ 72
Záloha databáze RMAN ......................................................................................................... 72
3|Page
Připojení ...............................................................................................................................................72
Kontrola nastavení ...............................................................................................................................73
Záloha databáze ...................................................................................................................... 73
Záloha databáze a archívních souborů ................................................................................. 74
Záloha archívních souborů .................................................................................................... 76
Přesun datového souboru ....................................................................................................... 77
Zálohování kontrolního souboru ........................................................................................... 79
Nastavení automatické zálohy kontrolního souboru ............................................................................79
Zjištění zálohy kontrolního souboru ....................................................................................................81
Textová záloha kontrolního souboru ....................................................................................................82
Binární záloha kontrolního souboru .....................................................................................................82
Obnova kontrolního souboru ................................................................................................. 82
Obnovení kontrolního souboru z autobackapu.....................................................................................82
Obnovení kontrolního souboru ze zálohy ............................................................................................85
Bezpečnost ........................................................................................................................ 85
Nebezpečí ověření pomocí OS ................................................................................................ 85
Kontrola prefixu ...................................................................................................................................85
OS user .................................................................................................................................................86
DB user ................................................................................................................................................86
Kontrola ...............................................................................................................................................86
Změna hesla uživatele ............................................................................................................. 87
Viditelné heslo .....................................................................................................................................87
Skryté heslo.............................................................................................................................. 87
Dočasná změna hesla .............................................................................................................. 88
Zjistění původního hesla ......................................................................................................................88
Dočasná změna ....................................................................................................................................88
Navrácení původního ...........................................................................................................................88
Přesun dat – datová pumpa ............................................................................................. 89
Datová pumpa - Export .......................................................................................................... 89
Vytvoření objektu directory .................................................................................................................89
Přiřazení oprávnění ..............................................................................................................................89
Příprava testových dat ..........................................................................................................................90
Vlastní export .......................................................................................................................................90
Ověření.................................................................................................................................................91
Datová pumpa - Import .......................................................................................................... 91
Smazání tabulky ...................................................................................................................................91
Vlastní import ......................................................................................................................................92
Ověření.................................................................................................................................................92
Datová pumpa - parametrický soubor .................................................................................. 93
Příprava ................................................................................................................................................93
Použití ..................................................................................................................................................93
Sledování a ladění ............................................................................................................ 94
Statspack .................................................................................................................................. 94
4|Page
Vytvoření tablespace ............................................................................................................................94
Vlastní instalace ...................................................................................................................................94
Kontrola nastavení sběru informací .....................................................................................................97
Výpis dostupných snapshotů ................................................................................................................97
Vygenerování nového snapshotu. ........................................................................................................98
Vygenerování reportu. .........................................................................................................................98
Report v textové formě ......................................................................................................................100
Kolik archívní logu se generuje denně? .............................................................................. 101
Co obsahuje kontrolní soubor? ..................................................................................... 101
Zjištění počet log switch ....................................................................................................... 102
Nové vlastnosti 12c ......................................................................................................... 103
Multitenant ............................................................................................................................ 103
Vytvoření pluggable databáze pomocí DBCA ...................................................................................103
Přesun datového souboru online .......................................................................................... 110
Informace o posledním přihlášení uživatele ....................................................................... 111
Vytvoření COMMON uživatele ........................................................................................... 112
Jak získat informace o stavu CDB a PDB ........................................................................... 113
Jsem připojený do kontejnéru? ..........................................................................................................113
Jaké exitují containers? ........................................................................................................ 114
Jaké existují PDB? .............................................................................................................................114
V jakém stavu jsou PDB? ..................................................................................................................115
Vytvoření local uživatele v PDB........................................................................................... 115
SQL*Loader Express ............................................................................................................ 116
Import ................................................................................................................................................117
Kontrola .............................................................................................................................................117
Identity columns .................................................................................................................... 118
In database row archiving .................................................................................................... 120
Založení tabulky.................................................................................................................................121
Zapnutí archivování na tabulce ..........................................................................................................121
Archivováni řádku .............................................................................................................................122
Změna viditelnosti na všechny řádky .................................................................................................122
Řadek změněn na viditelný ................................................................................................................123
Invisible column .................................................................................................................... 124
Založíme tabulku ...............................................................................................................................124
Přídáme neviditelný sloupec ..............................................................................................................124
Změna na visible ................................................................................................................................125
Obnova tabulky z RMANa (12c) ......................................................................................... 126
Tabulka ..............................................................................................................................................126
Flashback nelze použít .......................................................................................................................127
Obnova z RMANa .............................................................................................................................127
Vytvoření dočasné instance ...............................................................................................................127
Export tabulky z dočasné instance .....................................................................................................127
Import tabulky do původní databáze ..................................................................................................127
5|Page
Odstranění dočasné instance ..............................................................................................................128
Kontrola .............................................................................................................................................128
Obnova tabulky do jiné pomocí RMAN ........................................................................ 128
Doporučení: .................................................................................................................... 129
Provozujete Vy nebo Vaši klienti databáze Oracle? .......................................................... 129
Dotazy: ................................................................................................................................... 129
Webináře: .............................................................................................................................. 129
Workshopy: ........................................................................................................................... 129
Jste DBA?............................................................................................................................... 129
Děkuji za registraci
Právě jste se přihlásili o odběru elektronické knihy "Oracle DBA - examples from
practice". Kniha volně navazuje na mou předešlou tištěnou verzi, ačkoli koncepce bude
trochu odlišná.
Kniha je psaná jako učební materiál, tedy budu zadávat příklady, které si samy můžete
zkusit a v dalším dílu bude řešení ode mě, které nemusí být jediné a už vůbec nemusí být
nejlepší, ale zcela funkční dle všech principů a za využití doporučených a osvědčených
postupů.
O vašem postupu můžeme diskutovat a rozebírat i dalsí alternativy. K tomu tu je mail,
telefon nebo skype. Budete-li chtím, domluvte si se mou 1 hodinu konzultace zdarma
po skype.
Zároveň mě můžete psát své vlastní nápady a já je zkusím zahrnout do některého z
dalších čísel.
Předpokládám, když jste se k registraci rozhodli, víte něco i o mě, autorovi.
Jmenuji se Tomáš Solař. S databázemi pracuji již dlouho a pracoval jsem na celé řadě
projektů, ať v ČR nebo zahraničí. Mezi mé klienty patřili a PATŘÍ společnosti různého
zaměření a různé velikosti. Více o tom je v referencích na www.Tomas-Solar.com nebo
v mém životopisu, který si můžete ze stránek stáhnout.
Důležité pro vás je fakt, že veškeré příklady budou pocházet z praxe, neboť jako Oracle
DBA pracuji pro své klienty vzdáleně, dělám konzultace a školím. Svou odbornost mám
podloženou certifikacemi OCP (mimo jiné jediný oceněný Oracle ACE u nás) a
spokojenosti klientů, tedy i vás, je pro mě hlavním motivem.
6|Page
Nebojte se napsat, zeptat nebo upozornit na cokoli. Umím naslouchat a váš podnět vezmu
v potaz.
Ted však pojďme zkoumat databáze a řešit problémy, se kterými se můžete setkat.
Ještě jendou děkuji za registraci.
Tomáš Solař
Teorie – webináře
Webináře zdarma
Každé první pondělí v měsící je k dispozici webinář zdarma. Kompletní seznam
webinářů je k dispozici na stránkách. Vždy začínají slovem FREE.
Odkaz: Webináře
- ONLINE
Architektura databáze Oracle 12c
Ebook je zaměřen na praktická cvičení, ale pro pochopení příkladů, proč se věci dělají
zrovna tak a ne jinak, je potřeba znát i základy teorie – Architekturu databáze. Já jsem ji
shrnul do 125 minutového webináře, který je k dispozici ONLINE na webu.
Odkaz: Oracle
DBA: Architektura databáze Oracle 12c
Oracle DBA: STARTUP
Co se děje při stratu databáze? Popis máte níže, ale pro ty, kteří by to rádi slyšeli, je
k dispozici ONLINE webinář přímo na webu.
Odkaz: Oracle
DBA: STARTUP
Než začneme pracovat na konkrétních příkladech a ponoříme se do tajů databáze Oracle,
je potřeba si na začátek vysvětlit základní principy a funkčnost databáze. Je to nudná
teorie, ale bez ní se neobejdeme a zároveň nám pomůže pochopit principy PROČ se děje
zrovna tohle a PROČ zrovna teď.
7|Page
Pro ilustraci zde použiji základní schéma.
Schéma ukazuje různé stavy, do kterých se databáze může dostat, ať již chtěně, tedy na
náš popud, nebo nechtěně, díky nějaké chybě.
Obr. 1. Jednotlivé stavy databáze
Předpokládejme, že máte nainstalovanou databázi.
Postup, jak nainstalovat databázi jsem zveřejnil jako PDF na webu. Jsou tam verze jak
pro Windows, tak pro Linux.
Jak je vidět ze schématu, databáze se může nacházet v některém ze čtyř základních stavů
Shutdown
Jedná se stav, kdy je databáze zastavená. V takovém stavu je možné editovat parametry v
textové verzi init souboru, také známého jako PFILE. Oproti němu existuje ještě verze
binární a té se říká SPFILE. Oba tyto soubory se nachází pod tzv.
ORACLE_HOME\database (Windows) nebo ORACLE_HOME/dbs (Linux).
V mém případě je ORACLE_HOME= j:\app\oraclewin\product\12.1.0\dbhome_1\
Vypis adresáre j:\app\oraclewin\product\12.1.0\dbhome_1\database
02.10.2013
13:45
<DIR>
.
8|Page
02.10.2013
13:45
<DIR>
..
01.10.2013
14:29
<DIR>
archive
02.10.2013
13:45
02.10.2013
12:30
22.12.2005
05:07
31 744 oradba.exe
02.10.2013
13:47
301 oradim.log
02.10.2013
12:27
7 680 PWDorcl12c.ora
02.10.2013
13:52
3 584 SPFILEORCL.ORA
2 048 hc_orcl12c.dat
75 initorcl12c.ora
Databáze se může nastarovat z jednoho nebo druhého. Rozdíl mezi oběma je v tom, že
celá řada parametrů je dynamických, tedy editovatelných za běhu databáze, ale jen za
předpokladu, že databáze je nastartovaná z SPFILE.
!!! Pokud nemáte k dispozici žádný init file, nepřepnete databázi ze stavu shutdown do
některého dalšího.
Nomount
Režim nomount je první, do kterého se databáze přepíná. Během tohoto procesu se čte
init file. Kontroluje se nastavení paměti a parameter control_files, který odkazuje na
uložení kontrolních souborů.
j:\app\oraclewin\product\12.1.0\dbhome_1\database>sqlplus / as
sysdba
SQL*Plus: Release 12.1.0.1.0 Production on Fri Oct 4 12:58:17
2013
Copyright (c) 1982, 2013, Oracle.
All rights reserved.
Connected to an idle instance.
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 2572144640 bytes
Fixed Size
Variable Size
Database Buffers
Redo Buffers
2405952 bytes
671091136 bytes
1879048192 bytes
19599360 bytes
9|Page
Je-li špatně nastavená pamět, databáze se nepřepne do nomount režimu a budete muset
dělat změny v init souboru. Pakliže je nastavení v pořádku, pamět se alokuje a spustí se
background procesy, které zajištují vlastní běh databázového enginu.
Chcete-li měnit počet nebo umístění kontrolních souborů, případně obnovovat kontrolní
soubor, tak se to dělá právě v nomount režimu.
Mount
Do režimu mount se databáze přepne, pokud jsou k dispozici všechny kontrolní soubory.
Pokud databáze běží v nomount režimu, pak se do mount režimu přepnete pomocí
příkazu ALTER. Jinak se musí použít příkaz startup mount.
SQL> alter database mount;
Database altered.
Nebo ze zastavené databáze.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 2572144640 bytes
Fixed Size
Variable Size
Database Buffers
Redo Buffers
2405952 bytes
671091136 bytes
1879048192 bytes
19599360 bytes
Database mounted.
V kontrolním souboru jsou mimo jiné uložené informace o fyzickém umístění všech redo
log souborů a datových souborů. V tomto režimu tedy můžete libovolně manipulovat se
všemi soubory a to pomocí příkazů operačního systému, ale lepší je to přes utilitu
RMAN (recovery manager).
V režimu mount se provádí obnova systémových datových souborů a v případě, že
databáze neběží v archivelog módu, tak i celé databáze. Je-li databáze v noarchivelog
módu, tak v tomto režimu provádíme i zálohu databáze. Je-li databáze v ARCHIVELOG
módu, tak část úkonu pro zálohování a obnovu můžeme dělat i za plného běhu, tedy v
open stavu.
10 | P a g e
Chybí-li některý ze systémových datových souborů nebo se nachází v nekonzistentním
stavu, musíme provést jejich obnovu (restore, recover) a až poté můžeme databázi
přepnout do open módu.
Open
Poslední stav do kterého se databáze přepne.
SQL> alter database open;
Database altered.
Nebo přímo ze zastavené databáze.
SQL> startup
ORACLE instance started.
Total System Global Area 2572144640 bytes
Fixed Size
Variable Size
Database Buffers
2405952 bytes
671091136 bytes
1879048192 bytes
Redo Buffers
19599360 bytes
Database mounted.
Database opened.
Je to konečná fáze startu databáze a pokud neudáte žádný parametr při startu, tak se do
něj databáze přepne automaticky. Je-li databáze ve stavu open, je přístupná uživatelům, ti
se mohou připojit a pracovat s ní.
Tohle je velmi stručné vysvětlení startu databáze. Zastavení se děje v opačném gardu.
Konkrétně z Open --> Mount --> Nomount --> shutdown
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
Pokud budete chtít vědet více nebo podrobněji, neváhejte mě kontaktovat.
11 | P a g e
V některém z dalších článků se podíváme na to, co se děje v databázi, když provádím
změnu údajů, UPDATE.
Administrace
Kontrola serveru a zjištování důležitých informací
První věc, co musíte udělat, je zorientovat se v prostředí ve kterém budete pracovat. U mě
jako konzultanta to je nebytný krok, protože co klient, to jiné nastavení. Přesto máte vždy
k dispozici utility operačního systému nebo dotazy v databázi.
Operační systém
Jestli se jedná o windows nebo linux je jasné hned na začátku, ale v případě linuxu nás
zajimají další údaje.
Verze OS - distribuce, architektura
[root@oel5864b ~]# cat /proc/version
Linux version 2.6.32-300.10.1.el5uek ([email protected]) (gcc version 4.1.2 20080704 (Red Hat
4.1.2-50)) #1 SMP Wed Feb 22 17:37:40 EST 2012
[root@oel5864b ~]# lsb_release -a
LSB Version:
:core-4.0-amd64:core-4.0-ia32:core-4.0noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: EnterpriseEnterpriseServer
Description:
Enterprise Linux Enterprise Linux Server release
5.10 (Carthage)
Release:
5.10
Codename:
Carthage
[root@oel5864b ~]# uname -mrs
Linux 2.6.32-300.10.1.el5uek x86_64
[root@oel5864b ~]# cat /proc/sys/kernel/{ostype,osrelease,version}
Linux
2.6.32-300.10.1.el5uek
#1 SMP Wed Feb 22 17:37:40 EST 2012
12 | P a g e
Hostname
[root@oel5864b ~]# sysctl kernel.hostname
kernel.hostname = oel5864b.localdomain
[root@oel5864b ~]# hostname
oel5864b.localdomain
[root@oel5864b ~]# uname -n
oel5864b.localdomain
Je možné se podívat i do /etc/hosts
[root@oel5864b ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1
localhost.localdomain localhost
::1
localhost6.localdomain6 localhost6
10.0.0.30
oel5864b.localdomain
eol5864b
Nebo /etc/sysconfig/network
[root@oel5864b ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=oel5864b.localdomain
Windows - příkaz hostname funguje i na OS Win z příkazového řádku.
IP adresa
[root@oel5864b ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc
pfifo_fast qlen 1000
link/ether 08:00:27:a4:41:f9 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.30/24 brd 10.0.0.255 scope global eth0
inet6 fe80::a00:27ff:fea4:41f9/64 scope link
valid_lft forever preferred_lft forever
Nebo
13 | P a g e
[root@oel5864b ~]# ifconfig
eth0
Link encap:Ethernet
HWaddr 08:00:27:A4:41:F9
inet addr:10.0.0.30
Mask:255.255.255.0
Bcast:10.0.0.255
inet6 addr: fe80::a00:27ff:fea4:41f9/64 Scope:Link
UP BROADCAST RUNNING MULTICAST
MTU:1500
Metric:1
RX packets:409626 errors:0 dropped:0 overruns:0 frame:0
TX packets:209155 errors:0 dropped:0 overruns:0
carrier:0
collisions:0 txqueuelen:1000
RX bytes:612712065 (584.3 MiB)
TX bytes:13997266 (13.3
MiB)
Windows: Pro zjištění nastavení síťe se použije příkaz ipconfig.
Databáze
Běžící procesy
Pro kontrolu běžících procesů použijeme příkaz ps.
[root@oel5864b ~]# ps -ef | grep pmon
oracle
3687
1
root
7499
7062
0 11:16 ?
00:00:00 ora_pmon_orcl12c
0 12:12 pts/2
00:00:00 grep pmon
Nebo všechny oracle procesy, za předpokladu, že databáze běží pod uživatelem oracle.
[root@oel5864b ~]# ps -ef | grep oracle
oracle
3687
1
0 11:16 ?
00:00:00 ora_pmon_orcl12c
oracle
3689
1
0 11:16 ?
00:00:01 ora_psp0_orcl12c
oracle
3691
1
3 11:16 ?
00:01:55 ora_vktm_orcl12c
oracle
3695
1
0 11:16 ?
00:00:00 ora_gen0_orcl12c
oracle
3697
1
0 11:16 ?
00:00:00 ora_mman_orcl12c
oracle
3701
1
0 11:16 ?
00:00:00 ora_diag_orcl12c
oracle
3703
1
0 11:16 ?
00:00:00 ora_dbrm_orcl12c
oracle
3705
1
0 11:16 ?
00:00:04 ora_dia0_orcl12c
oracle
3707
1
0 11:16 ?
00:00:00 ora_dbw0_orcl12c
oracle
3709
1
0 11:16 ?
00:00:00 ora_lgwr_orcl12c
oracle
3711
1
0 11:16 ?
00:00:01 ora_ckpt_orcl12c
14 | P a g e
oracle
3713
1
0 11:16 ?
00:00:00 ora_smon_orcl12c
oracle
3715
1
0 11:16 ?
00:00:00 ora_reco_orcl12c
oracle
3717
1
0 11:16 ?
00:00:00 ora_lreg_orcl12c
oracle
3719
1
0 11:16 ?
00:00:10 ora_mmon_orcl12c
oracle
3721
1
0 11:16 ?
00:00:05 ora_mmnl_orcl12c
oracle
3723
1
0 11:16 ?
00:00:00 ora_d000_orcl12c
oracle
3725
1
0 11:16 ?
00:00:00 ora_s000_orcl12c
oracle
3738
1
0 11:17 ?
00:00:00 ora_tmon_orcl12c
oracle
3740
1
0 11:17 ?
00:00:00 ora_tt00_orcl12c
oracle
3742
1
0 11:17 ?
00:00:00 ora_smco_orcl12c
oracle
3746
1
0 11:17 ?
00:00:00 ora_aqpc_orcl12c
oracle
3750
1
0 11:17 ?
00:00:17 ora_p000_orcl12c
oracle
3752
1
0 11:17 ?
00:00:23 ora_p001_orcl12c
oracle
3754
1
0 11:17 ?
00:00:02 ora_p002_orcl12c
oracle
3756
1
0 11:17 ?
00:00:06 ora_p003_orcl12c
oracle
3758
1
0 11:17 ?
00:00:00 ora_qm02_orcl12c
oracle
3762
1
0 11:17 ?
00:00:00 ora_q002_orcl12c
oracle
3764
1
0 11:17 ?
00:00:00 ora_q003_orcl12c
oracle
3798
1
0 11:18 ?
00:00:08 ora_cjq0_orcl12c
oracle
7122
1
0 11:57 ?
00:00:00 ora_w000_orcl12c
oracle
7330
1
0 12:00 ?
00:00:00 ora_w001_orcl12c
oracle
7380
1
0 12:05 ?
00:00:00 ora_w002_orcl12c
oracle
7384
1
0 12:05 ?
00:00:00 ora_w003_orcl12c
oracle
7387
1
0 12:05 ?
00:00:00 ora_w004_orcl12c
root
7495
7062
0 12:11 pts/2
00:00:00 grep oracle
Instalované databáze
[root@oel5864b ~]# cat /etc/oratab
..
# Entries are of the form:
#
$ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the system identifier and home
15 | P a g e
# directory of the database respectively.
indicates
The third field
# to the dbstart utility that the database should , "Y", or
should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
orcl12c:/u01/app/oracle/product/12.1.0/dbhome_1:N
Windows
Instalové služby zkontrolujete přímo v záložce služby.
Nastavení uživatele Oracle
Skupiny
[root@oel5864b ~]# cat /etc/group
16 | P a g e
..
oinstall:x:54321:
dba:x:54322:oracle
Pod Oracle
[oracle@oel5864b ~]$ id
uid=54321(oracle) gid=54321(oinstall)
groups=54321(oinstall),54322(dba)
Windows ora_dba skupina
Kontrola listeneru/tnsnames.ora
listener.ora
[oracle@oel5864b ~]$ which lsnrctl
/u01/app/oracle/product/12.1.0/dbhome_1/bin/lsnrctl
Databáze je registrovana v listeneru.
[oracle@oel5864b admin]$ lsnrctl service
LSNRCTL for Linux: Version 12.1.0.1.0 - Production on 16-OCT-2013
14:34:41
Copyright (c) 1991, 2013, Oracle.
All rights reserved.
Connecting to
(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
Services Summary...
Service "orcl12c.localdomain" has 1 instance(s).
Instance "orcl12c", status READY, has 1 handler(s) for this
service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
LOCAL SERVER
Service "orcl12cXDB.localdomain" has 1 instance(s).
Instance "orcl12c", status READY, has 1 handler(s) for this
service...
17 | P a g e
Handler(s):
"D000" established:0 refused:0 current:0 max:1022
state:ready
DISPATCHER <machine: oel5864b.localdomain, pid: 3827>
(ADDRESS=(PROTOCOL=tcp)(HOST=oel5864b.localdomain)(PORT=42424))
Service "pdborcl.localdomain" has 1 instance(s).
Instance "orcl12c", status READY, has 1 handler(s) for this
service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
LOCAL SERVER
The command completed successfully
tnsname.ora
[oracle@oel5864b admin]$ tnsping orcl12c
TNS Ping Utility for Linux: Version 12.1.0.1.0 - Production on
16-OCT-2013 14:32:32
Copyright (c) 1997, 2013, Oracle.
All rights reserved.
Used parameter files:
/u01/app/oracle/product/12.1.0/dbhome_1/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL =
TCP)(HOST = oel5864b.localdomain)(PORT = 1521)) (CONNECT_DATA =
(SERVER = DEDICATED) (SERVICE_NAME = orcl12c.localdomain)))
OK (0 msec)
Databáze má vytvořený alias v tnsnames.ora
Připojení do databáze funguje.
[oracle@oel5864b admin]$ sqlplus system@orcl12c
18 | P a g e
SQL*Plus: Release 12.1.0.1.0 Production on Wed Oct 16 14:37:41
2013
Copyright (c) 1982, 2013, Oracle.
All rights reserved.
Enter password:
Last Successful login time: Wed Oct 16 2013 14:37:33 +02:00
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit
Production
With the Partitioning, OLAP, Advanced Analytics and Real
Application Testing options
Nastavení prostředí
oraenv
[oracle@oel5864b ~]$ . oraenv
ORACLE_SID = [oracle] ? orcl12c
The Oracle base has been set to /u01/app/oracle
nebo druhý zápis, který se hodi do scriptů
[oracle@oel5864b ~]$ export ORACLE_SID=orcl12c
[oracle@oel5864b ~]$ export ORAENV_ASK=NO
[oracle@oel5864b ~]$ . oraenv
The Oracle base remains unchanged with value /u01/app/oracle
Nastavení profilu uživatele.
Je dobrým zvykem nastavit si prostředí pro uživatele Oracle hned po jeho přihlášení.
Běží-li na serveru pouze jedna databáze, stačí spustit rovnou SQL*Plus, aniž byste museli
nastavovat proměnné prostředí. V Linuxu, tedy v distribuci založené na Red Hat linuxu,
vám k tomu poslouží skript .bash_profile. Tento soubor je uložený v domovském adresáři
uživatele. Je spouštěn hned po jeho přihlášení, proto se zde nastavují veškeré cesty,
proměnné, limity atd. Z výpisu souboru vidíte, co vše je potřeba nastavit. Proměnné
ORACLE_SID a ORACLE_HOME jsou nutné, ale je doporučeno nastavit i
ORACLE_BASE, kde ORACLE_SID udává jméno instance. ORACLE_HOME
19 | P a g e
nastavuje domovský adresář, kde je nainstalovaný software Oracle, a ORACLE_BASE
udává základní (kořenový) adresář pro instalaci dalších produktů.
[oracle@oel64 ~]$ pwd
/home/oracle
[oracle@oel64 ~]$ ls -la
total 40
drwx------. 4 oracle oinstall 4096 Nov
7 10:18 .
drwxr-xr-x. 3 root
5 12:59 ..
root
-rw-------. 1 oracle oinstall
4096 Nov
123 Nov
6 13:54 .bash_history
-rw-r--r--. 1 oracle oinstall
18 Dec 20
2012 .bash_logout
-rw-r--r--. 1 oracle oinstall
176 Dec 20
2012 .bash_profile
-rw-r--r--. 1 oracle oinstall
124 Dec 20
2012 .bashrc
drwxr-xr-x. 2 oracle oinstall 4096 Nov 20
2010 .gnome2
-rw-r--r--. 1 oracle oinstall
121 Jul
8 12:59 .kshrc
drwxr-xr-x. 4 oracle oinstall 4096 Nov
4 19:20 .mozilla
-rw-------. 1 oracle oinstall
7 10:18 .Xauthority
63 Nov
Upravte si tedy soubor .bash_profile podle vaší instalace.
[oracle@oel64 ~]$ cat .bash_profile
# Nastaveni Oracle
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=oel64.localdomain
export ORACLE_UNQNAME=orcl12c
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1
export ORACLE_SID=orcl12c
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
20 | P a g e
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
Po přihlášení na server máte ihned nastaveno prostředí.
login as: oracle
Access denied
[email protected]'s password:
Last login: Thu Nov
7 10:18:54 2013 from akcent.ok.cz
[oracle@oel64 ~]$ env | grep ORA
ORACLE_UNQNAME=orcl12c
ORACLE_SID=orcl12c
ORACLE_BASE=/u01/app/oracle
ORACLE_HOSTNAME=oel64.localdomain
ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
Založení databáze ručně (bez DBCA)
Založení databáze ručně je sled 14-ti kroků, které jsou popsány v dokumentaci zde
Vytvoření init souboru
Init soubor, jak jsme si ukazovali dříve, je zákládní konfigurační soubor databáze, který
může mít na 300 různých parametrů. Chceme-li vytvořit init sobor ručně, musíme zde
zadat aspoň základní parametry.
21 | P a g e
Jaké základní parametry je potřeba zadat se můžete podívat přímo do vašeho
$ORACLE_HOME/dbs, kde je sample init soubor.
[oracle@oel64 dbs]$ pwd
/u01/app/oracle/product/12.1.0/dbhome_1/dbs
[oracle@oel64 dbs]$ ls -ltr init.ora
-rw-r--r--. 1 oracle oinstall 2992 Feb
3
2012 init.ora
Nebo do dokumentace zde.
Můj upravený vypadá třeba takhle.
[oracle@oel64 dbs]$ pwd
/u01/app/oracle/product/12.1.0/dbhome_1/dbs
[oracle@oel64 dbs]$ cat initorcl12cm.ora
db_name='orcl12cm'
memory_target=1G
processes = 150
db_block_size=8192
db_domain=''
db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
control_files='/oradata/orcl12cm/control01.ctl','/u01/app/oracle/
fast_recovery_area/orcl12cm/control02.ctl'
compatible ='12.0.0'
Nastavte si prostředí.
[oracle@oel64 dbs]$ export ORACLE_UNQNAME=orcl12cm
[oracle@oel64 dbs]$ export ORACLE_SID=orcl12cm
[oracle@oel64 dbs]$ env | grep ORA
ORACLE_UNQNAME=orcl12cm
ORACLE_SID=orcl12cm
22 | P a g e
ORACLE_BASE=/u01/app/oracle
ORACLE_HOSTNAME=oel64.localdomain
ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
Nyní můžete nastartovat instanci.
[oracle@oel64 dbs]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.1.0 Production on Thu Nov 7 11:22:37
2013
Copyright (c) 1982, 2013, Oracle.
All rights reserved.
Connected to an idle instance.
SQL> CREATE SPFILE FROM
PFILE='/u01/app/oracle/product/12.1.0/dbhome_1/dbs/initorcl12cm.o
ra';
File created.
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 1068937216 bytes
Fixed Size
2296576 bytes
Variable Size
671089920 bytes
Database Buffers
390070272 bytes
Redo Buffers
5480448 bytes
Před vlastním založení databáze je potřeba ještě vztvořit adresáře na OS.
[oracle@oel64 orcl12c]$ mkdir /oradata/orcl12cm/
[oracle@oel64 orcl12c]$ mkdir
/u01/app/oracle/fast_recovery_area/orcl12cm/
Založení databáze CREATE DATABASE
SQL> CREATE DATABASE orcl12cm
23 | P a g e
2
USER SYS IDENTIFIED BY oracle_4U
3
USER SYSTEM IDENTIFIED BY oracle_4U
4
LOGFILE GROUP 1
('/oradata/orcl12cm/redo01a.log','/oradata/orcl12cm/redo01b.log')
5
SIZE 100M BLOCKSIZE 512,
6
GROUP 2
('/oradata/orcl12cm/redo02a.log','/oradata/orcl12cm/redo02b.log')
7
SIZE 100M BLOCKSIZE 512,
8
GROUP 3
('/oradata/orcl12cm/redo03a.log','/oradata/orcl12cm/redo03b.log')
9
SIZE 100M BLOCKSIZE 512
10
MAXLOGHISTORY 1
11
MAXLOGFILES 16
12
MAXLOGMEMBERS 3
13
MAXDATAFILES 1024
14
CHARACTER SET AL32UTF8
15
NATIONAL CHARACTER SET AL16UTF16
16
EXTENT MANAGEMENT LOCAL
17
DATAFILE '/oradata/orcl12cm/system01.dbf'
SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
18
19
SYSAUX DATAFILE '/oradata/orcl12cm/sysaux01.dbf'
20
SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE
UNLIMITED
21
DEFAULT TABLESPACE deftbs
22
DATAFILE '/oradata/orcl12cm/deftbs01.dbf'
23
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
24
25
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/oradata/orcl12cm/temp01.dbf'
26
SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE
UNLIMITED
27
28
UNDO TABLESPACE undotbs1
DATAFILE '/oradata/orcl12cm/undotbs01.dbf'
29
SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE
UNLIMITED
30
USER_DATA TABLESPACE usertbs
24 | P a g e
31
DATAFILE '/oradata/orcl12cm/usertbs01.dbf'
32
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
Database created.
Databáze již běží, ale je potřeba ješte vytvoři data dictionary views.
SQL> @?/rdbms/admin/catalog.sql
SQL> @?/rdbms/admin/catproc.sql
V této chvili je databáze hotová, záleží jen na tom, zda-li chcete doinstalovat nejaké
dodatečné komponenty nebo nakonfigurovat EM Express. Doporučuji udělat backup a
nastavit databázi tak, aby se automatický spouštěla po restartu serveru a případně dodělat
password file, abyste s emohli vzdáleně připojovat jako SYSDBA.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1068937216 bytes
Fixed Size
2296576 bytes
Variable Size
671089920 bytes
Database Buffers
390070272 bytes
Redo Buffers
5480448 bytes
Database mounted.
Database opened.
SQL> select name from v$database;
NAME
--------ORCL12CM
1 row selected.
25 | P a g e
Nastavení EM express
Databáze 12c přináší nový koncept i v ovládání. Nadále již není k dispozici EM console,
ale nový EM Express. I jeho konfigurace se již neděla pře utilitu emctl, ale přímo
v databázi.
Kontrola portu.
SQL> select dbms_xdb_config.gethttpsport() from dual;
DBMS_XDB_CONFIG.GETHTTPSPORT()
-----------------------------1 row selected.
SQL> select dbms_xdb_config.gethttpport() from dual;
DBMS_XDB_CONFIG.GETHTTPSPORT()
-----------------------------1 row selected.
Nastavení portu.
SQL> exec DBMS_XDB_CONFIG.SETHTTPPORT(5500);
PL/SQL procedure successfully completed.
SQL> exec DBMS_XDB_CONFIG.SETHTTPSPORT(5501);
PL/SQL procedure successfully completed.
Po nastavení se již porty zobrazují správně.
Jestli běží listener na standartním portu 1521, je možné se do EM již přihlásit.
SQL> select dbms_xdb_config.gethttpsport() from dual;
DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------
26 | P a g e
5501
1 row selected.
SQL> select dbms_xdb_config.gethttpport() from dual;
DBMS_XDB_CONFIG.GETHTTPPORT()
----------------------------5500
1 row selected.
Úvodní obrazovka EM Express
Registrace DB do listeneru
Stavající nastavení listeru je dynamické, to znamená, že listener si databázi zaregistruje
až v okamžiku, že je nastartovana. V opačném případě o ní nebude vědět. To může činit
problémy při přístupu do zastavené databáze přes connect string (@alias).
[oracle@oel64 admin]$ cat listener.ora
# listener.ora Network Configuration File:
/u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.or
a
# Generated by Oracle configuration tools.
27 | P a g e
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = oel64.localdomain)(PORT
= 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(service_name = orcl12c.localdomain)
(sid_name = orcl12c)
)
)
A zároveň jde vidět, že listener ví, jak o SID, tak o service name.
[oracle@oel64 admin]$ lsnrctl status
LSNRCTL for Linux: Version 12.1.0.1.0 - Production on 07-NOV-2013
14:18:53
Copyright (c) 1991, 2013, Oracle.
All rights reserved.
Connecting to
(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
-----------------------Alias
LISTENER
Version
Production
TNSLSNR for Linux: Version 12.1.0.1.0 -
Start Date
07-NOV-2013 13:51:00
Uptime
0 days 0 hr. 27 min. 52 sec
28 | P a g e
Trace Level
off
Security
ON: Local OS Authentication
SNMP
OFF
Listener Parameter File
/u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.or
a
Listener Log File
/u01/app/oracle/diag/tnslsnr/oel64/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel64.localdomain)(PORT
=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=oel64.localdomain)(POR
T=5500))(Security=(my_wallet_directory=/u01/app/oracle/admin/orcl
12c/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "orcl12c" has 1 instance(s).
Instance "orcl12c", status UNKNOWN, has 1 handler(s) for this
service...
Service "orcl12c.localdomain" has 1 instance(s).
Instance "orcl12c", status READY, has 1 handler(s) for this
service...
Service "orcl12cXDB.localdomain" has 1 instance(s).
Instance "orcl12c", status READY, has 1 handler(s) for this
service...
The command completed successfully
Soubor tnsnames.ora
Soubor tnsnames.ora je klientský konfigurační soubor, do kterého si zapisujete aliasy na
jednotlivé databáze. Tento soubor má smysl v tom případě, že se na databázi odkazujete
přes connect string.
V případě, že uživatele oveřujete pomocí OS, jako v tomto případě.
[oracle@oel64 dbs]$ sqlplus / as sysdba
29 | P a g e
SQL*Plus: Release 12.1.0.1.0 Production on Thu Nov 7 13:56:17
2013
Copyright (c) 1982, 2013, Oracle.
All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit
Production
With the Partitioning, OLAP, Advanced Analytics and Real
Application Testing options
SQL>
Tak tnsnames.ora nepotřebujete. Zde stačí, že přihlášený uživatel je členem skupiny DBA.
[oracle@oel64 dbs]$ id
uid=54321(oracle) gid=54321(oinstall)
groups=54321(oinstall),54322(dba)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Jakmile se však budete chtít přihlásit přes listener, je potřeba, abyste měli daný alias
vytvořený, v opačném případě se budete muset hlasit přes tzv. Easy connect string.
V takovém případě musíte znát hostname, service name (nebo SID) a port listeneru.
[oracle@oel64 dbs]$ hostname
oel64.localdomain
SQL> show parameter name
NAME
TYPE
VALUE
------------------------------------ ----------- ----------------------------db_name
string
orcl12c
db_unique_name
string
orcl12c
global_names
boolean
FALSE
instance_name
string
orcl12c
service_names
orcl12c.localdomain
string
30 | P a g e
Jedno z možných připojení je.
[oracle@oel64 admin]$ sqlplus
[email protected]:1521/orcl12c
A zápis do tnsname.ora by měl vypadat nějak takhle.
[oracle@oel64 admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File:
/u01/app/oracle/product/12.1.0/dbhome_1/network/admin/tnsnames.or
a
# Generated by Oracle configuration tools.
ORCL12C =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oel64.localdomain)(PORT =
1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl12c.localdomain)
)
)
Oveřit daný záznam můžete pře utilitu tnsping.
[oracle@oel64 admin]$ tnsping ORCL12C
TNS Ping Utility for Linux: Version 12.1.0.1.0 - Production on
07-NOV-2013 14:22:20
Copyright (c) 1997, 2013, Oracle.
All rights reserved.
Used parameter files:
/u01/app/oracle/product/12.1.0/dbhome_1/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
31 | P a g e
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL =
TCP)(HOST = oel64.localdomain)(PORT = 1521)) (CONNECT_DATA =
(SERVER = DEDICATED) (SERVICE_NAME = orcl12c.localdomain)))
OK (0 msec)
Připojení do sqlplus přes alias také funguje.
[oracle@oel64 admin]$ sqlplus system@orcl12c
SQL*Plus: Release 12.1.0.1.0 Production on Thu Nov 7 14:22:33
2013
Copyright (c) 1982, 2013, Oracle.
All rights reserved.
Enter password:
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit
Production
With the Partitioning, OLAP, Advanced Analytics and Real
Application Testing options
SQL>
Vytvoření password file
K čemu vlastně je password file? Tento soubor slouží k oveření uživatelu s oprávněním
SYSDBA, kteří se chtějí připojit vzdáleně, tedy přes alias. Jedná se o zápis s @orcl12c.
Normální uživatel se přihlásí.
[oracle@oel64 admin]$ sqlplus system@orcl12c
SQL*Plus: Release 12.1.0.1.0 Production on Thu Nov 7 14:31:42
2013
Copyright (c) 1982, 2013, Oracle.
All rights reserved.
Enter password:
32 | P a g e
Last Successful login time: Thu Nov 07 2013 14:28:45 +01:00
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit
Production
With the Partitioning, OLAP, Advanced Analytics and Real
Application Testing options
SQL>
Ale uživateli SYS, který má oprávnění SYSDBA to není povoleno.
[oracle@oel64 dbs]$ sqlplus sys@orcl12c as sysdba
SQL*Plus: Release 12.1.0.1.0 Production on Thu Nov 7 14:35:41
2013
Copyright (c) 1982, 2013, Oracle.
All rights reserved.
Enter password:
ERROR:
ORA-01017: invalid username/password; logon denied
Na vině je chybějící password file v adresáři $ORACLE_HOME/dbs
/u01/app/oracle/product/12.1.0/dbhome_1/dbs
[oracle@oel64 dbs]$ ls -ltr
total 40
-rw-r--r--. 1 oracle oinstall 2992 Feb
3
2012 init.ora
-rw-r-----. 1 oracle oinstall
24 Nov
5 14:09 lkORCL12C
-rw-r--r--. 1 oracle oinstall
466 Nov
-rw-r-----. 1 oracle oinstall
24 Nov
7 11:19 initorcl12cm.ora
7 11:36 lkORCL12CM
-rw-rw----. 1 oracle oinstall 1544 Nov
7 12:11 hc_orcl12cm.dat
-rw-r-----. 1 oracle oinstall 2560 Nov
spfileorcl12cm.ora
7 12:13
-rw-rw----. 1 oracle oinstall 1544 Nov
7 13:52 hc_orcl12c.dat
-rw-r-----. 1 oracle oinstall 3584 Nov
7 14:03 spfileorcl12c.ora
Soubor se vytvoří utilitou orapw.
33 | P a g e
orapwd file=orapw<SID> password=<sys pwd>
[oracle@oel64 dbs]$ cd $ORACLE_HOME/dbs
[oracle@oel64 dbs]$ orapwd file=orapworcl12c password=oracle_4U
[oracle@oel64 dbs]$ ls -ltr orapw*
-rw-r-----. 1 oracle oinstall 7680 Nov
5 14:14 orapworcl12c.bkp
-rw-r-----. 1 oracle oinstall 7680 Nov
7 14:38 orapworcl12c
[oracle@oel64 dbs]$ sqlplus sys@orcl12c as sysdba
SQL*Plus: Release 12.1.0.1.0 Production on Thu Nov 7 14:39:20
2013
Copyright (c) 1982, 2013, Oracle.
All rights reserved.
Enter password:
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit
Production
With the Partitioning, OLAP, Advanced Analytics and Real
Application Testing options
SQL>
Nastavení promptu v OS
Jako DBA nebo konzultanti pracujete na ruzných serverech a dost často máte otevřené
více jak jedno okno v putty na ruzné servery. Abyste se v tom neztratili, tak je dobre
upravit si prompt OS, ať vidíte rovnou, kam jste připojeni.
Dané nastavení se obvykle dělá přes soubor .bashrc, který je v domovském adresáři
každého uživatele.
[oracle@oel64 ~]$ ls -la
total 48
drwx------. 4 oracle oinstall 4096 Nov
7 14:26 .
drwxr-xr-x. 3 root
5 12:59 ..
root
-rw-------. 1 oracle oinstall
4096 Nov
903 Nov
7 12:29 .bash_history
34 | P a g e
-rw-r--r--. 1 oracle oinstall
18 Dec 20
2012 .bash_logout
-rw-r--r--. 1 oracle oinstall
598 Nov
-rw-r--r--. 1 oracle oinstall
124 Dec 20
2012 .bashrc
drwxr-xr-x. 2 oracle oinstall 4096 Nov 20
2010 .gnome2
-rw-r--r--. 1 oracle oinstall
121 Jul
7 10:47 .bash_profile
8 12:59 .kshrc
drwxr-xr-x. 4 oracle oinstall 4096 Nov
4 19:20 .mozilla
-rw-------. 1 oracle oinstall 5974 Nov
7 14:26 .viminfo
-rw-------. 1 oracle oinstall
7 13:47 .Xauthority
189 Nov
Stačí do něj pak přidat tento řetězec.
[oracle@oel64 ~]$ cat .bashrc
#Nastaveni promptu
PS1='[\h:\u:${ORACLE_SID}]$ '
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
Po přihlášení pak vidíte takový prompt.
login as: oracle
oracle@...'s password:
Last login: Thu Nov
7 13:47:45 2013 from tomas-solar.cz
[oel64:oracle:orcl12c]$
Variací je celá řada, záleží jen na vás, jak si výpis upravíte. V mém případě je první výpis
hostname, nasledně uživatel a nakonec SID databáze. Více třeba zde.
Nastavení promptu v Sqlplus.
Znáte to, přihlásíte se do nějaké databáze, ale nejste si jistí do které. Proto, než spustíte
nějaký příkay, je potřeba oveřit, že jste na správné instanci. Dá se to poměrně jednoduše
přes SQL dotaz, ale jsou to přece jen písmena navíc.
35 | P a g e
SQL> select name from v$database;
NAME
--------ORCL12C
SQL> show user
USER is "SYS"
Další možností je, nastavit si SQL promt tak, aby vám nestále ukazoval, kde jste
přihlášení. Pod jakým uživatelem a do jaké databáze.
SQL> SET SQLPROMPT '&_USER.@&_CONNECT_IDENTIFIER.>'
SYS@orcl12c>
To je pěkné, ale jakmile z Sqlplus vyskočíte, musíte si promt nastavit znovu. Existuje
více možností jak změnu nastavit permanentně a to buď přes soubor glogin z adresáře
$ORACLE_HOME/sqlplus/admin nebo pomocí souboru login.sql z vašeho domovského
adresáře.
Při spuštěni sqlplus se nejdříve čte soubor glogin.sql, pak se načítá login.sql z
domovského adresáře, a není-li zde, pak z aktuálního adresáře.
[oel64:oracle:orcl12c]$ pwd
/home/oracle
[oel64:oracle:orcl12c]$ cat login.sql
SET SQLPROMPT '&_USER.@&_CONNECT_IDENTIFIER.>'
Změny se projeví buď po opětovném přihlášení nebo načtení prostředí, jako v mém
případě.
[oel64:oracle:orcl12c]$ . ./.bashrc
[oel64:oracle:orcl12c]$ sqlplus system/oracle_4U@orcl12c
SQL*Plus: Release 12.1.0.1.0 Production on Thu Nov 7 17:31:23
2013
Copyright (c) 1982, 2013, Oracle.
All rights reserved.
Last Successful login time: Thu Nov 07 2013 14:31:45 +01:00
36 | P a g e
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit
Production
With the Partitioning, OLAP, Advanced Analytics and Real
Application Testing options
SYSTEM@orcl12c>
Vytvoření aliasu pro rychlé spuštění Sqlplus
Alias se hodí v případě často používaných příkazů. V našem případě, když se hlasím jako
SYS, musím psát poměrně dlouhý text.
[oel64:oracle:orcl12c]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.1.0 Production on Thu Nov 7 17:45:09
2013
Copyright (c) 1982, 2013, Oracle.
All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit
Production
With the Partitioning, OLAP, Advanced Analytics and Real
Application Testing options
SYS@orcl12c>
Tak proč si nevytvořit nějakou užitečnou zkratku, jako například sqlp.
Aktuální nastavení aliasu je následovné.
[oel64:oracle:orcl12c]$ alias
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias vi='vim'
37 | P a g e
alias which='alias | /usr/bin/which --tty-only --read-alias -show-dot --show-tilde'
Provedu nastavení a otestuji.
[oel64:oracle:orcl12c]$ alias sqlp='sqlplus "/ as sysdba"'
[oel64:oracle:orcl12c]$ sqlp
SQL*Plus: Release 12.1.0.1.0 Production on Thu Nov 7 17:48:35
2013
Copyright (c) 1982, 2013, Oracle.
All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit
Production
With the Partitioning, OLAP, Advanced Analytics and Real
Application Testing options
SYS@orcl12c>
Velikost databáze
Jak jednoduše zjistit velikost databáze? Je potřeba sečíst dataové a temp soubory.
SQL> select (select sum(bytes)/1024/1024 from dba_data_files)+
(select sum(bytes)/1024/1024 from dba_temp_files) "Size in MB"
from dual;
Size in MB
---------213585.625
Jak zjistit SCN číslo?
SQL> select name, open_mode, created, current_scn from v$database;
NAME
OPEN_MODE
CREATED
CURRENT_SCN
--------- -------------------- --------- -----------
38 | P a g e
ORCL12C
READ WRITE
12-NOV-13
2430363
Vytvoření tablespace (TOOLS)
Než začnete tablespace vytvářet, je dobré, podívat se jaké tablespace máte již založené a
kde. K tomu vám může pomoci EM a nebo se to dá zjistit přes sqlplus.
Úvoní obrazovka EM
Vytvoření tablespace z sqlplus
Umístění datových souborů.
SYS@orcl12c>col tablespace_name format a16;
col file_name format a36;
select tablespace_name, file_name, bytes from dba_data_files;
TABLESPACE_NAME
FILE_NAME
BYTES
---------------- ------------------------------------ ---------USERS
/oradata/orcl12c/users01.dbf
5242880
UNDOTBS1
/oradata/orcl12c/undotbs01.dbf
78643200
SYSAUX
/oradata/orcl12c/sysaux01.dbf
744488960
SYSTEM
/oradata/orcl12c/system01.dbf
817889280
EXAMPLE
/oradata/orcl12c/example01.dbf
338821120
Když je potřeba zjistit přesné informace o konkretním tablespacu.
SYS@orcl12c>desc dba_tablespaces
Name
Null?
Type
----------------------------------------- -------- --------------------------TABLESPACE_NAME
NOT NULL VARCHAR2(30)
BLOCK_SIZE
NOT NULL NUMBER
39 | P a g e
INITIAL_EXTENT
NUMBER
NEXT_EXTENT
NUMBER
MIN_EXTENTS
NOT NULL NUMBER
MAX_EXTENTS
NUMBER
MAX_SIZE
NUMBER
PCT_INCREASE
NUMBER
MIN_EXTLEN
NUMBER
STATUS
VARCHAR2(9)
CONTENTS
VARCHAR2(9)
LOGGING
VARCHAR2(9)
FORCE_LOGGING
VARCHAR2(3)
EXTENT_MANAGEMENT
VARCHAR2(10)
ALLOCATION_TYPE
VARCHAR2(9)
PLUGGED_IN
VARCHAR2(3)
SEGMENT_SPACE_MANAGEMENT
VARCHAR2(6)
DEF_TAB_COMPRESSION
VARCHAR2(8)
RETENTION
VARCHAR2(11)
BIGFILE
VARCHAR2(3)
PREDICATE_EVALUATION
VARCHAR2(7)
ENCRYPTED
VARCHAR2(3)
COMPRESS_FOR
VARCHAR2(30)
Vytvoření tablespace pomocí příkazu CREATE..
SYS@orcl12c>CREATE SMALLFILE TABLESPACE "TOOLS"
DATAFILE
'tool01' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 1000M
LOGGING
DEFAULT NOCOMPRESS
ONLINE
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
SEGMENT SPACE MANAGEMENT AUTO;
ALTER DATABASE DEFAULT TABLESPACE "TOOLS";
Tablespace created.
40 | P a g e
Database altered.
SYS@orcl12c>
Vytvoření tablespace pomocí EM
Action  Create
Pojmenování tablespace.
41 | P a g e
Určení datového souboru.
42 | P a g e
Určení velikosti bloku.
Nastavení logování.
Nastavení alokace segmentů.
43 | P a g e
Celý wizard vygeneroval tento statement.
Vytvoření uživatele
Opět jako v případě tablespace. K vytvoření uživatele můžete použít EM a nebo rychlejší
cestu přes sqlplus. Při zakládání uživatele musíte zadat jako minimum jméno, heslo,
profil, defaultní tablespace a temp tablespace.
SYS@orcl12c>create user "TOM" identified by ****** profile
"DEFAULT" account unlock default tablespace "TOOLS" temporary
tablespace "TEMP";
User created.
SYS@orcl12c>
Dále musíte uživateli přiřadit oprávnění alespoň create session. Pokud tak neučiníte, daný
uživatel se nepřihlásí.
[oel64:oracle:orcl12c]$ sqlplus tom@orcl12c
SQL*Plus: Release 12.1.0.1.0 Production on Thu Nov 7 19:21:51
2013
Copyright (c) 1982, 2013, Oracle.
All rights reserved.
Enter password:
ERROR:
ORA-01045: user TOM lacks CREATE SESSION privilege; logon denied
Práva se nastavují pomocí příkazu GRANT, později s ním budemem pracovat více.
SYS@orcl12c>grant CREATE SESSION to "TOM";
Grant succeeded.
Zároveň je potřeba ještě přiřadit uživateli nějakou kvótu na jeho tablespace, aby mohl
vytvářet objekty. To se dělá příkazem ALTER USER.
SYS@orcl12c>alter user "TOM" quota 200M on "TOOLS";
44 | P a g e
User altered.
Teď je vše v pořádku a uživatel se přihlásí.
[oel64:oracle:orcl12c]$ sqlplus tom@orcl12c
SQL*Plus: Release 12.1.0.1.0 Production on Thu Nov 7 19:38:57
2013
Copyright (c) 1982, 2013, Oracle.
All rights reserved.
Enter password:
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit
Production
With the Partitioning, OLAP, Advanced Analytics and Real
Application Testing options
TOM@orcl12c>
Přepnutí do archívního módu
Kontrola destinace pro archívní logy - FRA
SQL> archive log list
Database log mode
No Archive Mode
Automatic archival
Disabled
Archive destination
USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence
10
Current log sequence
12
SQL> show parameter recovery
NAME
TYPE
VALUE
------------------------------------ ----------- ----------------------------db_recovery_file_dest
string
+FRA
db_recovery_file_dest_size
big integer 10G
45 | P a g e
recovery_parallelism
integer
0
Nastavení destinace je do FRA, což říká parameter USE_DB_RECOVERY_FILE_DEST.
To to je defaulní konfigurace.
V případě, že toto nastavení nemáte, je potřeba to nastavit pomocí příkazů.
alter system set log_archive_dest_1 =
'LOCATION=USE_DB_RECOVERY_FILE_DEST';
alter system set log_archive_dest_state_1 = enable;
A zkontrolovat třeba přes select.
SQL> SELECT dest_name,destination
FROM v$archive_dest
WHERE destination is not null;
2
3
DEST_NAME
------------------------------------------------------------------------------DESTINATION
------------------------------------------------------------------------------LOG_ARCHIVE_DEST_1
USE_DB_RECOVERY_FILE_DEST
Přepnutí v mount režimu
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 1837244416 bytes
Fixed Size
Variable Size
Database Buffers
2289544 bytes
553648248 bytes
1275068416 bytes
46 | P a g e
Redo Buffers
6238208 bytes
Database mounted.
SQL> alter database archivelog;
Database altered.
SQL> alter database open;
Database altered.
SQL>
Kontrola
SQL> archive log list;
Database log mode
Archive Mode
Automatic archival
Enabled
Archive destination
USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence
10
Next log sequence to archive
12
Current log sequence
12
SQL> select log_mode from v$database;
LOG_MODE
-----------ARCHIVELOG
SQL> alter system switch logfile;
System altered.
SQL> select name from v$archived_log order by completion_time;
NAME
47 | P a g e
------------------------------------------------------------------------------+FRA/ORCL12C/ARCHIVELOG/2013_11_12/thread_1_seq_12.256.831302985
Nastavební FRA
FRA neboli fast recovery area, dříve flash recovery area je oblast kam se ukládají veškeré
zálohy – backup sety, image kopie, archívní logy, flashback logy, onlie redo logy,
controlni soubor. Není nutné tuto oblast nastavovat, ale práce s ní je daleko jednodušší.
I když budete mít nastaveno FRA, můžete stále databázi říci, aby archívní soubory
ukládala jinde. Nové umístění se nastavuje pře parametry log_archive_dest a
log_archive_duplex_dest. My však chceme používat FRA, takže tyto parametry musí
být vypnuté.
Kontrola
SYS@orcl12c>show parameter arch
NAME
TYPE
VALUE
------------------------------------ ----------- ----------------------------log_archive_dest
string
log_archive_duplex_dest
string
SQL> show parameter recovery
NAME
TYPE
VALUE
------------------------------------ ----------- ----------------------------db_recovery_file_dest
/u01/app/oracle/fast_recovery_
string
area
db_recovery_file_dest_size
big integer 4800M
recovery_parallelism
integer
0
V případě, že bysme chtěli nějaký parametr vypnout, použili by se tyto příkazy.
alter system set log_archive_duplex_dest = '';
alter system set log_archive_dest = '';
48 | P a g e
Nastavení
Změna nebo nastavení se děje stejnými příkazy.
SQL> alter system set db_recovery_file_dest = '/u02/fra';
System altered.
SQL> alter system set db_recovery_file_dest_size = 10G;
System altered.
SQL> show parameter reco
NAME
TYPE
VALUE
------------------------------------ ----------- ----------------------------control_file_record_keep_time
integer
7
db_recovery_file_dest
string
/u02/fra
db_recovery_file_dest_size
big integer 10G
db_unrecoverable_scn_tracking
boolean
TRUE
recovery_parallelism
integer
0
Úplně stejně se nastavuje FRA i když používáte ASM. Specifikujete pouze diskovou
skupinu.
SQL> show parameter recovery
NAME
TYPE
VALUE
------------------------------------ ----------- ----------------------------db_recovery_file_dest
string
+DATA
db_recovery_file_dest_size
big integer 4800M
recovery_parallelism
integer
0
SQL> alter system set db_recovery_file_dest = '+FRA';
49 | P a g e
System altered.
SQL>
SQL> SQL>
SQL> alter system set db_recovery_file_dest_size = 10G;
System altered.
Init soubor (Spfile vs pfile)
SYS@orcl12c>show parameter spfile
NAME
TYPE
VALUE
------------------------------------ ----------- ---------------spfile
string
/u01/app/oracle/product/12.1.0/dbhome_1/dbs/spfileorcl12c.ora
SYS@orcl12c>create pfile from spfile;
File created.
[oel64:oracle:orcl12c]$ cd $ORACLE_HOME/dbs
[oel64:oracle:orcl12c]$ pwd
/u01/app/oracle/product/12.1.0/dbhome_1/dbs
[oel64:oracle:orcl12c]$ ls -ltr init*
-rw-r--r--. 1 oracle oinstall 2992 Feb
-rw-r--r--. 1 oracle oinstall
3
2012 init.ora
977 Nov 12 12:11 initorcl12c.ora
Soubor init.ora je defaultní a druhý soubor je náš, právě vytvořený.
Parametry, které začínají jménem instance jsou nastaveny přímo z paměti na hodnotu,
kterou měli práve v okamžiku spuštění příkazu CREATE. Je to díky tomu, že databáze si
spravuje pamět automaticky.
[oel64:oracle:orcl12c]$ cat initorcl12c.ora
orcl12c.__data_transfer_cache_size=0
orcl12c.__db_cache_size=637534208
orcl12c.__java_pool_size=16777216
50 | P a g e
orcl12c.__large_pool_size=33554432
orcl12c.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from
environment
orcl12c.__pga_aggregate_target=654311424
orcl12c.__sga_target=973078528
orcl12c.__shared_io_pool_size=50331648
orcl12c.__shared_pool_size=218103808
orcl12c.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/orcl12c/adump'
*.audit_trail='db'
*.compatible='12.1.0.0.0'
*.control_files='/oradata/orcl12c/control01.ctl','/u01/app/oracle
/fast_recovery_area/orcl12c/control02.ctl'
*.db_block_size=8192
*.db_domain='localdomain'
*.db_name='orcl12c'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4800m
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orcl12cXDB)'
*.memory_target=1546m
*.open_cursors=300
*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
Kontrolní soubor
Zjištění informací
Pokud chcete zjistit nějaké informace o kontrolním souboru. Můžete použít toto view
v$controlfile_record_section. Částečný výpis typů.
SQL> select distinct type from v$controlfile_record_section;
TYPE
----------------------------
51 | P a g e
FILENAME
TABLESPACE
RMAN CONFIGURATION
BACKUP CORRUPTION
PROXY COPY
FLASHBACK LOG
REMOVABLE RECOVERY FILES
AUXILIARY DATAFILE COPY
DATAFILE
RMAN STATUS
THREAD INSTANCE NAME MAPPING
GUARANTEED RESTORE POINT
ACM OPERATION
DATABASE
DATAFILE COPY
BACKUP DATAFILE
RECOVERY DESTINATION
DATAFILE HISTORY
PDB RECORD
COPY CORRUPTION
DATABASE INCARNATION
STANDBY DATABASE MATRIX
REDO LOG
TEMPORARY FILENAME
BACKUP SET
BACKUP REDOLOG
BACKUP SPFILE
RESTORE POINT
DATABASE BLOCK CORRUPTION
Další užitečné view je v$database;
SQL> select name, open_mode, created, current_scn from v$database;
NAME
OPEN_MODE
CREATED
CURRENT_SCN
52 | P a g e
--------- -------------------- --------- ----------ORCL12C
READ WRITE
05-NOV-13
1931306
Přídání kontrolního souboru
$ strings spfileorcl12c.ora | grep -i control_files
*.control_files='/oradata/orcl12c/control01.ctl','/u01/app/oracle
/fast_recovery_area/orcl12c/control02.ctl'
SQL> show parameter spfile;
NAME
TYPE
VALUE
------------------------------------ ----------- ----------------------------spfile
string
/u01/app/oracle/product/12.1.0/dbhome_1/dbs/spfileorcl12c.ora
Přidání třetího kontrolní souboru.
SQL> alter system set
control_files='/oradata/orcl12c/control01.ctl','/u01/app/oracle/f
ast_recovery_area/orcl12c/control02.ctl','/u02/fra/control03.ctl'
scope=spfile;
System altered.
SQL> shutdown immediate;
[oel64:oracle:orcl12c]$ cp /oradata/orcl12c/control01.ctl
/u02/fra/control03.ctl
SQL> startup
ORACLE instance started.
Total System Global Area 1620115456 bytes
Fixed Size
Variable Size
Database Buffers
Redo Buffers
2288920 bytes
1040188136 bytes
570425344 bytes
7213056 bytes
53 | P a g e
Database mounted.
Database opened.
SQL> show parameter control_files
NAME
TYPE
VALUE
------------------------------------ ----------- ----------------------------control_files
string
/oradata/orcl12c/control01.ctl,
/u01/app/oracle/fast_recovery_area/orcl12c/control02.ctl,
/u02/fra/control03.ctl
Další varianta je pomocí init souboru, textového, pokud ho používáte.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1837244416 bytes
Fixed Size
Variable Size
Database Buffers
Redo Buffers
2289544 bytes
553648248 bytes
1275068416 bytes
6238208 bytes
Database mounted.
Database opened.
SQL> select name from v$controlfile;
NAME
----------------------------------------------------------------+DATA/ORCL12C/CONTROLFILE/current.262.831290771
+DATA/ORCL12C/CONTROLFILE/current.261.831290771
+DATA/ORCL12C/CONTROLFILE/current.274.833969029
54 | P a g e
Redo logy
Zjištění základních informací o Redo logách
SQL> COL group# FORM 99999
SQL> COL thread# FORM 99999
SQL> COL grp_status FORM a10
SQL> COL member FORM a30
SQL> COL mem_status FORM a10
SQL> COL mbytes FORM 999999
SQL> -SQL> SELECT
2
a.group#,a.thread#,a.status grp_status,b.member member
6
,b.status mem_status,a.bytes/1024/1024 mbytes
8
FROM v$log a,v$logfile b
10
WHERE a.group# = b.group#
11
ORDER BY a.group#, b.member;
GROUP# THREAD# GRP_STATUS MEMBER
MEM_STATUS MBYTES
------ ------- ---------- ------------------------------ --------- ------1
1 INACTIVE
+DATA/ORCL12C/ONLINELOG/group_
1.263.831290773
1
1 INACTIVE
+DATA/ORCL12C/ONLINELOG/group_
1.264.831290773
2
1 INACTIVE
+DATA/ORCL12C/ONLINELOG/group_
2.265.831290773
2
1 INACTIVE
+DATA/ORCL12C/ONLINELOG/group_
2.266.831290775
3
1 CURRENT
+DATA/ORCL12C/ONLINELOG/group_
3.267.831290775
50
50
50
50
50
55 | P a g e
3
1 CURRENT
+DATA/ORCL12C/ONLINELOG/group_
3.268.831290775
4
1 INACTIVE
+DATA/ORCL12C/ONLINELOG/group_
4.272.831394745
4
1 INACTIVE
+FRA/ORCL12C/ONLINELOG/group_4
.263.831394747
50
100
100
8 rows selected.
Přidání redo log člena do skupiny bez ASM
V případě, že nevyužíváte ASM, musíte zadat celou cestu a jméno redo logu.
alter database add logfile member '/u02/oraredo/o12c/redo01b.rdo'
to group 1;
Smazání člena z redo log skupiny
Daný člen nesmý být jediný ve skupině.
SQL> alter database drop logfile member
'+DATA/ORCL12C/ONLINELOG/group_2.275.836227183';
Database altered.
Přidání redo log skupiny
Informace o aktuálním nastavení
SQL> COL group# FORM 99999
SQL> COL thread# FORM 99999
SQL> COL grp_status FORM a10
SQL> COL member FORM a30
SQL> COL mem_status FORM a10
SQL> COL mbytes FORM 999999
SQL> -SQL> SELECT
2
a.group#
3
,a.thread#
56 | P a g e
4
,a.status grp_status
5
,b.member member
6
,b.status mem_status
7
,a.bytes/1024/1024 mbytes
8
FROM v$log a,
9
v$logfile b
10
WHERE a.group# = b.group#
11
ORDER BY a.group#, b.member;
GROUP# THREAD# GRP_STATUS MEMBER
MEM_STATUS MBYTES
------ ------- ---------- ------------------------------ --------- ------1
1 INACTIVE
/oradata/orcl12c/redo01.log
2
1 CURRENT
/oradata/orcl12c/redo02.log
3
1 INACTIVE
/oradata/orcl12c/redo03.log
50
50
50
Přidání skupiny s dvěma členy.
SQL> alter database add logfile group 4
('/oradata/orcl12c/redo4a.log', '/u02/fra/redo4b.log') SIZE 50M;
Database altered.
GROUP# THREAD# GRP_STATUS MEMBER
MEM_STATUS MBYTES
------ ------- ---------- ------------------------------ --------- ------1
1 INACTIVE
/oradata/orcl12c/redo01.log
2
1 CURRENT
/oradata/orcl12c/redo02.log
3
1 INACTIVE
/oradata/orcl12c/redo03.log
4
1 UNUSED
/oradata/orcl12c/redo4a.log
50
50
50
50
57 | P a g e
4
1 UNUSED
/u02/fra/redo4b.log
50
Přidání člena do existující skupiny
SQL> alter database add logfile member '/u02/fra/redo1b.log' to
group 1;
Database altered.
GROUP# THREAD# GRP_STATUS MEMBER
MEM_STATUS MBYTES
------ ------- ---------- ------------------------------ --------- ------1
1 INACTIVE
/oradata/orcl12c/redo01.log
1
1 INACTIVE
/u02/fra/redo1b.log
2
1 CURRENT
/oradata/orcl12c/redo02.log
3
1 INACTIVE
/oradata/orcl12c/redo03.log
4
1 UNUSED
/oradata/orcl12c/redo4a.log
4
1 UNUSED
/u02/fra/redo4b.log
50
INVALID
50
50
50
50
50
Nelekejte se stavu INVALID. Může sice značit, že je soubor nedostupný, ale ten samý
status se objevuje u nově vytvořenho redo logu.
Provedu párkrát přepnutí redo logů a bude to v pořádku.
SQL> alter system switch logfile;
System altered.
SQL> /
System altered.
58 | P a g e
GROUP# THREAD# GRP_STATUS MEMBER
MEM_STATUS MBYTES
------ ------- ---------- ------------------------------ --------- ------1
1 INACTIVE
/oradata/orcl12c/redo01.log
1
1 INACTIVE
/u02/fra/redo1b.log
2
1 CURRENT
/oradata/orcl12c/redo02.log
3
1 INACTIVE
/oradata/orcl12c/redo03.log
4
1 INACTIVE
/oradata/orcl12c/redo4a.log
4
1 INACTIVE
/u02/fra/redo4b.log
50
50
50
50
50
50
Přidání redo log skupiny do FRA
GROUP# THREAD# GRP_STATUS MEMBER
MEM_STATUS MBYTES
------ ------- ---------- ------------------------------ --------- ------1
1 CURRENT
+DATA/ORCL12C/ONLINELOG/group_
50
1.263.831290773
1
1 CURRENT
+DATA/ORCL12C/ONLINELOG/group_
50
1.264.831290773
2
1 INACTIVE
+DATA/ORCL12C/ONLINELOG/group_
50
2.265.831290773
2
1 INACTIVE
+DATA/ORCL12C/ONLINELOG/group_
50
2.266.831290775
3
1 INACTIVE
+DATA/ORCL12C/ONLINELOG/group_
50
3.267.831290775
3
1 INACTIVE
+DATA/ORCL12C/ONLINELOG/group_
50
59 | P a g e
3.268.831290775
SQL> show parameter db_recovery_file_dest
NAME
TYPE
VALUE
------------------------------------ ----------- ----------------------------db_recovery_file_dest
string
+FRA
db_recovery_file_dest_size
big integer 10G
SQL> show parameter db_create_file_dest
NAME
TYPE
VALUE
------------------------------------ ----------- ----------------------------db_create_file_dest
string
+DATA
SQL> alter database add logfile group 4;
Database altered.
SQL> select member
from v$logfile
where group# = 4;
2
3
MEMBER
-----------------------------+DATA/ORCL12C/ONLINELOG/group_
4.272.831394745
+FRA/ORCL12C/ONLINELOG/group_4
.263.831394747
60 | P a g e
Automatic storage management - ASM
Nastavení UDEV pro ASM disky
Výpis SATA zařízení
[root@node1 tmp]# ls -ltr /dev/sd*
brw-rw----. 1 root disk 8, 16 Nov 11 11:05 /dev/sdb
brw-rw----. 1 root disk 8, 32 Nov 11 11:05 /dev/sdc
brw-rw----. 1 root disk 8,
0 Nov 11 11:05 /dev/sda
brw-rw----. 1 root disk 8,
2 Nov 11 11:05 /dev/sda2
brw-rw----. 1 root disk 8,
1 Nov 11 11:05 /dev/sda1
Vytvoření partition
[root@node1 tmp]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI
or OS
F disklabel
Building a new DOS disklabel with disk identifier 0xe5a4eb5b.
Changes will remain in memory only, until you decide to write
them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be
corrected by
w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly
recommended t
o
switch off the mode (command 'c') and change display
units to
sectors (command 'u').
Command (m for help): n
Command action
e
extended
p
primary partition (1-4)
61 | P a g e
p
Partition number (1-4): 1
First cylinder (1-652, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652):
Using default value 652
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@node1 tmp]# fdisk /dev/sdc
Device contains neither a valid DOS partition table, nor Sun, SGI
or OS
F disklabel
Building a new DOS disklabel with disk identifier 0xbe056bce.
Changes will remain in memory only, until you decide to write
them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be
corrected by
w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly
recommended t
o
switch off the mode (command 'c') and change display
units to
sectors (command 'u').
Command (m for help): n
Command action
e
extended
p
primary partition (1-4)
62 | P a g e
p
Partition number (1-4): 1
First cylinder (1-652, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652):
Using default value 652
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@node1 tmp]#
[root@node1 tmp]# ls -ltr /dev/sd*
brw-rw----. 1 root disk 8,
0 Nov 11 11:05 /dev/sda
brw-rw----. 1 root disk 8,
2 Nov 11 11:05 /dev/sda2
brw-rw----. 1 root disk 8,
1 Nov 11 11:05 /dev/sda1
brw-rw----. 1 root disk 8, 16 Nov 11 11:54 /dev/sdb
brw-rw----. 1 root disk 8, 17 Nov 11 11:54 /dev/sdb1
brw-rw----. 1 root disk 8, 32 Nov 11 11:54 /dev/sdc
brw-rw----. 1 root disk 8, 33 Nov 11 11:54 /dev/sdc1
Identifikace disků
[root@node1 tmp]# /sbin/scsi_id -g -u -d /dev/sdb
1ATA_VBOX_HARDDISK_VB207c3ecf-d051a088
[root@node1 tmp]# /sbin/scsi_id -g -u -d /dev/sdc
1ATA_VBOX_HARDDISK_VBd8b9123a-81ae1756
Nastavení důvěrného zařízení
[root@node1 tmp]# vi /etc/scsi_id.config
[root@node1 tmp]# cat /etc/scsi_id.config
options=-g
63 | P a g e
Nastavení UDEV pravidel
[root@node1 tmp]# cat /etc/udev/rules.d/99-oracleasmdevices.rules
KERNEL=="sdb1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d
/dev/sdb", RESULT=="1ATA_VBOX_HARDDISK_VB207c3ecf-d051a088",
NAME="asm-disk1", OWNER="oracle", GROUP="dba", MODE="0660"
KERNEL=="sdc1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d
/dev/sdc", RESULT=="1ATA_VBOX_HARDDISK_VBd8b9123a-81ae1756",
NAME="asm-disk2", OWNER="oracle", GROUP="dba", MODE="0660"
Nahrání upravená blokových partition
[root@node1 tmp]# /sbin/partprobe /dev/sdb1
[root@node1 tmp]# /sbin/partprobe /dev/sdc1
Kontrola nastavení
[root@node1 tmp]# udevadm test /block/sdb/sdb1
run_command: calling: test
udevadm_test: version 147
This program is for debugging only, it does not run any program,
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation
run.
.....
<zde je kompletní výpis>
.....
udevadm_test:
UDISKS_PARTITION_SLAVE=/sys/devices/pci0000:00/0000:00:0d.0/host3
/target3:0:0/3:0:0:0/block/sdb
udevadm_test: UDISKS_PARTITION_OFFSET=32256
udevadm_test: UDISKS_PARTITION_ALIGNMENT_OFFSET=0
udevadm_test: run: 'socket:@/org/freedesktop/hal/udev_event'
Kontrola oprávnění
[root@node1 tmp]# ls -ltr /dev/asm-disk*
brw-rw----. 1 oracle dba 8, 33 Nov 11 12:08 /dev/asm-disk2
brw-rw----. 1 oracle dba 8, 17 Nov 11 12:08 /dev/asm-disk1
64 | P a g e
Restart služby
[root@oel64 ~]# udevadm control --reload-rules
[root@oel64 ~]# /sbin/start_udev
Starting udev:
[
OK
]
Instalace grid infrastruktury - ASM
Vytvoření ASM diskgroup
Předpokladem je, že máte k dispozici disk. Ja ho mám vytvořen
pomocí UDEV, jako je v příkladě výše.
[oracle@oel64 ~]$ ls -ltr /dev/asm-disk*
brw-rw----. 1 oracle dba 8, 49 Nov 12 12:59 /dev/asm-disk3
brw-rw----. 1 oracle dba 8, 17 Nov 12 12:59 /dev/asm-disk1
brw-rw----. 1 oracle dba 8, 33 Nov 12 12:59 /dev/asm-disk2
asmca
ORACLE_SID = [oracle] ? +ASM
The Oracle base has been set to /u01/app/oracle
[oracle@oel64 ~]$ which asmca
/u01/app/oracle/product/12.1.0/grid/bin/asmca
[oracle@oel64 ~]$ asmca
65 | P a g e
Úvodní obrazovka.
Definice nové diskové skupiny.
Vytváření.
66 | P a g e
Úspěšně hotovo.
Konečný výpis.
Přidání redo log skupiny bez ASM
Například takto
alter database add logfile group 3
('/u01/oraredo/o12c/redo03a.rdo',
67 | P a g e
'/u02/oraredo/o12c/redo03b.rdo') SIZE 50M;
Smazání neaktivní redo log skupiny
SQL> select group#, status, archived, thread#, sequence# from
v$log;
GROUP# STATUS
ARC THREAD#
SEQUENCE#
------ ---------------- --- ------- ---------1 INACTIVE
YES
1
9
2 INACTIVE
YES
1
10
3 INACTIVE
YES
1
11
4 CURRENT
NO
1
12
5 INACTIVE
YES
1
8
SQL> alter database drop logfile group 5;
Database altered.
Změna aktivní skupiny
V případě, že skupina neni INACTIVE je potřeba se přepnou na jinou.
SQL> alter system switch logfile;
System altered.
SQL> select group#, status, archived, thread#, sequence# from
v$log;
GROUP# STATUS
ARC THREAD#
SEQUENCE#
------ ---------------- --- ------- ---------1 CURRENT
NO
1
13
2 INACTIVE
YES
1
10
3 INACTIVE
YES
1
11
4 ACTIVE
YES
1
12
68 | P a g e
Pakliže je skupina stále ACTIVE, tedy potřeba v případě recovery, musí se veskere
informace z redo logů uložit do datového souboru.
SQL> alter system checkpoint;
System altered.
SQL> select group#, status, archived, thread#, sequence# from
v$log;
GROUP# STATUS
ARC THREAD#
SEQUENCE#
------ ---------------- --- ------- ---------1 CURRENT
NO
1
13
2 INACTIVE
YES
1
10
3 INACTIVE
YES
1
11
4 INACTIVE
YES
1
12
Přidání redo log skupiny s ASM
SQL> alter database add logfile group 5 SIZE 55M;
Database altered.
GROUP# THREAD# GRP_STATUS MEMBER
MEM_STATUS MBYTES
------ ------- ---------- ------------------------------ --------- ------5
1 UNUSED
+DATA/ORCL12C/ONLINELOG/group_
5.275.836225775
5
1 UNUSED
+FRA/ORCL12C/ONLINELOG/group_5
.294.836225777
55
55
Přidání kontrolního souboru do ASM
Identifikace
SQL> select name from v$controlfile;
NAME
69 | P a g e
----------------------------------------------------------------+DATA/ORCL12C/CONTROLFILE/current.262.831290771
+DATA/ORCL12C/CONTROLFILE/current.261.831290771
Přidání
SQL> alter system set
control_files='+DATA/ORCL12C/CONTROLFILE/current.262.831290771','
+DATA/ORCL12C/CONTROLFILE/current.261.831290771','+DATA'
scope=spfile;
System altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
[oracle@oel64 ~]$ rman target /
Recovery Manager: Release 12.1.0.1.0 - Production on Thu Dec 12
10:01:56 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates.
rights reserved.
All
connected to target database (not started)
RMAN> startup nomount
Oracle instance started
Total System Global Area
Fixed Size
Variable Size
Database Buffers
Redo Buffers
1837244416 bytes
2289544 bytes
553648248 bytes
1275068416 bytes
6238208 bytes
RMAN> restore controlfile from
'+DATA/ORCL12C/CONTROLFILE/current.261.831290771';
70 | P a g e
Starting restore at 12-DEC-13
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=23 device type=DISK
channel ORA_DISK_1: copied control file copy
output file name=+DATA/ORCL12C/CONTROLFILE/current.262.831290771
output file name=+DATA/ORCL12C/CONTROLFILE/current.261.831290771
output file name=+DATA/ORCL12C/CONTROLFILE/current.274.833969029
Finished restore at 12-DEC-13
SQL> alter system set
control_files='+DATA/ORCL12C/CONTROLFILE/current.262.831290771','
+DATA/ORCL12C/CONTROLFILE/current.261.831290771','+DATA/ORCL12C/C
ONTROLFILE/current.274.833969029' scope=spfile;
System altered.
SQL> shutdown immediate
ORA-01507: database not mounted
Přidání redo log člena do skupiny s ASM
SQL> alter database add logfile member '+DATA' to group 2;
Database altered.
GROUP# THREAD# GRP_STATUS MEMBER
MEM_STATUS MBYTES
------ ------- ---------- -----------------------------2
1 INACTIVE
+DATA/ORCL12C/ONLINELOG/group_
2.265.831290773
2
1 INACTIVE
+DATA/ORCL12C/ONLINELOG/group_
2.266.831290775
50
50
71 | P a g e
2
1 INACTIVE
50
+DATA/ORCL12C/ONLINELOG/group_ INVALID
2.275.836227183
Nelekejte se statusu invalid. Stačí provést logswitch a člen bude validní.
SQL> alter system switch logfile;
System altered.
Zálohování a obnova
Záloha databáze RMAN
Připojení
[oracle@oel64 dbs]$ rman target /
Recovery Manager: Release 12.1.0.1.0 - Production on Tue Nov 12
13:45:18 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates.
rights reserved.
All
connected to target database: ORCL12C (DBID=661781458)
RMAN>
Nebo.
[oracle@oel64 dbs]$ rman target sys@orcl12c
Recovery Manager: Release 12.1.0.1.0 - Production on Tue Nov 12
13:45:53 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates.
rights reserved.
All
target database Password:
connected to target database: ORCL12C (DBID=661781458)
72 | P a g e
RMAN>
Kontrola nastavení
RMAN> show all;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name
ORCL12C are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO
'%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;
# default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; #
default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; #
default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT'
OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO
'/u01/app/oracle/product/12.1.0/dbhome_1/dbs/snapcf_orcl12c.f'; #
default
Záloha databáze
RMAN> backup database;
Starting backup at 12-NOV-13
allocated channel: ORA_DISK_1
73 | P a g e
channel ORA_DISK_1: SID=21 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001
name=+DATA/ORCL12C/DATAFILE/system.258.831290679
input datafile file number=00003
name=+DATA/ORCL12C/DATAFILE/sysaux.257.831290613
input datafile file number=00002
name=+DATA/ORCL12C/DATAFILE/example.270.831290789
input datafile file number=00004
name=+DATA/ORCL12C/DATAFILE/undotbs1.260.831290745
input datafile file number=00006
name=+DATA/ORCL12C/DATAFILE/users.259.831290745
channel ORA_DISK_1: starting piece 1 at 12-NOV-13
channel ORA_DISK_1: finished piece 1 at 12-NOV-13
piece
handle=+FRA/ORCL12C/BACKUPSET/2013_11_12/nnndf0_tag20131112t13473
1_0.257.831304055 tag=TAG20131112T134731 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:07:55
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 12-NOV-13
channel ORA_DISK_1: finished piece 1 at 12-NOV-13
piece
handle=+FRA/ORCL12C/BACKUPSET/2013_11_12/ncsnf0_tag20131112t13473
1_0.258.831304531 tag=TAG20131112T134731 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 12-NOV-13
Záloha databáze a archívních souborů
RMAN> backup database plus archivelog;
Starting backup at 12-DEC-13
current log archived
74 | P a g e
using channel ORA_DISK_1
skipping archived logs of thread 1 from sequence 12 to 13;
already backed up
channel ORA_DISK_1: starting compressed archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=14 RECID=3 STAMP=831372110
input archived log thread=1 sequence=15 RECID=4 STAMP=831393356
input archived log thread=1 sequence=16 RECID=5 STAMP=831400269
input archived log thread=1 sequence=17 RECID=6 STAMP=831469009
input archived log thread=1 sequence=18 RECID=7 STAMP=831475199
input archived log thread=1 sequence=19 RECID=8 STAMP=831489206
input archived log thread=1 sequence=20 RECID=9 STAMP=831500199
input archived log thread=1 sequence=21 RECID=10 STAMP=832414972
input archived log thread=1 sequence=22 RECID=11 STAMP=832603734
input archived log thread=1 sequence=23 RECID=12 STAMP=833187937
input archived log thread=1 sequence=24 RECID=13 STAMP=833205837
input archived log thread=1 sequence=25 RECID=14 STAMP=833206780
input archived log thread=1 sequence=26 RECID=15 STAMP=833879713
input archived log thread=1 sequence=27 RECID=16 STAMP=833969456
channel ORA_DISK_1: starting piece 1 at 12-DEC-13
channel ORA_DISK_1: finished piece 1 at 12-DEC-13
piece
handle=+FRA/ORCL12C/BACKUPSET/2013_12_12/annnf0_tag20131212t10105
6_0.288.833969457 tag=TAG20131212T101056 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15
Finished backup at 12-DEC-13
Starting backup at 12-DEC-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00005
name=+DATA/ORCL12C/DATAFILE/perfstat.273.833200283
input datafile file number=00003
name=+DATA/ORCL12C/DATAFILE/sysaux.257.831290613
75 | P a g e
input datafile file number=00001
name=+DATA/ORCL12C/DATAFILE/system.258.831290679
input datafile file number=00002
name=+DATA/ORCL12C/DATAFILE/example.270.831290789
input datafile file number=00004
name=+DATA/ORCL12C/DATAFILE/undotbs1.260.831290745
input datafile file number=00006
name=+DATA/ORCL12C/DATAFILE/users.259.831398767
channel ORA_DISK_1: starting piece 1 at 12-DEC-13
channel ORA_DISK_1: finished piece 1 at 12-DEC-13
piece
handle=+FRA/ORCL12C/BACKUPSET/2013_12_12/nnndf0_tag20131212t10111
2_0.289.833969473 tag=TAG20131212T101112 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:55
Finished backup at 12-DEC-13
Starting backup at 12-DEC-13
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=28 RECID=17 STAMP=833969587
channel ORA_DISK_1: starting piece 1 at 12-DEC-13
channel ORA_DISK_1: finished piece 1 at 12-DEC-13
piece
handle=+FRA/ORCL12C/BACKUPSET/2013_12_12/annnf0_tag20131212t10130
7_0.291.833969589 tag=TAG20131212T101307 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 12-DEC-13
Starting Control File and SPFILE Autobackup at 12-DEC-13
piece handle=+FRA/c-661781458-20131212-01 comment=NONE
Finished Control File and SPFILE Autobackup at 12-DEC-13
Záloha archívních souborů
RMAN> backup archivelog all;
76 | P a g e
Starting backup at 12-NOV-13
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=12 RECID=1 STAMP=831302986
input archived log thread=1 sequence=13 RECID=2 STAMP=831304687
channel ORA_DISK_1: starting piece 1 at 12-NOV-13
channel ORA_DISK_1: finished piece 1 at 12-NOV-13
piece
handle=+FRA/ORCL12C/BACKUPSET/2013_11_12/annnf0_tag20131112t13580
7_0.260.831304687 tag=TAG20131112T135807 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 12-NOV-13
Přesun datového souboru
Nejdříve se podívejte, kde vlastně máte uložené datové soubory. Informace lze získat
z datového slovníku.
SQL> desc dba_data_files
Name
Null?
Type
----------------------------------------- -------- --------------------------FILE_NAME
VARCHAR2(513)
FILE_ID
NUMBER
TABLESPACE_NAME
VARCHAR2(30)
BYTES
NUMBER
BLOCKS
NUMBER
STATUS
VARCHAR2(9)
RELATIVE_FNO
NUMBER
AUTOEXTENSIBLE
VARCHAR2(3)
MAXBYTES
NUMBER
MAXBLOCKS
NUMBER
INCREMENT_BY
NUMBER
77 | P a g e
USER_BYTES
NUMBER
USER_BLOCKS
NUMBER
ONLINE_STATUS
VARCHAR2(7)
SQL> select FILE_NAME from dba_data_files;
FILE_NAME
------------------------------------------------------------------------------/oradata/orcl12c/system01.dbf
/oradata/orcl12c/sysaux01.dbf
/u01/app/oracle/product/12.1.0/dbhome_1/dbs/tool01
/oradata/orcl12c/users01.dbf
/oradata/orcl12c/example01.dbf
/oradata/orcl12c/undotbs01.dbf
6 rows selected.
Ve verzi 12c je k dispozici příkaz ALTER DATABASE MOVE DATAFILE, který
umožní přesunout daotvý soubor online.
SQL> alter database move datafile
'/u01/app/oracle/product/12.1.0/dbhome_1/dbs/tool01' to
'/oradata/orcl12c/tool01.dbf';
Database altered.
SQL> select FILE_NAME from dba_data_files;
FILE_NAME
------------------------------------------------------------------------------/oradata/orcl12c/system01.dbf
/oradata/orcl12c/sysaux01.dbf
/oradata/orcl12c/tool01.dbf
/oradata/orcl12c/users01.dbf
/oradata/orcl12c/example01.dbf
78 | P a g e
/oradata/orcl12c/undotbs01.dbf
6 rows selected.
U starší verze databáze to lze udělat například pomocí příkazu ALTER TABLESPACE
RENAME.
SQL> select TABLESPACE_NAME, FILE_NAME from dba_data_files;
TABLESPACE_NAME
FILE_NAME
----------------------------------------------------------------TOOLS
/oradata/orcl12c/tool01.dbf
Tablespace nebo jen datafile offline
SQL> alter tablespace tools offline;
Tablespace altered.
Fyzický přesun
[oel64:oracle:orcl12c]$ mv /oradata/orcl12c/tool01.dbf
/oradata/orcl12c/tool.dbf
Update datového slovníku
SQL> alter tablespace tools rename datafile
'/oradata/orcl12c/tool01.dbf' to '/oradata/orcl12c/tool.dbf';
Tablespace altered.
Online
SQL> alter tablespace tools online;
Tablespace altered.
Existuje i možnost s re-create controlního souboru. Tu tady teď ukazovat nebudu, třeba
někdy později.
Zálohování kontrolního souboru
Nastavení automatické zálohy kontrolního souboru
[oracle@oel64 ~]$ rman target /
79 | P a g e
Recovery Manager: Release 12.1.0.1.0 - Production on Thu Dec 12
10:08:06 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates.
rights reserved.
All
connected to target database: ORCL12C (DBID=661781458)
RMAN> show all;
using target database control file instead of recovery catalog
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
Záloha kontrolníhou souboru
RMAN> backup current controlfile;
Starting backup at 12-DEC-13
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=42 device type=DISK
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
channel ORA_DISK_1: starting piece 1 at 12-DEC-13
channel ORA_DISK_1: finished piece 1 at 12-DEC-13
piece
handle=+FRA/ORCL12C/BACKUPSET/2013_12_12/ncnnf0_tag20131212t10102
8_0.285.833969429 tag=TAG20131212T101028 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 12-DEC-13
80 | P a g e
Starting Control File and SPFILE Autobackup at 12-DEC-13
piece handle=+FRA/c-661781458-20131212-00 comment=NONE
Finished Control File and SPFILE Autobackup at 12-DEC-13
Zjištění zálohy kontrolního souboru
RMAN> list backup of controlfile;
List of Backup Sets
===================
BS Key
Time
Type LV Size
Device Type Elapsed Time Completion
------- ---- -- ---------- ----------- ------------ -------------2
Full
9.64M
BP Key: 2
TAG20131112T134731
DISK
Status: AVAILABLE
00:00:04
12-NOV-13
Compressed: NO
Tag:
Piece Name:
+FRA/ORCL12C/BACKUPSET/2013_11_12/ncsnf0_tag20131112t134731_0.258
.831304531
Control File Included: Ckp SCN: 1907829
13
BS Key
Time
Type LV Size
Ckp time: 12-NOV-
Device Type Elapsed Time Completion
------- ---- -- ---------- ----------- ------------ -------------13
Full
1.05M
BP Key: 13
TAG20131211T093238
DISK
Status: AVAILABLE
00:00:01
11-DEC-13
Compressed: YES
Tag:
Piece Name: /backup/0lor80o2_1_1
Control File Included: Ckp SCN: 2230955
13
BS Key
Time
Type LV Size
Ckp time: 11-DEC-
Device Type Elapsed Time Completion
------- ---- -- ---------- ----------- ------------ -------------19
Full
9.64M
DISK
00:00:01
12-DEC-13
81 | P a g e
BP Key: 19
TAG20131212T101309
Status: AVAILABLE
Compressed: NO
Tag:
Piece Name: +FRA/c-661781458-20131212-01
Control File Included: Ckp SCN: 2237239
13
Ckp time: 12-DEC-
Textová záloha kontrolního souboru
SQL> alter database backup controlfile to trace as
'/backup/zaloha_ctl_text.bkp';
Database altered.
[oracle@oel64 backup]$ ls -ltr zaloha_ctl_*
-rw-r--r--. 1 oracle dba
zaloha_ctl_text.bkp
9238 Dec 12 10:18
Binární záloha kontrolního souboru
SQL> alter database backup controlfile to
'/backup/zaloha_ctl_bin.ctl';
Database altered.
[oracle@oel64 backup]$ ls -ltr zaloha_ctl_*
-rw-r--r--. 1 oracle dba
zaloha_ctl_text.bkp
9238 Dec 12 10:18
-rw-r-----. 1 oracle dba 10043392 Dec 12 10:19 zaloha_ctl_bin.ctl
Obnova kontrolního souboru
Obnovení kontrolního souboru z autobackapu
[oracle@oel64 backup]$ rman target /
Recovery Manager: Release 12.1.0.1.0 - Production on Thu Dec 12
10:21:41 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates.
rights reserved.
All
connected to target database: ORCL12C (DBID=661781458)
RMAN> shutdown immediate
82 | P a g e
using target database control file instead of recovery catalog
database closed
database dismounted
Oracle instance shut down
RMAN> startup nomount
connected to target database (not started)
Oracle instance started
Total System Global Area
1837244416 bytes
Fixed Size
Variable Size
Database Buffers
2289544 bytes
553648248 bytes
1275068416 bytes
Redo Buffers
6238208 bytes
RMAN> restore controlfile from autobackup;
Starting restore at 12-DEC-13
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=23 device type=DISK
recovery area destination: +FRA
database name (or database unique name) used for search: ORCL12C
channel ORA_DISK_1: AUTOBACKUP
+FRA/ORCL12C/AUTOBACKUP/2013_12_12/s_833969589.292.833969589
found in the recovery area
channel ORA_DISK_1: looking for AUTOBACKUP on day: 20131212
channel ORA_DISK_1: restoring control file from AUTOBACKUP
+FRA/ORCL12C/AUTOBACKUP/2013_12_12/s_833969589.292.833969589
channel ORA_DISK_1: control file restore from AUTOBACKUP complete
output file name=+DATA/ORCL12C/CONTROLFILE/current.262.831290771
83 | P a g e
output file name=+DATA/ORCL12C/CONTROLFILE/current.261.831290771
output file name=+DATA/ORCL12C/CONTROLFILE/current.274.833969029
Finished restore at 12-DEC-13
RMAN> alter database mount;
Statement processed
released channel: ORA_DISK_1
RMAN> recover database;
Starting recover at 12-DEC-13
Starting implicit crosscheck backup at 12-DEC-13
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=23 device type=DISK
Crosschecked 16 objects
Finished implicit crosscheck backup at 12-DEC-13
Starting implicit crosscheck copy at 12-DEC-13
using channel ORA_DISK_1
Crosschecked 8 objects
Finished implicit crosscheck copy at 12-DEC-13
searching for all files in the recovery area
cataloging files...
cataloging done
List of Cataloged Files
=======================
File Name:
+FRA/ORCL12C/AUTOBACKUP/2013_12_12/s_833969589.292.833969589
using channel ORA_DISK_1
84 | P a g e
starting media recovery
archived log for thread 1 with sequence 29 is already on disk as
file +DATA/ORCL12C/ONLINELOG/group_4.272.831394745
archived log file
name=+DATA/ORCL12C/ONLINELOG/group_4.272.831394745 thread=1
sequence=29
media recovery complete, elapsed time: 00:00:00
Finished recover at 12-DEC-13
RMAN> alter database open resetlogs;
Statement processed
Obnovení kontrolního souboru ze zálohy
RMAN> restore controlfile from
'C:\ORACLE\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2013_12_11\O1_MF_NC
SNF_TAG20131211T063809_9BJY999F_.BKP';
ZaΦßtek restore v 12.12.13
pou₧itφ kanßlu ORA_DISK_1
kanßl ORA_DISK_1: obnova °φdicφho souboru
kanßl ORA_DISK_1: obnova dokonΦena, uplynul² Φas: 00:00:01
jmΘno v²stupnφho souboru=C:\ORACLE\ORADATA\TEST\CONTROL01.CTL
jmΘno v²stupnφho souboru=C:\ORACLE\ORADATA\TEST\CONTROL02.CTL
jmΘno v²stupnφho souboru=C:\ORACLE\ORADATA\TEST\CONTROL03.CTL
UkonΦenφ restore v 12.12.13
Bezpečnost
Nebezpečí ověření pomocí OS
Kontrola prefixu
SQL> show parameter authent
85 | P a g e
NAME
TYPE
VALUE
------------------------------------ ----------- ----------------------------os_authent_prefix
string
ops$
remote_os_authent
boolean
FALSE
OS user
[root@oel64 ~]# useradd hacker
[root@oel64 ~]# passwd hacker
Changing password for user hacker.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
DB user
SQL> create user ops$hacker identified externally;
User created.
SQL> grant connect to ops$hacker;
Grant succeeded.
Kontrola
[hacker@oel64 ~]$ id
uid=54322(hacker) gid=54324(hacker) groups=54324(hacker)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[hacker@oel64 ~]$ sqlplus /
-bash: sqlplus: command not found
[hacker@oel64 ~]$ . oraenv
ORACLE_SID = [hacker] ? orcl12c
ORACLE_BASE environment variable is not being set since this
information is not available for the current user ID hacker.
You can set ORACLE_BASE manually if it is required.
Resetting ORACLE_BASE to its previous value or ORACLE_HOME
86 | P a g e
The Oracle base has been set to
/u01/app/oracle/product/12.1.0/dbhome_1
[hacker@oel64
~]$ /u01/app/oracle/product/12.1.0/dbhome_1/bin/sqlplus /
SQL*Plus: Release 12.1.0.1.0 Production on Wed Nov 13 19:56:48
2013
Copyright (c) 1982, 2013, Oracle.
All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit
Production
With the Partitioning, Automatic Storage Management, OLAP,
Advanced Analytics
and Real Application Testing options
SQL>
Uživatel se přihlasil bez jména a bez hesla.
Změna hesla uživatele
Viditelné heslo
SQL> alter user tom identified by oracle_4U;
User altered.
Skryté heslo
[oracle@oel64 ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.1.0 Production on Wed Nov 13 20:06:46
2013
Copyright (c) 1982, 2013, Oracle.
All rights reserved.
87 | P a g e
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit
Production
With the Partitioning, Automatic Storage Management, OLAP,
Advanced Analytics
and Real Application Testing options
SQL> passw tom
Changing password for tom
New password:
Retype new password:
Password changed
Dočasná změna hesla
Zjistění původního hesla
SQL> select 'alter user appusr identified by values ' ||
'''' || password || '''' || ';'
from user$ where name='TOM';
2
3
'ALTERUSERAPPUSRIDENTIFIEDBYVALUES'||''''||PASSWORD||''''||';'
------------------------------------------------------------------------------alter user appusr identified by values 'CDBB49AF6D590ED7';
Dočasná změna
SQL> alter user tom identified by oracle;
User altered.
SQL> connect tom/oracle
Connected.
Navrácení původního
SQL> connect / as sysdba
88 | P a g e
Connected.
SQL> alter user tom identified by values 'CDBB49AF6D590ED7';
User altered.
Přesun dat – datová pumpa
Datová pumpa - Export
Vytvoření objektu directory
SQL> create directory dpump_dir as '/backup/oradmp';
Directory created.
Adresář musí existovat i na OS.
[oracle@oel64 /]$ ls -ltr /backup/oradmp/
total 0
SQL> select owner, directory_name, directory_path from
dba_directories
where directory_name='DPUMP_DIR';
OWNER
DIRECTORY_NAME
DIRECTORY_PATH
----------------------------------------------------------------SYS
DPUMP_DIR
/backup/oradmp
Defaultně je ve verzi 12c celá řada již vytvořených objektů directory. Pro datovou pumpu
je to adresář $ORACLE_BASE/admin/SID/dpdump.
SQL> select DIRECTORY_NAME, DIRECTORY_PATH from dba_directories;
DIRECTORY_NAME
DIRECTORY_PATH
----------------------------------------------------------------DATA_PUMP_DIR
/u01/app/oracle/admin/orcl12c/dpdump/
Přiřazení oprávnění
Vyberte si libovolného uživatele, kterému přiřadíte oprávnění.
SQL> grant read, write on directory DPUMP_DIR to tom;
89 | P a g e
Grant succeeded.
Příprava testových dat
SQL> show user
USER is "TOM"
SQL> create table test (id number);
Table created.
SQL> insert into test values(123);
1 row created.
SQL> commit;
Commit complete.
Vlastní export
[oracle@oel64 ~]$ expdp tom/oracle_4U directory=dpump_dir
tables=test dumpfile=exp.dmp logfile=exp.log
Export: Release 12.1.0.1.0 - Production on Thu Nov 14 18:06:15
2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates.
rights reserved.
All
Connected to: Oracle Database 12c Enterprise Edition Release
12.1.0.1.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP,
Advanced Analytics
and Real Application Testing options
Starting "TOM"."SYS_EXPORT_TABLE_01": tom/********
directory=dpump_dir tables=test dumpfile=exp.dmp logfile=exp.log
Estimate in progress using BLOCKS method...
90 | P a g e
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 64 KB
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type
TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER
. . exported "TOM"."TEST"
1 rows
5.023 KB
Master table "TOM"."SYS_EXPORT_TABLE_01" successfully
loaded/unloaded
*****************************************************************
*************
Dump file set for TOM.SYS_EXPORT_TABLE_01 is:
/backup/oradmp/exp.dmp
Job "TOM"."SYS_EXPORT_TABLE_01" successfully completed at Thu Nov
14 18:06:46 2013 elapsed 0 00:00:25
Ověření
[oracle@oel64 ~]$ ls -ltr /backup/oradmp/
total 136
-rw-r-----. 1 oracle dba 135168 Nov 14 18:06 exp.dmp
-rw-r--r--. 1 oracle dba
1201 Nov 14 18:06 exp.log
Datová pumpa - Import
Smazání tabulky
SQL> drop table test purge;
Table dropped.
SQL> select * from tom.test;
select * from tom.test
*
ERROR at line 1:
ORA-00942: table or view does not exist
91 | P a g e
Vlastní import
[oracle@oel64 ~]$ impdp tom/oracle_4U directory=dpump_dir
tables=test dumpfile=exp.dmp logfile=exp.log
Import: Release 12.1.0.1.0 - Production on Thu Nov 14 18:12:08
2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates.
rights reserved.
All
Connected to: Oracle Database 12c Enterprise Edition Release
12.1.0.1.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP,
Advanced Analytics
and Real Application Testing options
Master table "TOM"."SYS_IMPORT_TABLE_01" successfully
loaded/unloaded
Starting "TOM"."SYS_IMPORT_TABLE_01": tom/********
directory=dpump_dir tables=test dumpfile=exp.dmp logfile=exp.log
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
. . imported "TOM"."TEST"
1 rows
5.023 KB
Processing object type
TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER
Job "TOM"."SYS_IMPORT_TABLE_01" successfully completed at Thu Nov
14 18:12:27 2013 elapsed 0 00:00:18
Ověření
SQL>
select * from tom.test;
ID
---------123
92 | P a g e
Datová pumpa - parametrický soubor
Příprava
[oracle@oel64 ~]$ pwd
/home/oracle
[oracle@oel64 ~]$ cat exp.par
userid=tom/oracle_4U
directory=dpump_dir
dumpfile=exp.dmp
logfile=exp.log
tables=test
reuse_dumpfiles=y
Použití
[oracle@oel64 ~]$ expdp parfile=/home/oracle/exp.par
Export: Release 12.1.0.1.0 - Production on Thu Nov 14 18:16:06
2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates.
rights reserved.
All
Connected to: Oracle Database 12c Enterprise Edition Release
12.1.0.1.0 - 64bit Pro
duction
With the Partitioning, Automatic Storage Management, OLAP,
Advanced Analytics
and Real Application Testing options
Starting "TOM"."SYS_EXPORT_TABLE_01":
parfile=/home/oracle/exp.par
tom/********
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 64 KB
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type
TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER
93 | P a g e
. . exported "TOM"."TEST"
1 rows
5.023 KB
Master table "TOM"."SYS_EXPORT_TABLE_01" successfully
loaded/unloaded
*****************************************************************
*************
Dump file set for TOM.SYS_EXPORT_TABLE_01 is:
/backup/oradmp/exp.dmp
Job "TOM"."SYS_EXPORT_TABLE_01" successfully completed at Thu Nov
14 18:16:20 2013
elapsed 0 00:00:12
Sledování a ladění
Statspack
Vytvoření tablespace
SQL> CREATE TABLESPACE perfstat
DATAFILE '+DATA' SIZE 1000M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K
SEGMENT SPACE MANAGEMENT AUTO
PERMANENT
ONLINE;
2
3
4
5
6
Tablespace created.
Vlastní instalace
SQL> @$ORACLE_HOME/rdbms/admin/spcreate.sql
Choose the PERFSTAT user's password
----------------------------------Not specifying a password will result in the installation FAILING
Enter value for perfstat_password: oracle
oracle
Choose the Default tablespace for the PERFSTAT user
94 | P a g e
--------------------------------------------------Below is the list of online tablespaces in this database which
can
store user data.
Specifying the SYSTEM tablespace for the user's
default tablespace will result in the installation FAILING, as
using SYSTEM for performance data is not supported.
Choose the PERFSTAT users's default tablespace.
tablespace
This is the
in which the STATSPACK tables and indexes will be created.
TABLESPACE_NAME
TABLESPACE
CONTENTS
STATSPACK DEFAULT
------------------------------ --------- --------------------------EXAMPLE
PERMANENT
PERFSTAT
PERMANENT
SYSAUX
PERMANENT *
USERS
PERMANENT
Pressing <return> will result in STATSPACK's recommended default
tablespace (identified by *) being used.
Enter value for default_tablespace: PERFSTAT
Using tablespace PERFSTAT as PERFSTAT default tablespace.
Choose the Temporary tablespace for the PERFSTAT user
----------------------------------------------------Below is the list of online tablespaces in this database which
can
store temporary data (e.g. for sort workareas).
SYSTEM
Specifying the
tablespace for the user's temporary tablespace will result in the
95 | P a g e
installation FAILING, as using SYSTEM for workareas is not
supported.
Choose the PERFSTAT user's Temporary tablespace.
TABLESPACE_NAME
TABLESPACE
CONTENTS
DB DEFAULT TEMP
------------------------------ --------- ------------------------TEMP
TEMPORARY *
Pressing <return> will result in the database's default Temporary
tablespace (identified by *) being used.
Enter value for temporary_tablespace: TEMP
Using tablespace TEMP as PERFSTAT temporary tablespace.
... Creating PERFSTAT user
..
SQL> set echo off;
Creating Package STATSPACK...
Package created.
No errors.
Creating Package Body STATSPACK...
Package body created.
No errors.
NOTE:
96 | P a g e
SPCPKG complete. Please check spcpkg.lis for any errors.
Kontrola nastavení sběru informací
SQL> column SNAP_LEVEL format 99;
column DESCRIPTION format a60;
select SNAP_LEVEL, DESCRIPTION from stats$level_description ORDER
BY snap_level;SQL> SQL>
SNAP_LEVEL DESCRIPTION
---------- ----------------------------------------------------------0 This level captures general statistics, including
rollback segment, row cache, SGA, system events, background
events, session events, system statistics, wait statistics, lock
statistics, and Latch information
5 This level includes capturing high resource usage SQL
Statements, along with all data captured by lower levels
6 This level includes capturing SQL plan and SQL plan
usage in formation for high resource usage SQL Statements, along
with all data captured by lower levels
7 This level captures segment level statistics,
including logical and physical reads, row lock, itl and buffer
busy waits,along with all data captured by lower levels
10 This level includes capturing Child Latch statistics,
along with all data captured by lower levels
Nebo se může nastavení rovnou změnit. Defaultní level je 5.
SQL> exec statspack.snap(i_snap_level => 6, i_modify_parameter =>
'true');
PL/SQL procedure successfully completed.
Výpis dostupných snapshotů
SQL> select
name,snap_id,to_char(snap_time,'DD.MM.YYYY:HH24:MI:SS')
97 | P a g e
"Date/Time" from stats$snapshot,v$database;
2
NAME
SNAP_ID Date/Time
--------- ---------- ------------------ORCL12C
1 03.12.2013:12:42:01
1 row selected.
Vygenerování nového snapshotu.
SQL> exec statspack.snap;
PL/SQL procedure successfully completed.
SQL> select
name,snap_id,to_char(snap_time,'DD.MM.YYYY:HH24:MI:SS')
"Date/Time" from stats$snapshot,v$database;
2
NAME
SNAP_ID Date/Time
--------- ---------- ------------------ORCL12C
1 03.12.2013:12:42:01
ORCL12C
2 03.12.2013:12:44:44
2 rows selected.
Vygenerování reportu.
SQL> @?/rdbms/admin/spreport.sql
Instances in this Statspack schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id
Inst Num DB Name
Instance
Host
----------- -------- ------------ ------------ -----------661781458
1 ORCL12C
orcl12c
oel64.locald
omain
Using
661781458 for database Id
98 | P a g e
Using
1 for instance number
Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed.
Pressing <return> without
specifying a number lists all completed snapshots.
Listing all Completed Snapshots
Snap
Instance
Comment
DB Name
Snap Id
Snap Started
Level
------------ ------------ --------- ----------------- ----- ------------------orcl12c
ORCL12C
1 03 Dec 2013 12:42
6
2 03 Dec 2013 12:44
6
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 1
Begin Snapshot Id specified: 1
Enter value for end_snap: 2
End
Snapshot Id specified: 2
Specify the Report Name
99 | P a g e
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is sp_1_2.
To use this name,
press <return> to continue, otherwise enter an alternative.
Enter value for report_name: orcl12c_1_to_2
Using the report name orcl12c_1_to_2
STATSPACK report for
Database
Release
DB Id
RAC
Instance
Inst Num
Startup Time
~~~~~~~~ ----------- ------------ -------- --------------- ---------- --661781458 orcl12c
12.1.0.1.0 NO
Host Name
Memory (G)
1 03-Dec-13 09:05
Platform
CPUs Cores Sockets
~~~~ ---------------- ---------------------- ----- ----- -----------------oel64.localdomai Linux x86 64-bit
1
0
0
5.7
Snapshot
Comment
Snap Id
Snap Time
Sessions Curs/Sess
~~~~~~~~
---------- ------------------ -------- --------- ----------------Begin Snap:
1 03-Dec-13 12:42:01
44
1.9
End Snap:
2 03-Dec-13 12:44:44
44
1.9
Elapsed:
2.72 (mins) Av Act Sess:
0.0
DB time:
0.03 (mins)
0.01 (mins)
DB CPU:
Report v textové formě
SQL> exit
[oracle@oel64 ~]$ ls -ltr
total 172
100 | P a g e
-rw-r--r--. 1 oracle oinstall
2298 Dec
3 12:34 spcusr.lis
-rw-r--r--. 1 oracle oinstall
5515 Dec
3 12:34 spctab.lis
-rw-r--r--. 1 oracle oinstall
195 Dec
3 12:34 spcpkg.lis
-rw-r--r--. 1 oracle oinstall 116332 Dec
orcl12c_1_to_2.lst
3 12:46
Kolik archívní logu se generuje denně?
SQL> select trunc(COMPLETION_TIME) TIME, SUM(BLOCKS *
BLOCK_SIZE)/1024/1024 SIZE_MB from V$ARCHIVED_LOG group by trunc
(COMPLETION_TIME) order by 1;
TIME
SIZE_MB
--------- ---------07-JAN-14
3410.4502
08-JAN-14 10859.6255
09-JAN-14 7077.77783
10-JAN-14 8596.42627
11-JAN-14
1038.9624
12-JAN-14 1134.88135
13-JAN-14 13907.3379
14-JAN-14 11684.2139
15-JAN-14 8747.70459
16-JAN-14 13425.0083
17-JAN-14 8375.43604
Co obsahuje kontrolní soubor?
Nejdříve si nastavte debug mód.
SQL> oradebug setmypid
Statement processed.
SQL> oradebug unlimit
Statement processed.
SQL> alter session set events 'immediate trace name controlf
level 9';
Session altered.
101 | P a g e
SQL> select value from v$diag_info where name='Diag Trace';
VALUE
------------------------------------------------------------------------------/u01/app/oracle/diag/rdbms/orcl12c/orcl12c/trace
Následně se pak můžete podívat na obsah kontrolního souboru.
[oracle@oel64 trace]$ vi orcl12c_ora_3246.trc
*****************************************************************
**********
DATABASE ENTRY
*****************************************************************
**********
(size = 316, compat size = 316, section max = 1, section in-use
= 1,
last-recid= 0, old-recno = 0, last-recno = 0)
(extent = 1, blkno = 1, numrecs = 1)
11/12/2013 10:06:10
DB Name "ORCL12C"
Database flags = 0x00404001 0x00001200
Controlfile Creation Timestamp
11/12/2013 10:06:10
Incmplt recovery scn: 0x0000.00000000
Resetlogs scn: 0x0000.0022258b Resetlogs Timestamp
10:23:53
12/12/2013
Prior resetlogs scn: 0x0000.001a3f12 Prior resetlogs Timestamp
11/12/2013 10:06:12
Redo Version: compatible=0xc100000
#Data files = 6, #Online files = 6
Database checkpoint: Thread=1 scn: 0x0000.00250c9a
Threads: #Enabled=1, #Open=1, Head=1, Tail=1
Zjištění počet log switch
SQL> select count(*),to_char(first_time,'YYYY:MM:DD:HH24')
from v$log_history
102 | P a g e
group by to_char(first_time,'YYYY:MM:DD:HH24')
order by 2;
2
3
4
COUNT(*) TO_CHAR(FIRST
---------- ------------10 2013:11:12:10
1 2013:11:12:12
3 2013:11:12:13
1 2013:11:13:08
1 2013:11:13:14
1 2013:11:13:16
Na základě frekvence logswitch se určuje optimální velikost redo logu.
Nebo lze nastavit velikost dle doporučení.
SQL>
select optimal_logfile_size from v$instance_recovery;
OPTIMAL_LOGFILE_SIZE
-------------------62
Nové vlastnosti 12c
Multitenant
Vytvoření pluggable databáze pomocí DBCA
103 | P a g e
104 | P a g e
105 | P a g e
106 | P a g e
107 | P a g e
108 | P a g e
109 | P a g e
Přesun datového souboru online
SQL> SET LINESIZE 100
SQL> COLUMN name FORMAT A70
SQL> SELECT file#, name FROM v$datafile WHERE con_id = 1 ORDER BY
file#;
FILE# NAME
---------- --------------------------------------------------------------------1 /oradata/CDB/datafile/o1_mf_system_9jp9no1k_.dbf
3 /oradata/CDB/datafile/o1_mf_sysaux_9jp9lxst_.dbf
4 /oradata/CDB/datafile/o1_mf_undotbs1_9jp9pqcs_.dbf
6 /oradata/CDB/datafile/o1_mf_users_9jp9pp7g_.dbf
110 | P a g e
SQL> alter database move datafile
'/oradata/CDB/datafile/o1_mf_users_9jp9pp7g_.dbf' to
'/oradata/CDB/datafile/users.dbf';
Database altered.
SQL> SELECT file#, name FROM v$datafile WHERE con_id = 1 ORDER BY
file#;
FILE# NAME
---------- --------------------------------------------------------------------1 /oradata/CDB/datafile/o1_mf_system_9jp9no1k_.dbf
3 /oradata/CDB/datafile/o1_mf_sysaux_9jp9lxst_.dbf
4 /oradata/CDB/datafile/o1_mf_undotbs1_9jp9pqcs_.dbf
6 /oradata/CDB/datafile/users.dbf
Alert.log
Mon Feb 24 12:49:24 2014
alter database move datafile
'/oradata/CDB/datafile/o1_mf_users_9jp9pp7g_.dbf' to
'/oradata/CDB/datafile/users.dbf'
Mon Feb 24 12:49:24 2014
Moving datafile /oradata/CDB/datafile/o1_mf_users_9jp9pp7g_.dbf
(6) to /oradata/CDB/datafile/users.dbf
Move operation committed for file /oradata/CDB/datafile/users.dbf
Completed: alter database move datafile
'/oradata/CDB/datafile/o1_mf_users_9jp9pp7g_.dbf' to
'/oradata/CDB/datafile/users.dbf'
Informace o posledním přihlášení uživatele
[oel64:oracle:orcl12c]$ sqlplus tom/oracle_4U
111 | P a g e
SQL*Plus: Release 12.1.0.1.0 Production on Mon Feb 24 14:51:45
2014
Copyright (c) 1982, 2013, Oracle.
All rights reserved.
Last Successful login time: Mon Feb 24 2014 14:48:39 +01:00
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit
Production
With the Partitioning, OLAP, Advanced Analytics and Real
Application Testing options
SQL>
Případně to lze vypnout.
[oel64:oracle:orcl12c]$ sqlplus -nologintime tom/oracle_4U
SQL*Plus: Release 12.1.0.1.0 Production on Mon Feb 24 14:55:32
2014
Copyright (c) 1982, 2013, Oracle.
All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit
Production
With the Partitioning, OLAP, Advanced Analytics and Real
Application Testing options
SQL>
Vytvoření COMMON uživatele
SQL> show con_name
CON_NAME
112 | P a g e
-----------------------------CDB$ROOT
SQL> create user test identified by test;
create user test identified by test
*
ERROR at line 1:
ORA-65096: invalid common user or role name
SQL> select PDB from v$services;
PDB
-----------------------------PDB2
PDB1
CDB$ROOT
CDB$ROOT
CDB$ROOT
CDB$ROOT
6 rows selected.
SQL> create user c##test identified by test;
User created.
SQL> select username from dba_users where username like '%TEST%';
USERNAME
------------------------------------------------------------------------------C##TEST
Jak získat informace o stavu CDB a PDB
Jsem připojený do kontejnéru?
SQL> SELECT CDB FROM V$DATABASE;
113 | P a g e
CDB
--YES
Jaké exitují containers?
SQL> COLUMN NAME FORMAT A8
SELECT NAME, CON_ID, DBID, CON_UID, GUID FROM V$CONTAINERS ORDER
BY CON_ID;
NAME
CON_ID
DBID
CON_UID GUID
-------- ---------- ---------- ---------- ------------------------------CDB$ROOT
1 1956973310
DD7C48AA5A4504A2E04325AAE80A403C
1
PDB$SEED
2 4083010677 4083010677
F325F1E44F791113E0430A00000A00E6
PDB1
3 3348106321 3348106321
F32619B76F171AC4E0430A00000AD790
PDB2
4 3906668867 3906668867
F3262BF293A81BE0E0430A00000ACB00
Jaké existují PDB?
SQL> COLUMN PDB_NAME FORMAT A15
SELECT PDB_ID, PDB_NAME, STATUS FROM DBA_PDBS ORDER BY
PDB_ID;SQL> SQL>
PDB_ID PDB_NAME
STATUS
---------- --------------- ------------2 PDB$SEED
NORMAL
3 PDB1
NORMAL
4 PDB2
NORMAL
Nebo
SQL> show pdbs
CON_ID CON_NAME
OPEN MODE
RESTRICTED
114 | P a g e
---------- ------------------------------ ---------- ---------2 PDB$SEED
READ ONLY
NO
3 PDB1
MOUNTED
4 PDB2
READ WRITE NO
V jakém stavu jsou PDB?
SQL> COLUMN NAME FORMAT A15
COLUMN RESTRICTED FORMAT A10
COLUMN OPEN_TIME FORMAT A30
SELECT NAME, OPEN_MODE, RESTRICTED, OPEN_TIME FROM V$PDBS;SQL>
SQL> SQL> SQL>
NAME
OPEN_MODE
RESTRICTED OPEN_TIME
--------------- ---------- ---------- ----------------------------PDB$SEED
READ ONLY
NO
24-FEB-14 07.15.58.575 PM
PDB1
MOUNTED
PDB2
READ WRITE NO
24-FEB-14 07.25.47.944 PM
Vytvoření local uživatele v PDB
SQL> alter session set container=PDB2;
Session altered.
SQL> show con_name
CON_NAME
-----------------------------PDB2
SQL> create user test identified by test;
create user test identified by test
*
ERROR at line 1:
ORA-01109: database not open
115 | P a g e
SQL> alter pluggable database PDB2 open read write;
Pluggable database altered.
SQL> show con_name
CON_NAME
-----------------------------PDB2
SQL> create user test identified by test;
User created.
SQL> select username from dba_users where username like '%TEST%';
USERNAME
------------------------------------------------------------------------------C##TEST
TEST
SQL*Loader Express
SQL> connect tom/oracle_4U
Connected.
SQL> create table zamestnanci (id integer primary key, jmeno
varchar2(10));
Table created.
[oel64:oracle:orcl12c]$ cat zamestnanci.dat
1, Tom
2, Matej
3, Tomik
4, Jaroslava
116 | P a g e
5, Pepa
6, Katka
Import
[oel64:oracle:orcl12c]$ sqlldr tom/oracle_4U TABLE=zamestnanci
SQL*Loader: Release 12.1.0.1.0 - Production on Mon Feb 24
20:00:52 2014
Copyright (c) 1982, 2013, Oracle and/or its affiliates.
rights reserved.
All
Express Mode Load, Table: ZAMESTNANCI
Path used:
External Table, DEGREE_OF_PARALLELISM=AUTO
SQL*Loader-816: error creating temporary directory object
SYS_SQLLDR_XT_TMPDIR_00000 for file zamestnanci.dat
ORA-01031: insufficient privileges
SQL*Loader-579: switching to direct path for the load
SQL*Loader-583: ignoring trim setting with direct path, using
value of LDRTRIM
SQL*Loader-584: ignoring DEGREE_OF_PARALLELISM setting with
direct path, using value of NONE
Express Mode Load, Table: ZAMESTNANCI
Path used:
Direct
Load completed - logical record count 6.
Table ZAMESTNANCI:
6 Rows successfully loaded.
Check the log file:
zamestnanci.log
for more information about the load.
Kontrola
[oel64:oracle:orcl12c]$ sqlplus tom/oracle_4U
117 | P a g e
SQL*Plus: Release 12.1.0.1.0 Production on Mon Feb 24 20:04:12
2014
Copyright (c) 1982, 2013, Oracle.
All rights reserved.
Last Successful login time: Mon Feb 24 2014 20:00:52 +01:00
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit
Production
With the Partitioning, OLAP, Advanced Analytics and Real
Application Testing options
SQL> select * from zamestnanci;
ID JMENO
---------- ---------1
Tom
2
Matej
3
Tomik
4
Jaroslava
5
Pepa
6
Katka
6 rows selected.
Identity columns
Uživatel musí mít právo create sequence.
SQL> grant create sequence to tom;
Grant succeeded.
Definovaná automatická vazba mezi primary key a sequenci
118 | P a g e
SQL> create table pom (id number generated by default as identity
(start with 1 increment by 1) primary key, text varchar2(50));
Table created.
SQL> insert into pom (text) values ('sql kurzy');
1 row created.
SQL> commit;
Commit complete.
SQL> select * from pom;
ID TEXT
---------- -------------------------------------------------1 sql kurzy
Kontrola
SQL> column object_name format a15;
SQL> column object_type
format a15;
SQL> select object_name, object_type from user_objects;
OBJECT_NAME
OBJECT_TYPE
--------------- --------------ZAMESTNANCI
TABLE
SYS_C0010194
INDEX
POM
TABLE
SYS_C0010200
INDEX
ISEQ$$_93149
SEQUENCE
6 rows selected.
119 | P a g e
SQL> drop table pom;
Table dropped.
SQL> connect / as sysdba
Connected.
SQL> select object_name, object_type from dba_objects where owner
= 'TOM';
OBJECT_NAME
OBJECT_TYPE
--------------- --------------ISEQ$$_93146
SEQUENCE
ISEQ$$_93143
SEQUENCE
SYS_C0010194
INDEX
ZAMESTNANCI
TABLE
Sekvence zůstává i po smazání kvůli možnému restore. Musí se smazat i recycle bin.
SQL> purge dba_recyclebin;
DBA Recyclebin purged.
SQL> select object_name, object_type from dba_objects where owner
= 'TOM';
OBJECT_NAME
OBJECT_TYPE
--------------- --------------SYS_C0010194
INDEX
ZAMESTNANCI
TABLE
In database row archiving
Jedná se o způsob jak archivovat řádky, aniž bysme je museli odmazávat. Zůstavají
v tabulce, ale aplikace s nimi nepracuje. Nicméně je můžeme kdykoli pomocí změny
jednoho atributu zviditelnit.
120 | P a g e
Založení tabulky
SQL> create table zam (id integer primary key, jmeno varchar2(10),
hist_date date);
Table created.
SQL> insert into zam (id, jmeno) values (1,'Tom');
1 row created.
SQL> insert into zam (id, jmeno) values (2,'Matej');
1 row created.
SQL> commit;
Commit complete.
SQL>
SQL> select * from zam;
ID JMENO
HIST_DATE
---------- ---------- --------1 Tom
2 Matej
Zapnutí archivování na tabulce
Objeví se nový sloupec, který říka zda-li sloupec viditelný nebo ne.
SQL> alter table zam row archival;
Table altered.
SQL> select id, jmeno, ora_archive_state from zam;
121 | P a g e
ID JMENO
ORA_ARCHIVE_STATE
---------- ---------- ----------------1 Tom
0
2 Matej
0
Archivováni řádku
SQL> update zam set
ora_archive_state=dbms_ilm.archivestatename(1), hist_date=sysdate
where id=2;
1 row updated.
SQL> commit;
Commit complete.
SQL> select * from zam;
ID JMENO
HIST_DATE
---------- ---------- --------1 Tom
Změna viditelnosti na všechny řádky
SQL> alter session set row archival visibility = all;
Session altered.
SQL> select * from zam;
ID JMENO
HIST_DATE
---------- ---------- --------1 Tom
2 Matej
25-FEB-14
122 | P a g e
SQL> alter session set row archival visibility = active;
Session altered.
SQL> select * from zam;
ID JMENO
HIST_DATE
---------- ---------- --------1 Tom
Řádek existuje a přidání nového záznamu je zamezeno díky constraintu.
SQL> insert into zam (id, jmeno) values (2,'Franta');
insert into zam (id, jmeno) values (2,'Franta')
*
ERROR at line 1:
ORA-00001: unique constraint (TOM.SYS_C0010202) violated
SQL> alter session set row archival visibility = all;
Session altered.
Řadek změněn na viditelný
SQL> update zam set
ora_archive_state=dbms_ilm.archivestatename(0), hist_date=sysdate
where id=2;
1 row updated.
SQL> commit;
Commit complete.
SQL>
alter session set row archival visibility = active;
123 | P a g e
Session altered.
SQL> select * from zam;
ID JMENO
HIST_DATE
---------- ---------- --------1 Tom
2 Matej
25-FEB-14
SQL>
Invisible column
Založíme tabulku
SQL> create table pom (x int, y int);
Table created.
SQL> insert into pom values ( 10, 20 );
1 row created.
Přídáme neviditelný sloupec
SQL> alter table pom add ( inv int INVISIBLE );
Table altered.
Není viditelný přes DESCRIBE.
SQL> desc pom
Name
Null?
Type
----------------------------------------- -------- --------------------------X
NUMBER(38)
Y
NUMBER(38)
Ani se do něj nevkládají záznamy.
124 | P a g e
SQL> insert into pom values ( 13, 14 );
1 row created.
SQL> select * from pom;
X
Y
---------- ---------10
20
13
14
Vložit do něj lze pouze při jeho uvedeni v příkazu INSERT
SQL> insert into pom (x,y,inv) values ( 100, 200,300 );
1 row created.
Nebo při pojmenování v SELECTu.
SQL> select x,y,inv from pom;
X
Y
INV
---------- ---------- ---------10
20
13
14
100
200
300
SQL>
Změna na visible
SQL> alter table pom modify inv visible;
Table altered.
A vše funguje normálně.
SQL> select * from pom;
125 | P a g e
X
Y
INV
---------- ---------- ---------10
20
13
14
100
200
300
Obnova tabulky z RMANa (12c)
Všechny logy jsou na webu http://www.tomas-solar.com/blog/obnova-tabulky-rmanaoracle-12c/
Tabulka
SQL> show user
USER is "TOM"
SQL> select * from zam;
ID JMENO
HIST_DATE
---------- ---------- --------1 Tom
2 Matej
SQL> select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
-----------------------2077404
SQL> drop table zam;
Table dropped.
SQL> purge table zam;
Table purged.
126 | P a g e
Flashback nelze použít
SQL> flashback table reco to before drop;
flashback table reco to before drop
*
ERROR at line 1:
ORA-38305: object not in RECYCLE BIN
Obnova z RMANa
RMAN> recover table tom.zam until scn 2077404 auxiliary
destination '/u02/fra';
Vytvoření dočasné instance
Starting recover at 26-FEB-14
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=53 device type=DISK
RMAN-05026: WARNING: presuming following set of tablespaces
applies to specified Point-in-Time
List of tablespaces expected to have UNDO segments
Tablespace SYSTEM
Tablespace UNDOTBS1
Creating automatic instance, with SID='etsm'
initialization parameters used for automatic instance:
db_name=ORCL12C
db_unique_name=etsm_pitr_ORCL12C
Export tabulky z dočasné instance
EXPDP> . . exported "TOM"."ZAM"
5.898 KB
2 rows
EXPDP> Master table "SYS"."TSPITR_EXP_etsm_eoom" successfully
loaded/unloaded
Import tabulky do původní databáze
IMPDP> . . imported "TOM"."ZAM"
5.898 KB
2 rows
127 | P a g e
IMPDP> Processing object type
TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
IMPDP> Processing object type
TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
IMPDP> Processing object type
TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
IMPDP> Processing object type
TABLE_EXPORT/TABLE/STATISTICS/MARKER
IMPDP> Job "SYS"."TSPITR_IMP_etsm_lDgp" successfully completed
at Wed Feb 26 10:29:01 2014 elapsed 0 00:00:14
Import completed
Odstranění dočasné instance
Removing automatic instance
Automatic instance removed
Kontrola
SQL> select * from zam;
ID JMENO
HIST_DATE
---------- ---------- --------1 Tom
2 Matej
Obnova tabulky do jiné pomocí RMAN
RMAN> recover table 'TOM'.'zam' until scn 2077404 auxiliary
destination '/u02/fra' REMAP TABLE 'TOM'.'zam':'zam_obnova';
Starting recover at 26-FEB-14
using channel ORA_DISK_1
RMAN-05026: WARNING: presuming following set of tablespaces
applies to specified Point-in-Time
List of tablespaces expected to have UNDO segments
Tablespace SYSTEM
Tablespace UNDOTBS1
128 | P a g e
Creating automatic instance, with SID='BaEE'
initialization parameters used for automatic instance:
db_name=ORCL12C
Doporučení:
Provozujete Vy nebo Vaši klienti databáze Oracle?
Mou primární oblastí je správa databází, konzultace a školení.
Velmi rád s Vami bud spolupracovat. Kontaktujte me a můžeme si možnostech
spolupráce pohovořit.
Dotazy:
Máte dotazy k daným příkládům nebo máte námět na jiné příklady?
Zajimá vás jiná oblast? Napiště mi na [email protected]
Webináře:
Na webu www.tomas-solar.com máte k dispozi seznam webinářů, které proběhly nebo se
chystají. Věřím, že témata pro Vás budou zajimavá a kdyby přece jen nebyla, napište mě,
co Vás zajímá?
Workshopy:
Chtěli byste se účastit některého z jednodenních workshopů nebo máte námět na
speciální školení? Napiště mi na [email protected]
Jste DBA?
Zaregistrujte se na komunitním webu http://database-administrator.com/
Hledáte další informace? Pak navštivte můj web http://www.tomas-solar.com/
129 | P a g e
Těším se na Vaše dotazy a brzy pošlu další pokračování.
Pěkný den
Tomáš Solař
130 | P a g e

Podobné dokumenty

Osteoporóza

Osteoporóza Bringhurst FR, et al. Harrison’s Principles of Internal Medicine. 16th ed. 2005:2238-2249. Lindsay R, et al. Treatment of the Postmenopausal Woman: Basic and Clinical Aspects. 2nd ed. 1999:305-314.

Více

databázový server firebird instalace,konfigurace

databázový server firebird instalace,konfigurace V rámci FB je použit způsob zabezpečení na úrovni databázového serveru – jednotlivé databáze neobsahují žádné dodatečné informace o uživatelských účtech, z čehož vyplývá požadavek na zabezpečení fy...

Více

PostgreSQL ve verzi 9.2, 9.3 a 9.4 SQL

PostgreSQL ve verzi 9.2, 9.3 a 9.4 SQL sloučí řádky (a zároveň odstraní případné duplicitní řádky). Podmínkou je stejný počet sloupců a konvertibilní datové typy slučovaných relací.

Více

Instalační příručce Oracle pro Linux

Instalační příručce Oracle pro Linux INSTALACE ORACLE LISTENERU Pro správný běh Oracle je třeba mít naistalovánu a spuštěnu službu Listener. Listener lze vytvořit pomocí nástroje Oracle Net Configuration Assistant, který vyvoláme pom...

Více

Untitled

Untitled 2. Pokud je hledání programů ukončeno, objeví se následující zpráva (s počtem nalezených programů a rádií). Posuňte kurzor na “OK” a stiskněte tlačítko “OK” pro uložení změn.

Více

Automatic Storage Management (ASM)

Automatic Storage Management (ASM)  ASM dokáže pracovat i s jejími částmi (např. jemnější striping používá 128 KB bloky) soubory rozděleny na bloky této velikosti a umístěny na disky dle nastavené politiky (striping, mirroring…) do...

Více

Novinky databáze Oracle 12c

Novinky databáze Oracle 12c Novinek je dost a pravděpodobně vznikne ještě pokračování, protože do 1h nejsem schopen pojmout vše. Některé příklady jsou a budou určitě v EBOOKu. Sledujte stránku webinářu, kde se objevují nově p...

Více

Příklad

Příklad b) poziční soubory s pevnou šířkou Ve starších verzích Oracle je nebylo možné upravovat, bylo možné se na ně jen dotazovat. Nemohou být indexovány, neboť pro řádky neexistují žádné hodnoty ROWID. V...

Více