一、clusterware管理常用命令
su - oracle (如无grid用户)
cd /u01/app/11.2.0/grid/bin
检查 crs 状态:
./crsctl check crs
检查 Clusterware 资源 :
./crs_stat -t -v
检查集群节点:
./olsnodes -n
检查两个节点上的 ORACLE TNS 监听器进程:
./srvctl status listener
使用下面的命令语法来确认当前正在运行已安装的 Oracle ASM
./srvctl status asm -a
检查 集群注册表
./ocrcheck
检查表决磁盘
./crsctl query css votedisk
二、ASM管理常用命令
设置oracle asm lib(for linux)
oracleasm config -i
加载ASM模块
/usr/sbin/oracleasm init
创建ASM磁盘
/usr/sbin/oracleasm createdisk DISK1 /dev/sdb1
/usr/sbin/oracleasm createdisk DISK2 /dev/sdc1
检查 asm 磁盘
/usr/sbin/oracleasm scandisks
显示所有 asm 磁盘
/usr/sbin/oracleasm listdisks
--------查看磁盘情况(kfod)
$ kfod disks=all
--------创建表空间,空间指定ASM磁盘组
create tablespace data01 datafile '+DATA2' size 10200M;
echo SPFILE='/oracle/10g/dbs/spfileASM.ora' > /oracle/10g/dbs/init\+ASM1.ora
echo SPFILE='/oracle/10g/dbs/spfileASM.ora' > /oracle/10g/dbs/init\+ASM2.ora
chown oracle:dba /oracle/10g/dbs/*
--------查看磁盘组,(空间情况)
select name name2,state,type,free_mb,total_mb,usable_file_mb from v$asm_diskgroup;
--------查看磁盘情况
select GROUP_NUMBER,free_mb,total_mb,FAILGROUP,disk_number,MOUNT_STATUS,mode_status,STATE,
HEADER_STATUS,name name2,PATH
from v$asm_disk order by 4,5;
select disk_number,free_mb,total_mb,FAILGROUP,MOUNT_STATUS,STATE,HEADER_STATUS,PATH
from v$asm_disk order by 4,8;
/usr/sbin/oracleasm listdisks
sqlplus如何登录ASM实例
0、以ASM管理员用户登录(如有grid则为grid,如grid用户与oracle用户合并,则使用oracle)
1、$export ORACLE_SID='+ASM1'
2、$export ORACLE_HOME=/u01/app/11.2.0/grid
3、$sqlplus / as sysasm (不能用sysdba否则有权限问题,11g新增此功能)
4、打开grid/bin/asmcmd命令行,就可以对ASM中的文件进行操作,使用方法类似linux命令行
可以使用du rm -rf pwd ls等命令,使用help命令帮助
如何手动mount ASM磁盘组
sqlplus中
SQL>alter diskgroup oradata mount;
select state,name from v$asm_diskgroup;
ASM启动时自动挂载:
修改/u01/app/oracle/admin/+ASM/pfile/init.ora
添加磁盘组的名字,双节点都要添加
三、启动与关闭oracle rac常用命令
关闭rac数据库
[oracle@testrac2 ~]$ srvctl stop database -d testrac
关闭各节点ASM实例
[oracle@testrac2 ~]$ srvctl stop asm -n testrac1
[oracle@testrac2 ~]$ srvctl stop asm -n testrac2
关各节点服务,GSD/ONS/VIP/LISTENER等
[oracle@testrac2 ~]$ srvctl stop nodeapps -n testrac1
[oracle@testrac2 ~]$ srvctl stop nodeapps -n testrac2
启动rac数据库
[oracle@testrac2 ~]$ srvctl start nodeapps -n testrac1
[oracle@testrac2 ~]$ srvctl start nodeapps -n testrac2
[oracle@testrac2 ~]$ srvctl start asm -n testrac1
[oracle@testrac2 ~]$ srvctl start asm -n testrac2
[oracle@testrac2 ~]$ srvctl start instance -d testrac -i testrac1 -o mount
[oracle@testrac2 ~]$ srvctl start instance -d testrac -i testrac2 -o open
验证命令
SQL>select open_mode,name from v$database;
SQL>select status from v$instance;
SQL>select count(*) from dba_data_files;
关闭rac节点中的某个实例
[oracle@testrac2 ~]$ srvctl stop instance -d testrac -i testrac1 -o immediate
[oracle@testrac2 ~]$ srvctl stop asm -n testrac1
[oracle@testrac2 ~]$ srvctl stop nodeapps -n testrac1
[oracle@testrac2 ~]$ crs_stat -t -v
禁止ASM/DB实例自启动
[oracle@testrac2 ~]$ srvctl disable asm -n testrac1
[oracle@testrac2 ~]$ srvctl disable asm -n testrac2
[oracle@testrac2 ~]$ srvctl disable database -d testrac
默认安装后开机clusterware / ASM自动启动,rac数据库需要手动启动