$XWRPDWLF6WRUDJH0DQDJHPHQW$60 8ZH+HVVH3ULQFLSDO,QVWUXFWRU25$&/(8QLYHUVLW\ Grundidee von ASM ist die komfortable, sichere, flexible und performante Verwaltung aller Datenbank-Dateien ohne zusätzliche Kosten. Oder um es mit Tom Kyte (ORACLE) zu sagen: -XVWWKLQNRILWDVD'DWDEDVH )LOHV\VWHP Vor ASM war die optimale Konfiguration der Datenbank-Dateien alles andere als trivial. Einen guten Einblick in die Problematik bietet das Whitepaper $XWRPDWLF 6WRUDJH0DQDJHPHQW±7KH1HZ%HVW3UDFWLFH von Steve Adams (IXORA) und Richard Long (ORACLE) in dem Kapitel &XUUHQW%HVW3UDFWLFH. Mit ASM ist hohe Performance (Juni 2005 TPC-H Weltrekord) bei gleichzeitig einfacher Implementierung und Adminstration (komplett GUI-gestützt) möglich. Einzelne Platten werden zu 'LVNJURXSV zusammengefaßt, auf die dann die Datenbank-Dateien automatisch verstreut und (auf Wunsch) gespiegelt werden. Diese 6SLHJHOXQJJHVFKLHKWDXI6WULSH%DVLV, nicht auf Platten-Basis. Anstelle einer Spare-Disk kann daher Spare-Kapazität eingesetzt werden. Das hat den Vorteil, daß alle Platten der Diskgroup zur I/O-Bandbreite aktiv beitragen. bQGHUXQJHQLQGHU6WRUDJH.RQILJXUDWLRQ sind bei laufender Datenbank möglich.Um z.B. die Speicherkapazität zu steigern, können neue Devices hinzugefügt werden. Dann findet automatisch eine Neuverteilung (Rebalancing) der vorhandenen Stripes über alle Devices statt. Dieses Rebalancing ist vom Umfang her proportional zur hinzugefügten bzw. entfernten Kapazität. Es müssen also NICHT alle Stripes neu verteilt werden. $607HPSODWHV bestimmen, ob die Stripe-Größe einer Datei COARSE (1 MB) oder FINE (128 KB) ist und ob eine Datei gespiegelt wird. Damit kann auch erreicht werden, daß auf derselben Diskgroup bestimmte Dateien (z.B. Online Logs und Controlfiles) gespiegelt werden und andere (z.B. Tempfiles) nicht. Die zur Verwaltung der Diskgroups nötige $60,QVWDQFH kann, ebenso wie die Diskgroups selbst, auf einfache Weise durch den Database Configuration Assistant erzeugt werden, bevor er die Datenbank erstellt. Die Stärken des Zusammenspiels von 'DWDEDVH$UHD5HFRYHU\$UHDXQG$60 zeigen sich am deutlichsten, wenn bereits beim Anlegen der Datenbank mit Diskgroups gearbeitet wird. init.ora vor dem CREATE DATABASE : DB_CREATE_FILE_DEST=’+DGROUPA’ #Database Area DB_RECOVERY_FILE_DEST=’+DGROUPB’ #Recovery Area In der Recovery Area soll alles zu finden sein, was im Falle einer Beschädigung von Dateien in der Database Area für das Recovery benötigt wird. In der Recovery Area liegen also idealerweise x x x x Spiegel der Online Logfiles, Spiegel der Controlfiles, Archivelogs, Backups (Datafiles, Controlfile, Spfile) Ohne weiteren Konfigurations-Aufwand ist das bei obiger Vorgehensweise automatisch der Fall. Die schon aus 9i bekannte OMF-Methode arbeitet perfekt mit ASM zusammen und sorgt für eine Vereinfachung bei Anweisungen wie z.B. CREATE DATABASE... CREATE TABLESPACE... ALTER TABLESPACE ... ADD DATAFILE... ALTER DATABASE ADD LOGIFLE... Wird zusätzlich das 10g R1 Feature %,*),/(7$%/(63$&(6 eingesetzt, muß der DBA nie mehr einen (ASM-)Datendateinamen angeben: SQL> create bigfile tablespace biggo; SQL> alter tablespace biggo resize 10g; RMAN> backup tablespace biggo; RMAN> restore tablespace biggo; Neu in 10g R2 ist $60&0', das einen UNIX-artigen Umgang mit ASM-Dateien ermöglicht: pwd, cd, ls, rm, mkdir, du Diese Befehle funktionieren in der ASMCMD-Shell analog zu den bekannten UNIXBefehlen. Damit sollen wohl auch Hemmschwellen der DBAs („Ich kann die Dateien ja gar nicht mehr im Filesystem sehen!?“) abgebaut werden. Siehe auch8WLOLWLHV'RNXPHQWDWLRQ.DSLWHO In 10g R2 ist das Package '%06B),/(B75$16)(5 nun auch verwendbar, um Dateien von einer Diskgroup aufs Filesystem zu kopieren: connect system/oracle@kw33 create create select select or replace directory dat_dir as ’+DGROUPA/kw33/datafile’; or replace directory home_dir as ’/home/oracle/’; directory_name from dba_directories; name from v$datafile; alter tablespace users read only; host expdp transport_tablespaces=users directory=HOME_DIR begin dbms_file_transfer.copy_file (’DAT_DIR’, users.263.566386159’,’HOME_DIR’,’users01.dbf’); end; / alter tablespace users read write; Hat man XML DB installiert, kann man in 10g R2 die ASM Dateien noch einfacher über IWS oder :HE'$9 zugreifen, wie im 2UDFOH;0/'%'HYHORSHU¶V*XLGH .DSLWHO beschrieben. Abschließend ein Zitat aus $XWRPDWLF6WRUDJH0DQDJHPHQW7KH1HZ%HVW 3UDFWLFH %HFDXVH$60LVKLJKO\DXWRPDWHGDQGGHOLYHUVH[FHOOHQWSHUIRUPDQFHEHWWHUWKDQ PRVWFXVWRPHUVKDYHEHHQDEOHWRDFKLHYHSUHYLRXVO\XVLQJHVWDEOLVKHGEHVWSUDFWLFHV XVLQJ$60LVWKHQHZEHVWSUDFWLFHIRUDOOGDWDEDVHVXQGHU2UDFOHJ /LQNV In der Online-Doku steht (wie immer) fast alles http://www.oracle.com/pls/db102/portal.portal_db?selected=1 ASM Homepage im Oracle Technologie Network http://www.oracle.com/technology/products/database/asm/index.html ASM Internal Homepage http://asm.us.oracle.com/ TPC-H Weltrekord http://biz.yahoo.com/prnews/050621/sftu040.html?.v=15