手工删除ASM实例
ASM操作命令汇总
--------查看磁盘情况(kfod)
$ kfod disks=all
--------查看asm存储文件的层次图(树状)
select lpad(' ', 4*(level-1))||name name ,REFERENCE_INDEX,PARENT_INDEX,GROUP_NUMBER
order by a.type, a.file_number;
--------查看及修改asm重新平衡粒度
show parameter power
alter diskgroup datadg check all repair ;
ALTER DISKGROUP datadg REBALANCE POWER 11;
alter diskgroup datadg add failgroup failgp1 disk '/dev/vx/rdsk/asmdg1/asmvol19' ;
--------删除磁盘组的某个磁盘
alter diskgroup datadg drop disk DATADG_0000 ;
from v$asm_file a ,v$asm_alias b
where a.file_number=b.file_number
and a.GROUP_NUMBER = b.GROUP_NUMBER
order by 1,5;
--------
select a.group_number, a.file_number, pound_index, a.incarnation,
create tablespace data01 datafile '+DATA2' size 10200M;
卸载ASM实例
卸载ASM实例在使用ASM实例建库失败,需要卸载ASM实例,或者要重新安装,则需要先卸载ASM实例。
1)通过检查oratab文件来检查实例的oracle home目录2)利用DBCA卸载相应的数据库3)如果是使用ASM为存储方式,则执行以下步骤:a.# su – oracle$ ORACLE_SID=+ASM1$ export ORACLE_SID$ sqlplus /nologSQL> conn / as sysdbaSQL> select name from v$asm_diskgroup; //查看ASM使用的磁盘组SQL> drop diskgroup <diskgroup_name> including contents;<diskgroup_name>是这个ASM实例使用的磁盘组,需要先drop掉,如果有多个磁盘组,则执行多次这个命令。
在运行该命令时,可能会提示该磁盘组正被使用,那么在另一个节点连接到+ASM2实例,然后关闭-------------------------------------------------# su – oracle$ ORACLE_SID=+ASM2$ export ORACLE_SID$ sqlplus /nologSQL>conn / as sysdbaSQL> shutdown immediate---------------------------------------------------4)关闭所有节点的ASM实例节点1:# su – oracle$ ORACLE_SID=+ASM1$ export ORACLE_SID$ sqlplus /nologSQL> conn / as sysdbaSQL> shutdown immediate节点2:# su – oracle$ ORACLE_SID=+ASM2$ export ORACLE_SID$ sqlplus /nologSQL> conn / as sysdbaSQL> shutdown immediate5) 卸载ASM,可以使用DBCA的silent模式,也可以手工执行,如果是采取手工删除的方式,执行第6步骤使用DBCA的silent模式Dbca –silent –deleteASM –nodelist node1,node2 【其中,node1,node2为两个节点的主机名】6. 此步骤为手工卸载ASM的步骤:1)Srvctl remove –n nodename // 这条命令的作用是把ASM的信息从ocr文件中删除2)手工删除文件Rm –rf $ORACLE_HOME/dbs/*ASM*Rm –rf $ORACLE_BASE/admin/+ASM3). 把/var/opt/oratab文件中记录的有关ASM的那一行去掉。
ASM详解
ASM:Automatic Storage Management,是Oracle主推的一种面向Oracle的存储解决方案,ASM和RDBMS非常相似,ASM也是由实例和文件组成,也可以通过sqlplus工具来维护。
ASM实例的创建和删除也可以用DBCA这个命令来操作。
在dbca的第一个界面选择配置自动存储管理就可以了。
ASM实例需要CSS进程,如果是非RAC环境,在启动ASM实例之前会提示用脚本$ORACLE_HOME/bin/localconfig add启动CSS。
1.ASM实例由SGA和后台进程组成。
1.1SGA组成:ASM实例的SGA包括Buffer Cache,Share Pool,Large Pool等。
需要注意的是Share Pool,因为Extent Map要放在这部分的内存中,需要更具数据量来估计Extent Map的大小做相应的调整。
Extent Map的大小可以根据所有文件大小的和来估算,使用下面的语句来计算所有文件和:Select sum(bytes)/(1024*1024*1024)from v$datafile;Select sum(bytes)/(1024*1024*1024)from v$logfile a,v$log b where a.Group#=b.Group#;Select sum(bytes)/(1024*1024*1024)from v$tempfile where status='ONLINE';这3个sum的总和对应着数据库存放ASM中所有文件大小总和,对于使用External Redundancy的磁盘组,每100G需要1MB的Extent Map,根据这个比例计算Extent Map所需要的空间,在加上额外的2MB就可以了。
在实际工作中一般不需要考虑ASM SGA的配置,使用Oracle提供的缺省值就可以了。
1.2后台进程ASM实例比RDBMS实例多2个进程:RBAL和ABRn。
整理分析-ASM
1)启动和关闭ASM实例
2)安装或者卸载磁盘组
3)将磁盘组的状态改为ONLINE或者OFFLINE
4)调整磁盘组负载平衡
5)对磁盘组进行完整性检查。
6)访问V$ASM_*动态性能视图
asm实例重要的参数
3 failgroup fdisk2 disk '//./orcldiskdisk14' name disk14
4 failgroup fdisk3 disk '//./orcldiskdisk15' name disk15;
磁盘组已创建。
2. 删除磁盘组
首先确认数据库是否使用磁盘组
如何配置asm磁盘组
asm磁盘组是多个可管理的磁盘设备的逻辑集合,组成足够大的磁盘组,当磁盘组采用数据数据冗余时,可以实现数据的镜像和数据的分散存储,创建磁盘组时要考虑众多因素,如磁盘的块数,控制器及冗余级别,数据库的性能和可恢复性
1. asm的磁盘组中的磁盘大小及型号要相同,如果是不同型号,可以创建不同的磁盘组
instance_type
db_unique_name
asm_power_limit
asm_diskstring
asm_diskgroups
ASM有一些专用的初始化参数,而有些则是针对ASM实例而扩展了新的值。
1)INSTANCE_TYPE
对于ASM实例而言,这个参数值是ASM。对于传统的Oracle实例,值是RDBMS
SQL> select * from v$asm_client;
ASMCMD命令详解
mount 挂载磁盘组
offline 使磁盘或失效磁盘组离线
online 使磁盘或失效磁盘组上线
rebal 重新平衡磁盘组
remap 重定位数据在磁盘上的物理块的范围内
setattr 设置磁盘组属性
passwd 修改用户的密码
rmgrp 删除一个用户组
rmusr 删除一个用户
实例管理命令:
dsget 返回discovery diskstring
dsset 设置discovery diskstring
lsct 显示当前oracle ASM的客户端,一般指数据库实例和ASM实例,数据来源于V$ASM_CLIENT视图
lsop 显示当前磁盘组或ASM实例的操作,数据来源于V$ASM_OPERATION视图
umount 卸载磁盘组
模板管理命令:
chtmpl 修改模板属性 加模板到磁盘组
rmtmpl 从磁盘组删除模板
文件访问管理命令:
chgrp 修改文件或文件列表的用户组
chmod 修改文件或文件列表的权限
dropdg 删除磁盘组
iostat 显示磁盘IO统计,信息来源于V$ASM_DISK_IOSTAT视图
lsattr 显示磁盘组属性,信息来源于V$ASM_ATTRIBUTE视图
lsdg 显示已挂载的磁盘组和他们的信息,与ls -ls输出结果一样,信息来源于V$ASM_DISKGROUP_STAT视图,如果指定了--discovery,则查询V$ASM_DISKGROUP
lsdsk 显示ASM磁盘,信息来源于V$ASM_DISK_STAT视图;连接模式查询V$ASM_DISK_STAT and V$ASM_DISK返回信息;非连接模式通过扫描磁盘头来返回信息
ORACLE_ASM_概述
ORACLE_ASM_概述Oracle ASM(Automatic Storage Management)是Oracle数据库管理系统中的一项功能强大的存储管理技术。
它提供了一个集成的、高性能的存储解决方案,用于管理数据库文件、控制数据分布和提供高可用性。
下面将对Oracle ASM进行详细的概述。
Oracle ASM的主要目标是简化数据库存储的管理和维护。
它将数据文件和日志文件直接映射到操作系统的文件系统,而无需使用文件系统路径来引用它们。
这样做的好处是,ASM可以自动管理多个存储设备(如磁盘组),并为数据库文件提供统一的访问接口。
这样,数据库管理员就可以更轻松地管理存储设备,并且不需要了解底层的物理存储细节。
ASM使用逻辑概念来管理存储,这使得它与底层的物理存储设备解耦。
例如,ASM使用概念上的“磁盘组”来组织存储设备。
磁盘组是一个逻辑容器,它包含多个物理设备(如磁盘)并提供统一的命名空间。
ASM将数据文件分布在磁盘组的多个磁盘上,以提高性能和可靠性。
它还使用“重定义”来保持文件的完整性,并提供与文件相关的一致性保护机制。
使用ASM,数据库管理员可以更容易地配置和管理数据库存储。
例如,他们可以使用ASM命令来创建和管理磁盘组、向磁盘组添加/删除磁盘、创建/删除ASM实例等。
此外,ASM还提供了许多性能和可靠性方面的优势。
例如,ASM可以自动在磁盘组的多个磁盘上分布数据库文件,以提高I/O性能。
它还可以通过数据文件重定义来自动修复数据坏块,从而提供更高的数据可靠性。
另一个重要的特性是ASM可以与Oracle数据库实例无缝集成。
ASM可以自动识别ASM实例中的数据库文件,并为每个文件提供统一的命名约定。
这意味着数据库管理员可以在ASM文件系统中直接引用数据文件,而无需指定文件系统路径。
这大大简化了数据库管理中的一些重要任务,如备份和恢复操作。
值得注意的是,ASM并不是Oracle数据库的唯一存储选项。
使用 ASMCMD 工具管理ASM目录及文件
State Type Rebal Unbal Name
MOUNTED NORMAL N N DG1/
MOUNTED NORMAL N N DG2/
MOUNTED EXTERN N N REV/
State Type Rebal Unbal Name
MOUNTED NORMAL N N DG1/
MOUNTED NORMAL N N DG2/
MOUNTED EXTERN N N REV/
ASMCMD>ls-l --查看磁盘组的基本信息
mkdir
pwd
rm
rmalias
3.具体用法
[oracle@oradb ~]$ asmcmd-p ls-l --无需进入到ASMCMD命令提示符下完成相应的功能
Used_MB Mirror_used_MB
804 1541
ASMCMD>pwd --显示当前路径
+
ASMCMD>cd+DG1
ASMCMD>pwd
+DG1
ASMCMD>du
Used_MB Mirror_used_MB
732 1469
ASMCMD>find-t datafile+DG1/asmdb sys* --find用于查找对象
ASMCMD>ls-l+DG1/asmdb/spfi*
Type Redund Striped Time Sys Name
N spfileasmdb.ora=>+DG1/ASMDB/PARAMETERFILE/spfile.264.734886407
卸载oracle数据库的完整步骤
步骤1:停止Oracle服务在卸载Oracle 组件之前,首先必须停止Oracle服务。
具体方法:打开“管理工具”,选择“服务”,停止以Oracle或Ora开头的且处于“已启动”状态的每个Oracle服务,然后退出“服务”。
步骤2:用Database Configuration Assistant或DBCA卸载数据库使用该方法可将数据库连同其物理文件和目录全部删除(可选)。
如果在卸载数据库过程中,由于意外或其他原因,没有成功卸载数据库,则没有删除数据库文件及其相应的OracleService对此采用手工命令方式删除OracleService,并在资源管理器中直接删除该数据库所在的目录删除OracleService的方法是:在使用Oracle Database Configuration Assistant或DBCA卸载完数据库之后,通过oradim工具删除数据库实例服务。
注意,删除数据库之前不可先删除实例服务;否则,在使用Oracle Database Configuration Assistant或DBCA删除或卸载数据库时,会找不到所要卸载的数据库。
使用oradim命令删除实例服务的具体命令格式如下:oradim-delete-sid若无意中删除了OracleService且没有卸载数据库文件,则可重建OracleService。
重建OracleService的具体方法是,通过指定以下参数创建例程:oradim -new -sid sid|-srvc service[-intpwd password][-maxusers number][-startmode a|m][-pfile file][-timeout secs]其中参数说明如下:•new:建立新实例服务。
•si d:定义实例标识。
•intpwd:指定特权用户sys的口令。
其中,特权用户是指有启动、关闭Oracle Server以及建立数据等特权的用户。
ORACLE手工删除数据库
ORACLE⼿⼯删除数据库很多⼈习惯⽤ORACLE的DBCA⼯具创建、删除数据库,这⾥总结⼀下⼿⼯删除数据库实验的步骤,⽂中⼤量参考了乐沙弥的这篇博客的内容,当然还有Oracle官⽅相关⽂档。
此处实验环境为Oracle Linux Server release 5.7,数据库版本为10.2.0.5.0Step 1: .获得控制⽂件、数据⽂件,⽇志⽂件等相关信息获取这些信息,⼀⽅⾯是为了后⾯的建库做参考,另外⼀个是为了验证后⾯⼀些操作,如果这些都没有必要,其实是可以可以跳过这⼀步的。
SQL> select status ,name from v$controlfile;SQL> select * from v$dbfile;SQL> select * from v$logfile;SQL>archive log list;Step 2: 停⽌监听服务和OEM$lsnrctl stop 或 lsnrctl stop listener_name[oracle@DB-Server ~]$ emctl stop dbconsoleTZ set to HongkongOracle Enterprise Manager 10g Database Control Release 10.2.0.5.0Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved.:1158/em/console/aboutApplicationStopping Oracle Enterprise Manager 10g Database Control ...Cannot determine Oracle Enterprise Manager 10g Database Control process. /u01/app/oracle/product/10.2.0/db_1/xxxxx_xxx/emctl.pid does not exist.Step 3: 关闭数据库实例SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.Step 4:启动到数据库实例到mount状态使⽤exclusive restart或普通模式都可以SQL> startup mount exclusive restrict;或SQL> startup mount;Step 5: 修改参数为允许受限的会话模式这⼀步骤是必须的,否则在drop database时会报ORA-01586: database must be mounted EXCLUSIVE and not open for this operationSQL> alter system enable restricted session;Step 6:使⽤drop database命令来清除数据库SQL> drop database;drop database 命令会删除控制⽂件和在控制⽂件中所列的数据⽂件,如果数据库正在使⽤spfile⽂件,则⼀并删除。
第三十九篇:ASM数据清理
ASM数据清理ASM data scrubbing根据维基百科,数据清理(data scrubbing)的定义是“一种数据纠错技术,利用后台任务周期性的扫描内存或存储的错误,在检测到错误后利用数据的多余副本来对数据进行纠正,数据清理可以减少数据错误不断累计的可能性,进而降低由数据错误带来的风险”。
数据清理(disk scrubbing)是Oracle 12C ASM出现的新功能,Oracle ASM 12C官方文档中写道,”ASM的磁盘清理通过校验不经常被读取的数据,提高了可用性和可靠性,对于磁盘组是normal 和high redundancy冗余模式的,磁盘清理会检查数据的逻辑错误,在发现后利用镜像磁盘进行错误的自动修复,同时磁盘清理利用了磁盘组的冲平衡功能来降低IO资源的消耗“。
首先我们来构造一个实验,我的环境中有一个normal冗余的磁盘组DATA,有一点需要在这里指出来,本环境中的磁盘管理是通过12.1.0.2的ASM filter driver (AFD)来做的。
译者注:AFD,这是一个可以取代ASMLIB 和udev 设置的新功能,并且还增加了I/O Filter 功能,该功能可以拒绝所有无效的I/O 请求,最主要的作用是防止意外覆写ASM 磁盘的底层盘。
[grid@dbserver]$ sqlplus / as sysasmSQL*Plus: Release 12.1.0.2.0 Production on Tue Dec 8 14:08:22 2015...SQL> select NAME, TYPE, STATE from v$asm_diskgroup_stat;NAME TYPE STATE------------ ------ -----------DATA NORMAL MOUNTEDSQL> select DISK_NUMBER, PATH from v$asm_disk_stat;DISK_NUMBER PATH----------- ----------------0 AFD:ASMDISK012 AFD:ASMDISK034 AFD:ASMDISK051 AFD:ASMDISK02我在这个磁盘组中创建了一些数据文件:我们可以通过ASM的清理功能去对一个磁盘组、一个盘、一个文件做清理,下面的例子里,我们演示对一个ASM文件做清理。
ASM实例
5-7
Copyright © 2009, Oracle. All rights reserved.
数据库实例与ASM之间的交互
ASM 实例
System Global Area
Database 实例
System Global Area
Shared Pool Large Pool Buffer Cache
创建Oracle Enterprise Manager 管理ASM用户
5 - 12
Copyright © 2009, Oracle. All rights reserved.
启动和停止 ASM 实例使用 SQL*Plus
使用 SQL*Plus 启动和停止 ASM 实例与启动和停止数据库实例 的方式相似。
5-9
Copyright © 2009, Oracle. All rights reserved.
ASM 实例:动态性能视图
ASM 实例托管基于内存的元数据表,这些表通过动态性能视图 呈现。 • ASM 实用程序使用SQL语言访问这些表来检索仅含元数据 的信息。 • 包含许多专用的ASM相关视图,例如:
asmcmd 实用程序提供了一个访问ASM的命令行界面,无需使用 SQL语言。
$ . oraenv ORACLE_SID = [orcl] ? +ASM The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/grid is /u01/app/oracle $ asmcmd Connected to an idle instance. ASMCMD> startup ASM instance started Total System Global Area 284565504 Fixed Size 1336028 Variable Size 258063652 ASM Cache 25165824 ASM diskgroups mounted ASM diskgroups volume enabled ASMCMD> shutdown --abort ASM instance shut down Connected to an idle instance. bytes bytes bytes bytes
关于GRID和ASM安装(1)
关于GRID和ASM安装(1)ORACLE LINUX系统内置3个ASM包其他LINUX需要到官⽹下载,内核号必须对应。
暂时还没⽤到其他系统安装ASM 。
具体步骤以后再补,ASM需要裸盘,就是⽆任何数据的盘,虚拟机上实验的时候需重新添加硬盘。
如果⽤有数据的盘会报错:Unable to open device "/dev/sba1": Device or resource busy运⾏./runInstaller跳出错误提⽰Starting Oracle Universal Installer...Checking Temp space: must be greater than 80 MB. Actual 33355 MB PassedChecking swap space: must be greater than 150 MB. Actual 4094 MB PassedChecking monitor: must be configured to display at least 256 colors>>> Could not execute auto check for display colors using command>>> /usr/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed>>> <<<<Some requirement checks failed. You must fulfill these requirements beforecontinuing with the installation,Continue? (y/n) [n]⽤以下办法解决Steps to resolve this issue:1) login into root user( su -l root)2) execute this command : xhost +SI:localuser:oracle3) login to the oracle user4) execute ./runInstaller这个问题好像是因为是⽤root⽤户登⼊的系统,只在命令⾏切换了oracle⽤户,可log out后⽤oracle⽤户登⼊就解决了。
srvctl用法
ALTER SYSTEM CHECKPOINT
ALTER SYSTEM CHECKPOINT GLOBAL
ALTER SYSTEM ARCHIVE LOG CURRENT
验证实例运行状况
CONNECT / as SYSDBA
SELECT * FROM V$ACTIVE_INSTANCES;
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = sorcl2)
(FAILOVER_MODE =
(TYPE = SELECT)(METHOD = BASIC)(RETRIES = 180)(DELAY = 5)
[-m {NONE | BASIC}] #Failover方法
[-z failover_retries] #Failover重试次数
[-w failover_delay] #Failover延迟时间(秒)
srvctl stop database -d db_unique_name [-o stop_options]
转换Administrator-Managed Database到Policy-Managed Database
1.检查当前所有服务和数据库的状态
srvctl config database -d db_unique_name
policy-managed databases
srvctl start instance -d db_unique_name -n node_name [-o start_options]
2.停止实例
srvctl stop instance -d db_unique_name -i "instance_name_list" | -n node_name -o stop_options
ASM实例和管理
ASM实例和管理一.ASM的特点1.自动调整I/O负载ASM可以在所有可用的磁盘中自动调整I/O负载,不但避免了人工调整I/O难度,而且优化了性能的同时,利用ASM可以在线增加数据库的大小,而无需关闭数据库。
2.条带化储存ASM将文件分为多个分配单元(allocation units,简称AU)进行存储,并在所有磁盘间分配每个文件的AU。
3.在线自动负载均衡当共享存储设备有变化时,ASM中的数据会自动的均分配到现有存储设备中。
同时,还可以调节数据的负载均衡速度。
4.自动管理数据库文件在ASM存储管理中,oracle数据文件是ASM自动管理的。
ASM创建的任何文件一旦不再需要,就会自动删除。
但是,ASM不管理二进制文件、跟踪文件、预警文件和口令文件。
5.数据冗余ASM通过磁盘组镜像可以完成实现数据冗余,而不需要第三方工具来实现。
6.支持各种oracle数据文件ASM存储支持oracle数据文件、日志文件、控制文件、归档日志、RMAN备份集等。
二.ASM的结构图从图中可以看出ASM的物理组成结构,在最顶层是ASM磁盘组,ASM实例和数据库实例可以直接访问这些磁盘组;然后是ASM文件,每个ASM文件只能包含在一个磁盘组中,不过,一个磁盘组中可以包含属于多个数据库的多个ASM文件,并且单个数据库可以使用来自多个磁盘组的存储空间;第三部分是ASM磁盘,多个ASM磁盘组成了ASM磁盘组,但每个ASM磁盘只能属于一个磁盘组;接着是分配单元(AU),分配单元是ASM磁盘组分配的最小连续磁盘空间,ASM磁盘是按照AU进行分区,每个AU的大小为1MB;在这个结构的的最底层是oracle数据块,由于AU是ASM分配的最小的连续磁盘空间,因此,ASM是不允许跨分配单元拆分一个oracle数据块的。
三.ASM的体系结构与后台进程1.要使用ASM,需要启动数据库实例之前,先启动一个名叫“+ASM”的实例,ASM 实例不会装载数据库,它启动的目的是位了管理磁盘组和保护其中的数据。
Oracle高级课程实操案例4-RAC删除节点
RAC环境中删除节点1删除实例在非将要删除的节点上操作[root@class1 oracle]# xhost +access control disabled, clients can connect from any host[root@class1 oracle]# su - oracle[oracle@class1 ~]$ export DISPLAY=":0.0"[oracle@class1 ~]$ export LANG=en_US[oracle@class1 ~]$ dbcaWarning: Cannot convert string "-b&h-lucida-medium-r-normal-sans-*-140-*-*-p-*-iso8859-1" to type FontStruct选择“Oracle RAC database”并单击“Next”按钮。
列出了可以使用DBCA执行的所有的操作列表。
选中“Instance Management”,然后单击Next按钮。
选择“Delete an Instance”列出了该节点上运行的集群数据库列表,在节点class1上的数据库是ORCL,选择该数据库。
在屏幕的下半部分,DBCA要求利用SYSDBA系统特权指定一个用户以及密码,并单击“Next”选择一个要删除的实例,这里选择class3,点击“Next”后点击“Finish”确定删除,点击“OK”点击“OK”。
开始进行删除操作点击“No”,结束删除操作。
[oracle@class1 ~]$ crs_stat -v -tName Type R/RA F/FT Target State Host--------------------------------------------------------------------------------------------------------------- ora....L1.inst application 0/5 0/0 ONLINE ONLINE class1 ora....L2.inst application 0/5 0/0 ONLINE ONLINE class2 ora.ORCL.db application 0/1 0/1 ONLINE ONLINE class1 ora....SM1.asm application 0/5 0/0 ONLINE ONLINE class1 ora....S1.lsnr application 0/5 0/0 ONLINE ONLINE class1 ora.class1.gsd application 0/5 0/0 ONLINE ONLINE class1 ora.class1.ons application 0/3 0/0 ONLINE ONLINE class1 ora.class1.vip application 0/0 0/0 ONLINE ONLINE class1 ora....SM2.asm application 0/5 0/0 ONLINE ONLINE class2 ora....S2.lsnr application 0/5 0/0 ONLINE ONLINE class2 ora.class2.gsd application 0/5 0/0 ONLINE ONLINE class2 ora.class2.ons application 0/3 0/0 ONLINE ONLINE class2 ora.class2.vip application 0/0 0/0 ONLINE ONLINE class2 ora....SM3.asm application 0/5 0/0 ONLINE ONLINE class3 ora....S3.lsnr application 0/5 0/0 ONLINE ONLINE class3 ora.class3.gsd application 0/5 0/0 ONLINE ONLINE class3ora.class3.ons application 0/3 0/0 ONLINE ONLINE class3ora.class3.vip application 0/0 0/0 ONLINE ONLINE class32删除ASM实例[oracle@class1 ~]$ cd /oracle/product/database/bin/[oracle@class1 bin]$ ./srvctl stop asm -n class3注意执行此命令可能报如下的错误:/oracle/product/database/jdk/jre/bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory此时需要修改当前目录下的srvctl文件,在LD_ASSUME_KERNEL=2.4.19,后面添加如下内容:unset LD_ASSUME_KERNEL[oracle@class1 bin]$ ./srvctl remove asm -n class3上述两个命令执行完毕之后,目标节点的ASM实例就已经被删除了,确认:[oracle@class1 bin]$ crs_stat -tName Type Target State Host------------------------------------------------------------------------------------------ora....L1.inst application ONLINE ONLINE class1ora....L2.inst application ONLINE ONLINE class2ora.ORCL.db application ONLINE ONLINE class1ora....SM1.asm application ONLINE ONLINE class1ora....S1.lsnr application ONLINE ONLINE class1ora.class1.gsd application ONLINE ONLINE class1ora.class1.ons application ONLINE ONLINE class1ora.class1.vip application ONLINE ONLINE class1ora....SM2.asm application ONLINE ONLINE class2ora....S2.lsnr application ONLINE ONLINE class2ora.class2.gsd application ONLINE ONLINE class2ora.class2.ons application ONLINE ONLINE class2ora.class2.vip application ONLINE ONLINE class2ora....S3.lsnr application ONLINE ONLINE class3ora.class3.gsd application ONLINE ONLINE class3ora.class3.ons application ONLINE ONLINE class3ora.class3.vip application ONLINE ONLINE class3可以看出,class3中运行的ASM和instance均已经不存在了,此时虽然相关应用均已被删除,不过ASM实例相关的pfile以及一些trc文件仍然存在,可以通过OS命令删除相关文件:[oracle@class3 +ASM]$ pwd/oracle/admin/+ASM[oracle@class3 +ASM]$ rm -rf *[oracle@class3 oracle]$ cd $ORACLE_HOME/dbs[oracle@class3 dbs]$ rm -rf init+ASM*[oracle@class3 dbs]$ rm -rf orapw+ASM3[oracle@class3 dbs]$ rm -rf hc_+ASM3.dat[oracle@class3 dbs]$ rm -rf ab_+ASM3.dat[oracle@class3 dbs]$ vi /etc/oratab --删掉文件中内容3删除监听服务在非要删除的节点上执行[oracle@class1 dbs]$ netcaOracle Net Services Configuration:Warning: Cannot convert string "-b&h-lucida-medium-r-normal-sans-*-140-*-*-p-*-iso8859-1" to type FontStruct选择“Cluster configuration”,点击“Next”。
oracle11gracforlinuxdeletenode(11GRAC节点删除步骤正常。。。
oracle11gracforlinuxdeletenode(11GRAC节点删除步骤正常。
说明:测试的RAC只2个节点,整体步骤来⾃ORACLE 官⽅⽂档:步骤 3从cluster中删除节点来⾃ORACLE 官⽅⽂档(Deleting a Cluster Node on Linux and UNIX Systems):注意:⼀共两套实验,⼀套是正常删除ogg数据库;⼀套异常删除(orcl),即RAC 节点2服务器DOWN掉极端情况,集群资源RAC2 也相应全部停掉。
RAC2 down 掉只需要执⾏以下步骤删除节点2:第⼀步:1.1或者1.2第⼆步:1.3 删除后验证第三步:2.2.3第四步:3.2.2、3.3.3、3.3.4如果被删除节点2情况介于两种之间,还有活动的集群资源,需要按照⼀步⼀步的⼿动执⾏⽂档中所有步骤(除了3.2.2)。
实验环境情况如下:实验节点名称数据库实例名操作系统数据库版本正常情况删除rac1/rax2orcl1/orcl2Linux 6.X oracle11.2.0.4异常情况删除racdg1/racdg2ogg1/ogg2Linux 6.X Oracle11.2.0.4grid:GRID_HOME 名称为 ORACLE_HOME 路径为:/u01/app/11.2.0/gridoracle:ORACLE_HOME 路径为:/u01/app/oracle/product/11.2.0/dbhome_1操作⼤致步骤删除ORACLE rac 实例删除ORACLE rac软件从cluster中删除节点1、删除ORACLE rac 实例1.1dbca图形界⾯删除查看删除前实例线程状态:正常库实验:异常库实验:Oracle ⽤户dbca例如节点2服务器坏掉,从节点1上执⾏dbca以下为停⽌实例命令(服务器节点2 DOWN掉直接删实例):$ srvctl stop instance -d db_unique_name -n node_name$ srvctl relocate server -n node_name -g Free⼤致步骤如下:后⾯继续……1.2 dbca静默删除官⽅命令模板:dbca -silent -deleteInstance [-nodeList node_name] -gdbName gdb_name -instanceName instance_name -sysDBAUserName sysdba -sysDBAPassword password如删除节点2实例:在好的节点上执⾏:正常的删除:报错如下:查看SCAN_LISTENER 在节点2运⾏处理:我是尝试重启了两台服务器(虚拟机简单粗暴先全部关闭,再启动节点1,最后启动节点2),可以尝试在节点1上启停SCAN_listener, listener,让SCAN_listener 运⾏在节点1。
卸载ASM实例
卸载ASM实例在使用ASM实例建库失败,需要卸载ASM实例,或者要重新安装,则需要先卸载ASM实例。
1)通过检查oratab文件来检查实例的oracle home目录2)利用DBCA卸载相应的数据库3)如果是使用ASM为存储方式,则执行以下步骤:a.# su – oracle$ ORACLE_SID=+ASM1$ export ORACLE_SID$ sqlplus /nologSQL> conn / as sysdbaSQL> select name from v$asm_diskgroup; //查看ASM使用的磁盘组SQL> drop diskgroup <diskgroup_name> including contents;<diskgroup_name>是这个ASM实例使用的磁盘组,需要先drop掉,如果有多个磁盘组,则执行多次这个命令。
在运行该命令时,可能会提示该磁盘组正被使用,那么在另一个节点连接到+ASM2实例,然后关闭-------------------------------------------------# su – oracle$ ORACLE_SID=+ASM2$ export ORACLE_SID$ sqlplus /nologSQL>conn / as sysdbaSQL> shutdown immediate---------------------------------------------------4)关闭所有节点的ASM实例节点1:# su – oracle$ ORACLE_SID=+ASM1$ export ORACLE_SID$ sqlplus /nologSQL> conn / as sysdbaSQL> shutdown immediate节点2:# su – oracle$ ORACLE_SID=+ASM2$ export ORACLE_SID$ sqlplus /nologSQL> conn / as sysdbaSQL> shutdown immediate5) 卸载ASM,可以使用DBCA的silent模式,也可以手工执行,如果是采取手工删除的方式,执行第6步骤使用DBCA的silent模式Dbca –silent –deleteASM –nodelist node1,node2 【其中,node1,node2为两个节点的主机名】6. 此步骤为手工卸载ASM的步骤:1)Srvctl remove –n nodename // 这条命令的作用是把ASM的信息从ocr文件中删除2)手工删除文件Rm –rf $ORACLE_HOME/dbs/*ASM*Rm –rf $ORACLE_BASE/admin/+ASM3). 把/var/opt/oratab文件中记录的有关ASM的那一行去掉。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2节点RAC
CRS-->Listener-->ASM实例
到这里时,ASM实例创建好了,crs_stat -t也可以看到这ASM实例:
[oracle@db1 ~]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....SM1.asm application ONLINE ONLINE db1
ora....B1.lsnr application ONLINE ONLINE db1
ora.db1.gsd application ONLINE ONLINE db1
ora.db1.ons application ONLINE ONLINE db1
ora.db1.vip application ONLINE ONLINE db1
ora....SM2.asm application ONLINE ONLINE db2
ora....B2.lsnr application ONLINE ONLINE db2
ora.db2.gsd application ONLINE ONLINE db2
ora.db2.ons application ONLINE ONLINE db2
ora.db2.vip application ONLINE ONLINE db2
但是继续往后时,ASM磁盘组发现不了ASM磁盘.
接着看日志${ORACLE_HOME}/log/${Node_Name}/:
2010-01-14 01:39:40.138: [ RACG][3086912256] [30872][3086912256][ora.db2.ASM2.asm]:
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jan 14 01:39:34 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Enter user-name:
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning,
2010-01-14 01:39:40.138: [ RACG][3086912256] [30872][3086912256][ora.db2.ASM2.asm]: Real Application Clusters, OLAP and Data Mini
ng options
SQL> ORA-15100: invalid or missing diskgroup name
ASM instance shutdown
SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Ap
2010-01-14 01:39:40.138: [ RACG][3086912256] [30872][3086912256][ora.db2.ASM2.asm]: plication Clusters, OLAP and Data Mining opti
ons
这时我可以看到ASM磁盘的卷标的:
[oracle@db1 dbs]$ /etc/init.d/oracleasm listdisks
VOL1
然后我手工删除ASM实例和相关的文件:
[oracle@db1 ~]$srvctl remove asm -n db1
[oracle@db1 ~]$cd ${ORACLE_BASE}/admin
[oracle@db1 admin]$rm -rf +ASM
[oracle@db1 dbs]$cd ${ORACLE_HOME}/dbs
[oracle@db1 dbs]$ rm -rf init+ASM1.ora
[oracle@db1 dbs]$ rm -f ab_+ASM1.dat
[oracle@db1 dbs]$ rm -f hc_+ASM1.dat
[oracle@db1 dbs]$ rm -f orapw+ASM1
[oracle@db1 dbs]$vi /etc/oratab
将+ASM1:/oracle/product/10.2.0/db:N注释
另外一个节点也同上面的操作.
最后擦除这个ASM磁盘数据:
[oracle@db1 ~]#dd if=/dev/zero of=/dev/sdc1 bs=1024 count=3140676
重启,再创建ASM实例,还是同上面的在ASM磁盘组里发现不了ASM磁盘,而且说数据库实例已启动.怪了:我是先创建ASM实例,再创建数据库实例了,这时ASM实例创建的时候,数据库实例尚未创建那!
请问运行dbca进行ASM配置完,asm还有别的配置文件需要清除?
还有/etc/init.d/oracleasm createdisk VOL1 /dev/sdc1 后,会往/dev/sdc3里写数据吗?
asmdiskstring和asmdiskgroup都必须指定吗? 我上面用的卷标是VOL1,那么asmdiskstring写成'ORCL:VOL*'那,还是'VOL*' ?。