Академический Документы
Профессиональный Документы
Культура Документы
System
by Jeff Hunter, Sr. Database Administrator
Suppose your database is stored using ASM including all physical database files and the SPFILE. You
already know and understand how to duplicate database files and even the control file from ASM to the
local file system using RMAN (See Migrating Databases from non-ASM to ASM and Vice-Versa). But
what about the SPFILE? What if all you need to do is make a copy of the current SPFILE file stored in
ASM to the local file system? Your first thought might be to use RMAN, however, there is a much easier
method as described below. This method makes a copy of an SPFILE stored in ASM to a text-based
initialization parameter file on the local file system.
1. First, identify the SPFILE you want to duplicate in ASM. When the SPFILE is stored in ASM,
you generally have a text-based version of the initialization parameter file that points to the
SPFILE in ASM:
2. $ cat $ORACLE_HOME/dbs/initorcl1.ora
SPFILE='+ORCL_DATA1/orcl/spfileorcl.ora'
You can further verify that the SPFILE really does indeed reside in ASM by performing the
following query against the ASM instance:
SELECT
CONCAT('+' || disk_group_name, SYS_CONNECT_BY_PATH(alias_name, '/'))
full_alias_path
, NVL(LPAD(type, 18), '<DIRECTORY>') type
FROM
( SELECT
g.name disk_group_name
, a.parent_index pindex
, a.name alias_name
, a.reference_index rindex
, f.type type
FROM
v$asm_file f RIGHT OUTER JOIN v$asm_alias a USING (group_number,
file_number)
JOIN v$asm_diskgroup g USING (group_number)
)
WHERE type = 'PARAMETERFILE'
START WITH (MOD(pindex, POWER(2, 24))) = 0
CONNECT BY PRIOR rindex = pindex;