Administrace Oracle
automatická správa úložiště integrovaný správce diskových oddílů a souborových systémů usnadňuje práci s databází na úrovni dat uložených na disku v Oracle od verze 10g (2003) (obdoba v MS SQL?není?, jen aplikace třetích stran např. IBM Tivoli Storage Manager for Databases)
hlavní výhody oproti přímé práci se soubory na disku/discích: ASM ovládáno přímo z databáze pomocí SQL-like syntaxe (ale lze i externími programy) disková úložiště v ASM zařazena do tzv. diskových skupin; o fyzickém umístění souborů rozhoduje ASM administrátor se stará jen o diskové skupiny, ne o soubory (často mnoho)
další výhody: ASM poskytuje (na úrovni alokačních jednotek) striping soubor rozložen na více discích rychlejší přístup mirroring redundance pro případ havárie HW hot spare online přeuspořádávání dat možnost přidávání / odebírání disků za běhu
další výhody: automatický load balancing ASM přeuspořádává data dynamicky tak, aby zatížení disků I/O operacemi bylo rovnoměrné možnost začlenění failover mechanizmů v rámci diskové skupiny lze definovat skupiny disků, v rámci nichž nehrozí při poškození některého z nich ztráta dat
další výhody: podpora extrémně velkých datových souborů (15-140 PB dle redundance; bez ASM jen 128 TB) možnost správy téměř neomezené diskové kapacity 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 X jen s Oracle Exadata Storage
další výhody: malá režie 64 128 MB na instanci ASM možnost začlenění do existujících databází nová data do souborů v ASM, stará lze ponechat mimo ASM / do ASM přesunout možnost běhu distribuovaně v rámci clusteru technologie Oracle Real Application Clusters jedna instance databáze běží distribuovaně na více počítačích spojených sítí vytvořena iluze konkurenčního přístupu k jedné databázi přes více serverů ke každému možno přistupovat samostatně
na serveru běží instance ASM samostatný proces (startuje i ovládá se podobně jako DB); může být k němu připojeno i více databází možnost sdílet diskové skupiny více databázemi v Oracle RAC na každém nodu clusteru jedna ASM instance komunikace mezi nimi peer-to-peer
jako v souborovém systému základem alokační jednotka (AU, allocation unit) 1 AU = 1 MB (od Oracle 11g lze nastavit 1-64 MB) 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 tzv. extentů (místa vyhrazeného pro daný soubor), sestavených z AU
rozmístění alokačních jednotek v režii ASM AU v ASM souborech názvy generovány automaticky, lze jim přiřadit uživatelské aliasy mapování reálných databázových souborů do ASM souborů v rámci diskové skupiny v samostatných souborech (metadata)
instalace pomocí Oracle Universal Installer administrační nástroje: GUI Oracle Enterprise Manager (EM), Database Configuration Assistant (DBCA) konzole SQL*Plus
$ 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
pro startup mount diskové skupiny připojeny automaticky nomount musí být připojeny ručně pro shutdown normal počká na ukončení session a dokončení zpracovávaných dotazů immediate/transactional nečeká na ukončení session abort vypne se hned
INSTANCE_TYPE povinný; říká, že vytvářený objekt bude instance ASM; INSTANCE_TYPE = ASM DB_UNIQUE_NAME unikátní jméno ASM instance; default: +AMS, nodům v clusteru se dávám +AMS1, 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 a další viz dokumentace
CREATE DISKGROUP disk_group_1 NORMAL REDUNDANCY FAILGROUP failure_group_1 DISK '/dev/sda1' NAME hdda1, '/dev/sda2' NAME hdda2, FAILGROUP failure_group_2 DISK '/dev/sdb1' NAME hddb1, '/dev/sdb2' NAME hddb2; DROP DISKGROUP disk_group_1 INCLUDING CONTENTS;
úroveň redundance: NORMAL REDUNDANCY 2-way mirroring HIGH REDUNDANCY 3-way mirroring EXTERNAL REDUNDANCY bez mirroringu, mirroring pomocí jiného SW nebo RAID mirroring
-- přidání disku do skupiny ALTER DISKGROUP disk_group_1 ADD DISK '/dev/hdd*3', '/dev/hdd*4'; -- odebrání disku ze skupiny; lze použít undrop ALTER DISKGROUP disk_group_1 DROP DISK hdda2;
-- vymezení prostoru na disku pro ASM; -- spadne, pokud je udaná velikost větší než skutečná ALTER DISKGROUP disk_group_1 RESIZE DISK diska1 SIZE 100G; -- to samé, ale pro celou selhávací skupinu ALTER DISKGROUP disk_group_1 RESIZE DISKS IN FAILGROUP failure_group_1 SIZE 100G; -- to samé, ale pro celou diskovou skupinu ALTER DISKGROUP disk_group_1 RESIZE ALL SIZE 100G;
-- připojení, resp. odpojení diskových skupin ALTER DISKGROUP ALL DISMOUNT; ALTER DISKGROUP ALL MOUNT; ALTER DISKGROUP disk_group_1 DISMOUNT; ALTER DISKGROUP disk_group_1 MOUNT;
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
Template Name CONTROL File Type External Redundanc y Normal Redundanc y High Redundanc y Stripe d Control files Unprotected 2-way mirror 3-way mirror Fine DATAFILE Datafiles and copies Unprotected 2-way mirror 3-way mirror Coarse ONLINELOG Online logs Unprotected 2-way mirror 3-way mirror Fine ARCHIVELOG Archive logs Unprotected 2-way mirror 3-way mirror Coarse TEMPFILE Tempfiles Unprotected 2-way mirror 3-way mirror Coarse
-- 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;
-- 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;
podobné příkazy jako na předchozím slidu, jen místo DIRECTORY slovo FILE nebo ALIAS
-- kontrola metadat ALTER DISKGROUP disk_group_1 CHECK ALL; lze volat na diskové skupiny, selhávací skupiny i jednotlivé disky zjištěné chyby jsou vypsány a opraveny Opravu lze přeskočit přidáním NOREPAIR
-- ruční vyvažování ALTER DISKGROUP disk_group_1 REBALANCE POWER 6; REBALANCE POWER lze nastavit v rozsahu 0 (vypnuto) 11 (nejrychlejší)
postup: vytvořit instanci ASM a nakonfigurovat diskové skupiny vytvořit standardní databázovou instanci (tj. INSTANCE_TYPE = RDBMS (default)) ) či upravit stávající tak, aby používala ASM pomocí konfiguračního souboru s parametry (obdobně jako u vytváření instance ASM)
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
např. DB_CREATE_FILE_DEST = '+disk_group_1' DB_RECOVERY_FILE_DEST = '+d_group_2' DB_RECOVERY_FILE_DEST_SIZE = 10G
nyní stačí už jen vytvořit nový tabulkový prostor, přiřadit jej uživatelům a pracovat s databází jako obvykle CREATE TABLESPACE tspace1; Do něj mohu přesunout stávající data ALTER TABLE old_talbe MOVE TABLESPACE tspace1;
Recovery Manager pro migraci a zálohování dat konzolový program, připojení k databázi i ovládání podobně jako u SQL*Plus lze v něm i používat SQL příkazy, zápis: SQL příkaz
$ rman RMAN> CONNECT TARGET SYS@orcl target database Password: XXXXXXXXX connected to target database: ORCL (DBID=1217369048) RMAN> BACKUP AS COPY DATAFILE "+DATA/orcl/datafile/users.261.689589837" FORMAT "+USERDATA"; Starting backup at 16-JUN-09
http://download.oracle.com/docs/cd/b28359_01/server.111/b31 107/asmcon.htm http://download.oracle.com/docs/cd/e11882_01/server.112/e18 951/asminst.htm http://www.thegeekstuff.com/2008/10/oracle-11g-step-by-stepinstallation-guide-with-screenshots/ http://www.oraclewiki.net/startdocshowtoinstalloracle11glinuxasm http://en.wikipedia.org/wiki/automatic_storage_management http://www.orafaq.com/wiki/automatic_storage_management