ASM创建spfile失败 $ORACLE_HOME/bin/oracle

来源:互联网 发布:bf是什么软件 编辑:程序博客网 时间:2024/06/10 06:45

搭好RAC之后不建库,根据原库备份来进行恢复,在ASM创建spfile的过程中出现错误,导致创建失败,报错内容如下:

报错信息

Wed Nov 11 18:54:38 2015

LCK0 started with pid=31, OS id=4074

Starting background process RSMN

Wed Nov 11 18:54:38 2015

RSMN started with pid=32, OS id=4076

Wed Nov 11 18:54:38 2015

ORACLE_BASE from environment = /u01/app/oracle

Wed Nov 11 18:55:54 2015

NOTE: Loaded library: System

ORA-15025: could not open disk "/dev/asm-diskb"

ORA-27041: unable to open file

Linux-x86_64 Error: 13: Permission denied

Additional information: 9

ORA-15025: could not open disk "/dev/asm-diskc"

ORA-27041: unable to open file

Linux-x86_64 Error: 13: Permission denied

Additional information: 9

ORA-15025: could not open disk "/dev/asm-diskd"

ORA-27041: unable to open file

Linux-x86_64 Error: 13: Permission denied

Additional information: 9

Wed Nov 11 18:55:54 2015

SUCCESS: diskgroup DATA was mounted

Errors in file /u01/app/oracle/diag/rdbms/crmdb_std/zxindb1/trace/zxindb1_ora_4077.trc  (incident=440275):

ORA-00600: internal error code, arguments: [kfioTranslateIO03], [], [], [], [], [], [], [], [], [], [], []

Incident details in: /u01/app/oracle/diag/rdbms/crmdb_std/zxindb1/incident/incdir_440275/zxindb1_ora_4077_i440275.trc

Use ADRCI or Support Workbench to package the incident.

See Note 411.1 at My Oracle Support for error and packaging details.

Errors in file /u01/app/oracle/diag/rdbms/crmdb_std/zxindb1/trace/zxindb1_ora_4077.trc  (incident=440276):

ORA-00600: internal error code, arguments: [17090], [], [], [], [], [], [], [], [], [], [], []

Incident details in: /u01/app/oracle/diag/rdbms/crmdb_std/zxindb1/incident/incdir_440276/zxindb1_ora_4077_i440276.trc

Wed Nov 11 18:55:55 2015

Dumping diagnostic data in directory=[cdmp_20151111185555], requested by (instance=1, osid=4077), summary=[incident=440275].

Wed Nov 11 18:55:55 2015

Sweep [inc][440276]: completed

Sweep [inc][440275]: completed

Sweep [inc2][440275]: completed

Use ADRCI or Support Workbench to package the incident.

See Note 411.1 at My Oracle Support for error and packaging details.

Dumping diagnostic data in directory=[cdmp_20151111185556], requested by (instance=1, osid=4077), summary=[incident=440276].

ERROR: unrecoverable error ORA-600 raised in ASM I/O path; terminating process 4077

 

在向共享磁盘+DATA添加spfile的时候报错,查看后台日志,反映不能打开共享磁盘,

两个节点查看磁盘权限正常

查看磁盘权限

[root@zxindb2 ~]# ls -al /dev/asm-disk*

brw-rw---- 1 grid asmadmin 8, 16 11?.11 19:18 /dev/asm-diskb

brw-rw---- 1 grid asmadmin 8, 32 11?.11 19:34 /dev/asm-diskc

brw-rw---- 1 grid asmadmin 8, 48 11?.11 19:22 /dev/asm-diskd

brw-rw---- 1 grid asmadmin 8, 64 11?.11 20:03 /dev/asm-diske

brw-rw---- 1 grid asmadmin 8, 80 11?.11 18:50 /dev/asm-diskf

brw-rw---- 1 grid asmadmin 8, 96 11?.11 19:22 /dev/asm-diskg

 

创建spfile失败

SQL> create spfile='+data'  from pfile='/tmp/aa.txt';

create spfile='+data'  from pfile='/tmp/aa.txt'

*

ERROR at line 1:

ORA-03113: end-of-file on communication channel

Process ID: 18184

Session ID: 3456 Serial number: 1

 

 

SQL> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, Real Application Clusters, OLAP, Data Mining

and Real Application Testing options

 

 

查看文件oracle权限属组信息

根据网上资料显示,检查$ORACLE_HOME/bin/oracle执行文件的权限。

发现权限及属性与原RAC不一致

正常应该为

[root@wsdb2 u01]# ls -al /u01/app/oracle/product/11.2.0/db_1/bin/oracle

-rwsr-s--x. 1 oracle asmadmin 232845330 9?. 21 19:39

/u01/app/oracle/product/11.2.0/db_1/bin/oracle

 

在当前这套RAC中为:

[oracle@wsdg1 admin]$ cd /u01/app/oracle/product/11.2.0/db_1/bin/

[oracle@wsdg1 bin]$ ls -al oracle

-rwsr-s--x 1 oracle oinstall 232399041 Nov 12 11:03 oracle

 

 

[root@wsdg1 bin]# chown oracle:asmadmin /u01/app/oracle/product/11.2.0/db_1/bin/oracle

[root@wsdg1 bin]# ls -al /u01/app/oracle/product/11.2.0/db_1/bin/oracle

-rwxr-x--x 1 oracle asmadmin 232399041 Nov 12 11:03 /u01/app/oracle/product/11.2.0/db_1/bin/oracle

[root@wsdg1 bin]# chmod 6751 /u01/app/oracle/product/11.2.0/db_1/bin/oracle

[root@wsdg1 bin]# ls -al /u01/app/oracle/product/11.2.0/db_1/bin/oracle

-rwsr-s--x 1 oracle asmadmin 232399041 Nov 12 11:03 /u01/app/oracle/product/11.2.0/db_1/bin/oracle

[root@wsdg1 bin]# su - oracle

[oracle@wsdg1 ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.3.0 Production on Fri Nov 13 10:12:45 2015

 

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

 

Connected.

SQL> exit

Disconnected

 

重启CRS

crsctl stop crs

crsctl start crs

 

PS:创建spfile的过程中,如果直接以/tmp/aa.txt创建

如:create spfile=’+DATA’ from pfile=’/tmp/aa.txt’;

创建之后,DATA目录下看到的是UB_KNOWN,并不是db_unique_name,WSDG

先在本地创建spfile,以spfile启动,再创建随之成功

Create spfile from pfile=’/tmp/aa.txt’;

SQL> create spfile from pfile='/tmp/aa.txt';

 

File created.

 

SQL> shutdown immediate

ORA-01507: database not mounted

 

ORACLE instance shut down.

SQL> startup nomount

 

Total System Global Area 3.1334E+10 bytes

Fixed Size                 2243752 bytes

Variable Size         3623879512 bytes

Database Buffers   2.7649E+10 bytes

Redo Buffers           58560512 bytes

ORACLE instance started.

 

SQL> create spfile='+DATA' from pfile='/tmp/aa.txt';

 

File created.

 

延伸

suid的代表数字是4,比如4755的结果是-rwsr-xr-x

sgid的代表数字是2,比如6755的结果是-rwsr-sr-x

sticky位代表数字是1,比如7755的结果是-rwsr-sr-t

 

suid意味着如果某个用户对属于自己的shell脚本设置了这种权限,那么其他用户在执行这一脚本时也会具有其属主的相应权限。于是,如果根用户的某一个脚本设置了这样的权限,那么其他普通用户在执行它的期间也同样具有根用户的权限。同样的原则也适用于guid,执行相应脚本的用户将具有该文件所属用户组中用户的权限。

 

chmod 4755 rws r-x r- x 文件被设置了suid,文件属主具有读、写和执行的权限,所有其他用户具有读和执行的权限

chmod 6711 rws --s --s 文件被设置了suid和guid,文件属主具有读、写和执行的权限,所有其他用户具有执行的权限

chmod 4764 rws rw- r- - 文件被设置了suid,文件属主具有读、写和执行的权限,同组用户具有读和写的权限,其他用户具有读权限

1 0