seminář: Administrace Oracle (NDBI013) LS2017/18 RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague
Automatic Storage Management Automatická Správa Úložiště Integrovaný souborový systém a správce disků pro databázi Oracle. Způsob jak zjednodušit administraci. Součast Oracle od verze 10g. M. Kopecký NDBI013 2
M. Kopecký NDBI013 3
Rozděluje všechna dostupná úložiště do tzv. disk groups (= diskových skupin). Odstraňuje potřebu přímé správy souborů, kterých může být potenciálně mnoho. Administrátor spravuje pouze malou množinu diskových skupin. O fyzickém umístění souborů rozhoduje ASM. M. Kopecký NDBI013 4
Mirroring duplikace na úrovni extentů 2-way mirroring (2 ekvivlentní kopie) 3-way mirroring (3 ekvivlentní kopie) unprotected (zabezpečení provadi subsystém disku - RAID) Striping rozložení souboru na více disků rychlejší přístup Balancing umožňuje měnit konfiguraci úložišť za běhu databáze. Při připojení či odpojení disku rovnoměrně přeuspořádá data na discích. Failover mechanismy Hot spare M. Kopecký NDBI013 5
Jména souborů jsou automaticky generována Je možné vytvářet jejich aliasy Failure group = skupina disků, které mohou selhat současně (například proto, že jsou na stejném řadiči). Pro 2-way mirroring je potřeba 2 failure groups M. Kopecký NDBI013 6
Podpora velkých souborů (15-140 PB dle redundance; bez ASM jen 128 TB) Téměř neomezená disková kapacita v jedné ASM instanci může běžet až 63 diskových skupin 1 milión souborů v každé z nich 10 000 disků, každý s kapacitou až 4 PB 40 exabytů celkem = 40 000 000 TB Malá režie stačí 64 MB na instanci ASM M. Kopecký NDBI013 7
Podpora RAC (= Real Application Cluster) Komponenta, jež umožňuje, aby nad jednou sadou dat běželo více instancí, na které se rozloží výpočetní zátěž, aniž by bylo třeba upravit aplikaci. M. Kopecký NDBI013 8
ASM je spravována pomoci ASM instance Jedna ASM instance může spravovat jednu, nebo vice databázi na jednom serveru. Každá disková skupina může byt sdílená mezi všemi databázemi na serveru. Při použiti RAC na každé stanici běží ASM instance. Komunikace mezi ASM instance je peer-to-peer. Interoperabilita s existujicimi databazemi Nové soubory jsou vytvářeny jako ASM soubory, staré jsou spravovány jako dříve. Databáze mohou používat kombinaci ASM souborů a non- ASM souborů. M. Kopecký NDBI013 9
M. Kopecký NDBI013 10
M. Kopecký NDBI013 11
ASM rozděluje soubory do extentů velikosti 1 AU (Allocation Unit) 1 AU = 1 MB (v Oracle 11g lze nastavit jinak) ASM rozmisťuje extenty rovnoměrně na disky v diskové skupině Při odebrání či přidání disku se přesouvá jen část dat. Pro soubory, které vyžadují malou latenci (např. log-soubory) je možný jemnější stripping (např. 128 kb). M. Kopecký NDBI013 12
Pomoci konzole (SQL*Plus, ) Nebo Oracle Enterprise Manager (EM) Nebo Database Configuration Assistant (DBCA) $ export ORACLE_SID=+ASM $ echo 'INSTANCE_TYPE=ASM' >> /tmp/init+asm.ora $ sqlplus / as sysdba SQL> CREATE SPFILE FROM PFILE='/tmp/init+ASM.ora'; File created. SQL> startup nomount ASM instance started Total System Global Area 125829120 bytes Fixed Size 1301456 bytes Variable Size 124527664 bytes Database Buffers 0 bytes Redo Buffers 0 bytes SQL> shutdown ASM instance shutdown M. Kopecký NDBI013 13
Parametry v PFILE INSTANCE_TYPE povinný říká, že vytvářený objekt bude instance ASM INSTANCE_TYPE = ASM DB_UNIQUE_NAME unikátní jméno ASM instance; default: +ASM, v clusteru se dávají názvy +ASM1, 2 atd. ASM_POWER_LIMIT rychlost přesouvání dat v rámci load balancingu (1-11) ASM_DISKSTRING seznam zařízení (odděleny čárkou), které má ASM objevit; podporovány metaznaky * a? v zápisu; standardně NULL = ASM objeví všechny dostupné disky, na které má R/W práva ASM_DISKGROUPS seznam diskových skupin, které lze připojit; defaultně NULL žádnou nelze REMOTE_LOGIN_PASSWORDFILE soubor s jmény a hesly k ASM M. Kopecký NDBI013 14
CREATE DISKGROUP Úroveň redundance: NORMAL REDUNDANCY 2-way mirroring HIGH REDUNDANCY 3-way mirroring EXTERNAL REDUNDANCY no mirroring, HW mirroring nebo RAID CREATE DISKGROUP disk_group_1 NORMAL REDUNDANCY FAILGROUP failure_group_1 DISK '/dev/sda1' NAME diska1, '/dev/sda2' NAME diska2, FAILGROUP failure_group_2 DISK '/dev/sdb1' NAME diskb1, '/dev/sdb2' NAME diskb2; M. Kopecký NDBI013 15
DROP DISKGROUP DROP DISKGROUP disk_group_1 INCLUDING CONTENTS; M. Kopecký NDBI013 16
ALTER DISKGROUP -- Add disks. ALTER DISKGROUP disk_group_1 ADD DISK '/dev/sdc1' NAME diskc1, '/dev/sdc2' NAME diskc2; -- Drop a disk. ALTER DISKGROUP disk_group_1 DROP DISK diska2; -- Resize a specific disk. ALTER DISKGROUP disk_group_1 RESIZE DISK diska1 SIZE 100G; -- Resize all disks in a failure group. ALTER DISKGROUP disk_group_1 RESIZE DISKS IN FAILGROUP failure_group_1 SIZE 100G; -- Resize all disks in a disk group. ALTER DISKGROUP disk_group_1 RESIZE ALL SIZE 100G; M. Kopecký NDBI013 17
ALTER DISKGROUP ALTER DISKGROUP disk_group_1 UNDROP DISKS; ALTER DISKGROUP ALL DISMOUNT; ALTER DISKGROUP ALL MOUNT; ALTER DISKGROUP disk_group_1 DISMOUNT; ALTER DISKGROUP disk_group_1 MOUNT; M. Kopecký NDBI013 18
Chování diskové skupiny (stripování, mirroring atd.) definováno použitím šablon Kolekce atributů; defaultně sada předpřipravených šablon + možnost vytvořit vlastní viz pohled V$ASM_TEMPLATE M. Kopecký NDBI013 19
Šablony M. Kopecký NDBI013 20 Template name File type External redund. Normal redund. High redund. Striped CONTROL Řídící soubory Unprotecte d 2-way mirror 3-way mirror Fine 128K DATAFILE Datové soubory Unprotecte d 2-way mirror 3-way mirror Coarse 1M ONLINELOG Redo-logy Unprotecte d 2-way mirror 3-way mirror Fine 128K ARCHIVELOG Archiv. redo-logy Unprotecte d 2-way mirror 3-way mirror Coarse 1M TEMPFILE Dočasné soubory Unprotecte d 2-way mirror 3-way mirror Coarse 1M
-- přidání nové šablony ke skupině ALTER DISKGROUP disk_group_1 ADD TEMPLATE reliable ATTRIBUTES (MIRROR FINE); -- změna atributu šablony ALTER DISKGROUP disk_group_1 ALTER TEMPLATE reliable ATTRIBUTES (COARSE); -- zrušení šablony ALTER DISKGROUP disk_group_1 DROP TEMPLATE reliable; M. Kopecký NDBI013 21
-- vytvoření adresáře ALTER DISKGROUP disk_group_1 ADD DIRECTORY '+disk_group_1/mydir'; -- přejmenování adresáře ALTER DISKGROUP disk_group_1 RENAME DIRECTORY '+disk_group_1/mydir TO '+disk_group_1/yourdir'; -- smazání adresáře ALTER DISKGROUP dgroup1 DROP DIRECTORY '+disk_group_1/yourdir' FORCE; Obdobně soubory (FILE) a aliasy M. Kopecký NDBI013 22
-- kontrola metadat ALTER DISKGROUP disk_group_1 CHECK ALL; lze volat na diskové skupiny, FAILURE GROUPs i jednotlivé disky Zjištěné chyby jsou vypsány a opraveny Opravu lze přeskočit přidáním NOREPAIR M. Kopecký NDBI013 23
Parametry: DB_CREATE_FILE_DEST DB_CREATE_ONLINE_LOG_DEST_n DB_RECOVERY_FILE_DEST CONTROL_FILES LOG_ARCHIVE_DEST_n LOG_ARCHIVE_DEST STANDBY_ARCHIVE_DEST M. Kopecký NDBI013 24
Například DB_CREATE_FILE_DEST = '+disk_group_1' DB_RECOVERY_FILE_DEST = '+disk_group_2' DB_RECOVERY_FILE_DEST_SIZE = 10G M. Kopecký NDBI013 25
Vytvoření nového tabulkového prostoru CREATE TABLESPACE tspace1; Přiřazení uživatelům CREATE TABLESPACE tspace1; Přesun existující tabulky, případně indexu ALTER TABLE old_table MOVE TABLESPACE tspace1; ALTER INDEX old_index REBUILD TABLESPACE tspace1; M. Kopecký NDBI013 26