asmcmd: command disallowed by current instance type 解决方法
运行asmcmd 命令报错:
[oracle@racdb2 ~]$ asmcmd
asmcmd: command disallowed by current instance type
错误提示很明显:
实例类型不对。
RAC 有2个实例,Oracle 实例和 ASM 实例。
在pfile 参数里面设置的是ORACLE 实例,这个是默认值。 所以如果不指定ORACLE_SID的情况下,都是使用Oracle 的实例。 但是asmcmd 命令是针对ASM实例的。 所以在运行asmcmd命令之前,指定一下ORACLE_SID 即可。
[oracle@rac1 bin]$ asmcmd
asmcmd: command disallowed by current instance type
开始设置错误的环境变量
[oracle@rac1 bin]$ export ORACLE_SID=+ASM1_rac1
[oracle@rac1 bin]$ asmcmd
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory (DBD ERROR: OCISessionBegin)
Sqlplus:
system@RACDB>select db_name,instance_name,group_number from v$asm_client;
DB_NAME INSTANCE_NAME
-------- ---------------------
RACDB +ASM1
设置正确的环境变量
[oracle@rac1 bin]$ export ORACLE_SID=+ASM1
[oracle@rac1 bin]$ asmcmd
ASMCMD> l
commands:
--------
cd
du
find
help
ls
lsct
lsdg
mkalias
mkdir
pwd
rm
rmalias
ASMCMD> lsdg
State Type Rebal Unbal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name
MOUNTED EXTERN N N 512 4096 1048576 4094 2387 0 2387 0 RAC_DISK/
ASMCMD> lsct
DB_Name Status Software_Version Compatible_version Instance_Name
RACDB CONNECTED 10.2.0.1.0 10.2.0.1.0 RACDB1
ASMCMD> ls
RAC_DISK/
ASMCMD> pwd
+
ASMCMD> cd RAC_DISK
ASMCMD> ls
RACDB/
ASMCMD> cd RACDB
ASMCMD> ls
CONTROLFILE/
DATAFILE/
ONLINELOG/
PARAMETERFILE/
TEMPFILE/
spfileRACDB.ora
ASMCMD> cd DATAFILE
ASMCMD> pwd
+RAC_DISK/RACDB/DATAFILE
ASMCMD> ls -l
Type Redund Striped Time Sys Name
DATAFILE UNPROT COARSE JAN 01 07:00:00 Y SYSAUX.264.738883725
DATAFILE UNPROT COARSE JAN 01 07:00:00 Y SYSTEM.262.738883701
DATAFILE UNPROT COARSE JAN 01 07:00:00 Y UNDOTBS1.263.738883717
DATAFILE UNPROT COARSE JAN 01 07:00:00 Y UNDOTBS2.266.738883735
DATAFILE UNPROT COARSE JAN 01 07:00:00 Y USERS.267.738883743
N fkzuse => +RAC_DISK/RACDB/DATAFILE/USERS.267.738883743
SQLPLUS:
system@RACDB>select tablespace_name,file_name from dba_Data_files;
TABLESPACE_NAME FILE_NAME
-------------------------------------------------------------------
SYSTEM +RAC_DISK/racdb/datafile/system.262.738883701
UNDOTBS1 +RAC_DISK/racdb/datafile/undotbs1.263.738883717
SYSAUX +RAC_DISK/racdb/datafile/sysaux.264.738883725
UNDOTBS2 +RAC_DISK/racdb/datafile/undotbs2.266.738883735
USERS +RAC_DISK/racdb/datafile/users.267.738883743
ASMCMD> pwd
+RAC_DISK/RACDB/ONLINELOG
ASMCMD> ls -l
Type Redund Striped Time Sys Name
ONLINELOG UNPROT FINE JAN 01 21:00:00 Y group_1.258.738883689
ONLINELOG UNPROT FINE JAN 01 21:00:00 Y group_1.259.738883693
ONLINELOG UNPROT FINE JAN 01 21:00:00 Y group_2.260.738883695
ONLINELOG UNPROT FINE JAN 01 21:00:00 Y group_2.261.738883699
ONLINELOG UNPROT FINE JAN 01 21:00:00 Y group_3.268.738885049
ONLINELOG UNPROT FINE JAN 01 21:00:00 Y group_3.269.738885051
ONLINELOG UNPROT FINE JAN 01 21:00:00 Y group_4.270.738885053
ONLINELOG UNPROT FINE JAN 01 21:00:00 Y group_4.271.738885057
copy the file from the source ASM diskgroup to a normal OS filesystem directory.
BEGIN DBMS_FILE_TRANSFER.COPY_FILE( source_directory_object => 'ORACLE_10G', source_file_name => test.dbf, destination_directory_object => 'ORACLE_DEST', destination_file_name => 'TEST.DBF); END; Database altered
参阅:
http://www.dbasupport.com/oracle/ora10g/ASM_enhancements.shtml
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24933693/viewspace-683149/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24933693/viewspace-683149/