Académique Documents
Professionnel Documents
Culture Documents
Para el sitio
Índice
1. Introducción.................................................................................................................. 2
2. Comandos utilizados dentro de ASMCMD.................................................................. 3
2.1. COMANDO LSDSK ................................................................................................................................ 4
2.2. COMANDO CP ...................................................................................................................................... 4
2.2.1. Copiando un datafile dentro del ASM ........................................................................................ 4
2.2.2. Copiando un datafile a una ruta local........................................................................................ 5
2.2.3. Copiando un datafile a una ruta remota .................................................................................... 5
2.3. COMANDO MD_BACKUP ...................................................................................................................... 5
2.4. COMANDO MD_RESTORE ..................................................................................................................... 7
2.4.1. Restauración full mode............................................................................................................... 7
2.4.2. Restauración nodg mode ............................................................................................................ 8
2.4.3. Restauración newdg mode.......................................................................................................... 8
3. Referencias ................................................................................................................. 10
1. Introducción
ASMCMD es un utilitario (command-line) que se usa para manipular de forma fácil y casi didáctica
los directorios y archivos dentro de una instancia ASM.
Se puede mostrar la información de un diskgroup, crear directorios, crear alias, mostrar el espacio
utilizado por los diskgroups , etc.
Este documento esta orientado a las nuevas características de ASMCMD para Oracle11gr1 , esto
se puede complementar con el manual existente en www.oracleyyo.com que habla del ASMCMD
para Oracle10g.
Cabe mencionar que los comandos se ejecutaron en un ambiente con Oracle11gr2 , por lo cual
pueden cambiar un poco las sintaxis, pero la idea es exactamente la misma
Ejemplo :
$ export ORACLE_HOME=$ORA_HOME_ASM
$ echo $ORACLE_HOME
/u01/app/oracle/product/11.1.0/asm
$export ORACLE_SID=+ASM1
Para tener un listado de todos los comandos existentes en el utilitario ASMCMD, ejecutamos help
ASMCMD> help
asmcmd [-vV] [-a <sysasm|sysdba>] [-p] [command]
commands:
--------
md_backup, md_restore
lsattr, setattr
cd, cp, du, find, help, ls, lsct, lsdg, lsof, mkalias
mkdir, pwd, rm, rmalias
ASMCMD>
El comando lsdsk muestra la información de los discos de la instancia ASM (de los diskgroups),
este comando se ejecuta de dos formas
• En modo conectado, asmcmd usa la información de las vistas V$ y GV$
• En modo no conectado, asmcmd registra la cabecera de los discos buscando información
Ejemplo :
ASMCMD> lsdsk
Path
/dev/raw/raw1
/dev/raw/raw2
/dev/raw/raw3
/dev/raw/raw4
/dev/raw/raw5
Ejemplo :
[oracle@oracle11g ~]$ asmcmd lsdsk
Path
/dev/raw/raw1
/dev/raw/raw2
/dev/raw/raw3
/dev/raw/raw4
/dev/raw/raw5
2.2. Comando cp
Este comando permite la copia de los discos de ASM entre instancias locales e instancias remotas
(cuando utilizan entradas de tnsnames), además tiene la potencia de poder escribir desde la
instancia de ASM hacía sistema operativo y viceversa.
Acá se presentan sólo comandos asociados a datafiles,pero en realidad puede ser cualquier objeto
que se ubique dentro de la instancia ASM.
Validando el archivo
Esto puede ser realizado viceversa también y con cualquier objeto que se ubique dentro del ASM ,
incluso los archives
ASMCMD> cp +DATA/ORCL11G2/DATAFILE/TURBO_B.256.716555117
sys@oracle11g.1521.+ASM:/+DATA/ORCL11G2/DATAFILE/copia_TURBO_B.dbf
Enter password: ******
Y se debe recordar que pide la password de ingreso para el usuario que estemos colocando
Otro punto a tener en cuenta es que la copia de estos datos es independiente a los Endian que
ocupen los sistemas operativos, por ejemplo se podría copiar desde un Big-Endian a un Little-
Endian.
Pues bien en 11gr1 , viene lo que todo el mundo deseaba, poder respaldar está información , no es
un respaldo de base de datos, es un respaldo de la metadata que lleva a cabo la asociación con
Tal cual lo dice la ayuda , se pueden respaldar todos los DiskGroups de nuestra instancia ASM o
indicarle alguno en particular.
Ejemplo :
ASMCMD> md_backup /home/oracle/Respaldo_DiskGroup.txt
Disk group metadata to be backed up: DATA
Current alias directory path: ASM/DATAFILE
Current alias directory path: ORCL11G2/DATAFILE
Current alias directory path: ORCL11G2
Current alias directory path: ASM
Lo agradable del tema es que este archivo, contiene instrucciones para recrear toda la Metadata
Por ejemplo vamos a restaurar un diskgroup existente, como va a dar un error porque el Diskgroup
existe, se procede a borrar y a restaurar.
Ejemplo :
ASMCMD> md_restore –b /home/oracle/Respaldo_DiskGroup.txt –t full -g DATA
Current Diskgroup metadata being restored: DATA
ASMCMD-09352: CREATE DISKGROUP failed
ORA-15018: diskgroup cannot be created
ORA-15030: diskgroup name "DATA" is in use by another diskgroup (DBD ERROR: OCIStmtExecute)
ASMCMD>
Se procede a borrar , teniendo en cuenta que esto puede suceder de forma fortuita, y se restaurará
Ejemplo :
ASMCMD> md_restore –b /home/oracle/Respaldo_DiskGroup.txt –t full -g DATA
Current Diskgroup metadata being restored: DATA
Diskgroup DATA created!
System template AUTOBACKUP modified!
System template ONLINELOG modified!
System template OCRBACKUP modified!
System template ASMPARAMETERBAKFILE modified!
System template ASM_STALE modified!
System template ASMPARAMETERFILE modified!
System template PARAMETERFILE modified!
System template OCRFILE modified!
System template CHANGETRACKING modified!
System template ARCHIVELOG modified!
System template DUMPSET modified!
System template TEMPFILE modified!
System template XTRANSPORT modified!
System template FLASHBACK modified!
System template DATAGUARDCONFIG modified!
System template DATAFILE modified!
System template CONTROLFILE modified!
System template BACKUPSET modified!
System template FLASHFILE modified!
Directory +DATA/ORCL11G2 re-created!
Directory +DATA/ASM re-created!
Directory +DATA/ASM/DATAFILE re-created!
Directory +DATA/ORCL11G2/DATAFILE re-created!
Ejemplo :
ASMCMD> md_restore /home/oracle/Respaldo_DiskGroup.txt --nodg -G DATA
Current Diskgroup metadata being restored: DATA
System template AUTOBACKUP modified!
System template ONLINELOG modified!
System template OCRBACKUP modified!
System template ASMPARAMETERBAKFILE modified!
System template ASM_STALE modified!
System template ASMPARAMETERFILE modified!
System template PARAMETERFILE modified!
System template OCRFILE modified!
System template CHANGETRACKING modified!
System template ARCHIVELOG modified!
System template DUMPSET modified!
System template TEMPFILE modified!
System template XTRANSPORT modified!
System template FLASHBACK modified!
System template DATAGUARDCONFIG modified!
System template DATAFILE modified!
System template CONTROLFILE modified!
System template BACKUPSET modified!
System template FLASHFILE modified!
Esto no quiere decir que mientras exista un Diskgroup nosotros carguemos uno nuevo con el
mismo comando , esto sólo se hace si el original no existe y queremos cargar desde un respaldo y
recrearlo con otro nombre