Why does there exist DB_UNKNOWN directory on ASM disk?

2582 단어 ASMspfileDB_UNKNOWN
Today I found a glitch about my database instance.When I browsed my files on ASM disks,I found this file,which path was '+DATA/DB_UNKNOWN/parameterfile/spfile.278.186024535'.I used 'ls -al' to see which file linked it,to my surprise,that's '+DATA/orcl/spfileorcl.ora'.How did it generate?
The situation is like this.
When Database instance is not in mount/open status,One uses
CREATE SPFILE='+DATA' FROM PFILE='XXXXXXXXXXXX'

At this time,the database instance doesn't know DB_NAME,either does ASM instance.
So the ASM instance creates spfile on ASM disk with path like this '+DATA/DB_UNKNOWN/parameterfile/spfile.xxx.xxxxxxxx' and links '+DATA/orcl/spfileorcl.ora' to it(the database instance has known $ORACLE_SID based on environment variable).The database instance reads initiator parameter file in wrong path everytime.
How to fix?
1.Backup your spfile.Startup your database instance to open status.
Create pfile='/u01/app/oracle/pfile1' from spfile;
Shutdown immediate;
Startup pfile='/u01/app/oracle/pfile1';

2.Check parameter DB_NAME
show parameter db_name

db_name shouldn't be NULL
3.Open another terminal window with grid user access to host
4.Check '+DATA/orcl/parameterfile/spfile.xxx.xxxxxxxx',that may be like this 'none->+DATA/orcl/parameterfile/spfile.xxx.xxxxxxxx' when you use 'ls -al',which indicates that's an empty link.
Check '+DATA/DB_UNKNOWN/parameterfile/spfile.xxx.xxxxxxxx',that may be like this '+DATA/orcl/spfileorcl.ora -> +DATA/DB_UNKNOWN/parameterfile/spfile.xxx.xxxxxxxx' when you use 'ls -al'
5.Delete '+DATA/DB_UNKNOWN/parameterfile/spfile.xxx.xxxxxxxx' and the system removes directory '+DATA/DB_UNKNOWN' including all sub directories automatically.The system removes source link file '+data/orcl/spfileorcl.ora' as well.
6.Make alias file link to correct spfile in mandatory path in terminal of ASM instance.
cd +data/orcl
mkalias +data/orcl/parameter/spfile.xxx.xxxxxxxxx spfileorcl.ora

7.Verify this by restarting database instance and check parameter spfile.
startup force;

the database instance can startup successfully.
It seems that there's no difference about parameter spfile which equal to '+data/orcl/spfileorcl.ora'.But it links to different file now.

좋은 웹페이지 즐겨찾기