ASM deel 2

Automatic Storage Management (ASM) is een feature in Oracle 10g die de dba een simpele management interface verschaft dat over alle servers en storage platforms consistent is.

ASM wordt meegenomen als onderdeel van de database server software.

Inhoud

  • 1 Features
  • 2 Installeren van ASM
  • 3 Starten en stoppen
  • 4 Diskgroups toevoegen
  • 5 Hercreëren van een diskgroup
  • 6 Rebalancing
  • 7 Converteren van een database naar ASM
  • 8 Monitoring
  • 9 Zie ook

Features

  • ASM neemt de controle van disks over (geen disk partitionering nodig)
  • Meer ruimte kan transparant toegevoegd worden
  • I/Os worden over alle disken verspreidt (striping)
  • ASM kan redundante kopieën van de data behouden (mirror)
  • Storage kan tussen disks gemigreerd worden
  • Dezelfde disks of set van disks kan gedeeld worden tussen verschillende databases.

Installeren van ASM

Het wordt aanbevolen om ASM in een aparte ORACLE_HOME te installeren zodat upgrades gedaan kunnen worden onafhankelijk van de datbases.

Gebruik de DBCA utility om de ASM instance te creëren.

Starten en stoppen

Start de ASM instance:

$ export ORACLE_SID=+ASM$
sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on Sun Sep 3 00:28:09 2006

Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup

ASM instance started
Total System Global Area 83886080 bytes
Fixed Size 1217836 bytes
Variable Size 57502420 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted

Stop the ASM instance:

$ export ORACLE_SID=+ASM
$ sqlplus "/ as sysdba"
$ shutdown immediate

 

Diskgroups toevoegen

SQL> create diskgroup orag2 external redundancy disk 'ORCL:VOL5';
Diskgroup created.
SQL> select group_number,disk_number,mode_status,name from v$asm_disk;
GROUP_NUMBER DISK_NUMBER MODE_STATUS NAME
------------ ----------- -------------- -------------------------------------
0 5 ONLINE
1 0 ONLINE VOL1
1 1 ONLINE VOL2
1 2 ONLINE VOL3
1 3 ONLINE VOL4
2 0 ONLINE VOL5
6 rows selected.

 

Hercreëren van een diskgroup

Alle ASM metadata moet verwijderd worden voordat je probeert een diskgroup opnieuw te creëren. Een voorbeeld

dd if=/dev/zero of=/dev/rdsk/c1t4d0s4 bs=8192 count=12800

Als dit gedaan is kan je ASM herstarten en de diskgroup van scratch af aan creëren.

 

Rebalancing

De rebalancing snelheid wordt gecontroleerd door de ASM_POWER_LIMIT initialisatie parameter. Indien je deze op 0 zet zal diskbalancing uitgezet zijn.

Om rebalancing van een diskgroup te forceren:

ALTER DISKGROUP data REBALANCE POWER 11 WAIT;

Converteer een database naar ASM

Je kan Rman gebruiken om een datafile, tablespace of een gehele database te converteren van of naar ASM. Hieronder de stappen die nodig zijn om een gehele database naar ASM te migreren:

Zet de parameters op de target database:

  • Set DB_CREATE_FILE_DEST parameter op de relevante ASM disk group.
  • Set DB_CREATE_ONLINE_LOG_DEST_n parameter op de relevante ASM disk group (als deze niet gezet is gebruik je DB_CREATE_FILE_DEST).
  • Verwijder de CONTROL_FILES parameter zodat de control files verplaatst zullen worden naar de DB_CREATE_* bestemming
SQL> alter system set DB_CREATE_FILE_DEST = '+DATA';
SQL> alter system set control_files='+DATA' scope=spfile;

Start de database in NOMOUNT mode en restore de controlfile naar de nieuwe locatie van de oude locatie:

RMAN> connect target /
RMAN> STARTUP NOMOUNT
RMAN> RESTORE CONTROLFILE FROM 'oude_control_file_naam';

Mount de database en kopieer de database naar de ASM disk group:

RMAN> ALTER DATABASE MOUNT;
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 12;RMAN> BACKUP AS COPY DATABASE FORMAT '+DATA';

Switch alle datafiles naar de nieuwe ASM locatie en open de database:

RMAN> SWITCH DATABASE TO COPY;
RMAN> ALTER DATABASE OPEN;

Drop de oude tempfiles en creeer de nieuwe tempfiles:

SQL> alter tablespace temp add tempfile;
SQL> alter database drop tempfile '...' DROP;
SQL> select * from dba_temp_files;

Verplaats de SPFILE naar ASM:

SQL> CREATE SPFILE '+DATA' FROM PFILE;

Verplaats de redo log files naar ASM – voor iedere group:

SQL> ALTER DATABASE DROP LOGFILE GROUP 1;
SQL> ALTER DATABASE ADD LOGFILE GROUP 1 '+DATA' SIZE 100M;

Als een logfile active is en niet verwijderd kan worden, pas dan een ALTER DATABASE SWITCH LOGFILE; commando toe en probeer het nog eens.

Monitoring

Een aantal views die gebruikt kunnen worden om de ASM configuratie en activiteit te monitoren zijn:

  • V$ASM_DISK - ASM disks
  • V$ASM_DISK_STAT – in geheugen opgeslagen view van V$ASM_DISK voor snellere toegang (gebruikt door de Enterprise Manager)
  • V$ASM_DISKGROUP - ASM diskgroups
  • V$ASM_OPERATION - status van voortgaande disk operaties (rebalancing)

Zie ook

  • Asmcmd - command line utility om ASM te managen
  • DBMS_FILE_TRANSFER - PL/SQL package om files te verplaatsen tussen ASM en non-ASM storage

 

 

Advertentie

>

Poll

Voorkeur
 

Wie is er aanwezig

We hebben 51 gasten online