卸载ASM实例
- 格式:docx
- 大小:14.39 KB
- 文档页数:2
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.1 SGA 组成: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 所需要的空间,在加上额外的2M B就可以了。
在实际工作中一般不需要考虑ASM SGA的配置,使用Oracle 提供的缺省值就可以了。
陈收集附录三星研集成环境软件3.1软件安装3.1.1安装星研集成环境软件一.新用户安装步骤使用光盘安装:1.将仿真器、实验仪所配CD插入CD-ROM驱动器。
2.在“我的电脑”或“资源管理器”中选择CD-ROM驱动器\星研,然后运行SETUP.EXE文件即可进入安装界面。
3.中文界面,用户只需按程序提示一步一步进行安装即可。
使用Internet下载文件的用户1.运行下载文件(XingYan.exe),软件自动执行安装程序。
2.安装程序为中文显示,用户只需按程序提示一步一步进行安装即可。
二.已安装过低版本星研集成环境软件的用户的安装步骤:1.首先将原来的低版本软件进行卸载,具体步骤请参考“软件卸载”部分的内容。
2.以后按新用户的安装步骤进行安装。
在安装过程中,如果用户没有指定安装目录,安装完成后会在C:盘建立一个C:\XINGYAN 目录(文件夹),结构如下:XingYan可执行文件、DLL文件、寄存器文件EXAMPLES例子程序3.1.2软件卸载1.进入控制面板,运行“添加/删除程序”。
2.进入“添加/删除程序”窗口,在“安装/卸载”页面上的列表中选择“星研集成环境软件”,按“删除”按钮,之后按自动卸载程序的说明一步一步地操作即可。
3.1.3USB驱动程序1、USB驱动程序的安装通过USB(通用串口总线)接口将微机与仿真器、实验仪相连,打开仿真器、实验仪电源。
仿真器、实验仪与微机的第一次连接引起驱动程序的安装会变得很简单,您只需等待安装过程的结束或按驱动程序的安装向导执行完即可。
驱动程序的安装会出现如下界面:实际的界面可能有些差别,请等待该过程的结束。
驱动程序的安装过程中,请勿执行其它应用程序。
2、如何解决连接不上的情况如果仿真器、实验仪与微机连接不上是由于未按正确步骤造成的,可根据以下步骤解决:Window98/WindowMe:重新安装星研集成环境软件,关闭仿真器电源,稍等几秒钟,再打开电源,等待操作系统安装新的驱动程序结束后,运行星研软件即可。
卸载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 including contents;是这个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的那一行去掉。
Oracle 11g RAC维护参考RAC集群,全称Real Application Clusters,译为“实时应用集群”,是Oracle提供的一种高可用、并行集群系统,RAC除了具有高可用能力还有负载均衡能力,整个RAC集群系统由Oracle Clusterware (集群软件)和Real Application Clusters(RAC)两大部分组成。
1硬件环境RAC集群的硬件环境包括主机、共享存储、网络设备。
1.1主机(节点)RAC集群环境中至少有两台主机,也就是两个节点,每个节点配置一样的硬件,至少配置两块物理网卡。
1.2网络设备网卡,每个RAC集群节点上至少配置两块物理网卡。
一块网卡用于集群内部的私有通信,集群节点间数据块的传输都是通过这块网卡,我们称之为私有网卡,IP别名Private IP;另一块网卡用于对外服务,比如数据库的查询等,我们称之为公有网卡,IP别名Public IP。
除此之外,每个节点还有第三个VIP(Virtual IP)的IP。
RAC集群正常运行时,每个节点的VIP会被分配到公有网卡上,当某个节点出现故障宕机时,这个节点的VIP会被移到其它正常运行节点的公有网卡上。
网络交换机,首先,用于连接所有节点的公有网卡以提供对外的数据库服务,其次,用于连接各个节点之间的私有网卡以传递集群节点之间的心跳数据和数据库数据块(Cache Fusion)。
1.3共享存储在RAC集群中,最重要的是共享存储,RAC是一个“多实例、单一数据库”的架构,所有的节点共享一个数据库。
数据文件、联机日志、参数文件、控制文件存放在共享存储上以保证每个节点的实例都能访问。
每个节点安装HBA卡,然后通过光纤线和存储设备连接。
2软件环境RAC集群的软件组成包含:操作系统、集群软件、数据库软件。
2.1操作系统每个节点上所安装的操作系统必须是相同版本的。
2.2集群软件Oracle Clusterware(统称为CRS/Cluster Ready Service)集群软件,负责管理整个集群环境中的硬件资源,并为上层的RAC集群提供基础服务。
内核为2.6.32。
卸载模块target时,不管是否为强制卸载,都输出:ERROR:Module target is in use.用lsmod查看target,发现Used by计数为1,而据我所知,没有其它模块依赖target。
编写模块检查target的module结构,发现:target->state == 0 // 模块存活module_refcount(target) == 1 // 模块引用计数为1list_empty(target->modules_which_use_me) == 1 // 模块依赖列表为空这个就很奇怪,模块的引用计数为1,却没有引用者。
这可能是模块插入内核时出错而引起的,这里先不研究,先关注怎么把它强制卸载掉,虽然insmod加载是临时的,所以通过重启电脑可以解决一些问题,但是不能总是依靠重启啊。
解决方法:编写模块mymod中把问题模块target的引用计数置为0,就可以顺利卸载掉target了!代码[java]view plaincopy1.#include<linux/init.h>2.#include<linux/module.h>3.#include<linux/kernel.h>4.#include<linux/list.h>5.#include<linux/cpumask.h>6.7.static int __init mymod_init(void)8.{9. struct module *mod,*relate;10. int cpu;11.12. // 打印本模块的模块名和模块状态13. printk(KERN_ALERT"[insmod mymod] name:%s state:%d\n",THIS_MODULE->name,THIS_MODULE->state);14.15. // 遍历模块列表,查找target模块16. list_for_each_entry(mod,THIS_MODULE->list.prev,list)17. {18. if(strcmp(mod->name,"target")==0) {19.20. // 打印target的模块名、模块状态、引用计数21. printk(KERN_ALERT"name:%s state:%d refcnt:%u ",mod->name,mod->state,module_refcount(mod));22.23. // 打印出所有依赖target的模块名24. if(!list_empty(&mod->modules_which_use_me)) {25. list_for_each_entry(relate,&mod->modules_which_use_me,modules_which_use_me)26. printk(KERN_ALERT"%s ",relate->name);27. } else28. printk(KERN_ALERT"used by NULL\n");29.30. // 把target的引用计数置为031. for_each_possible_cpu(cpu)32. local_set(__module_ref_addr(mod,cpu),0);33.34. // 再看看target的名称、状态、引用计数35. printk(KERN_ALERT"name:%s state:%d refcnt:%u\n",mod->name,mod->state,module_refcount(mod));36. }37. }38. return 0;39.}40.41.static void __exit mymod_exit(void)42.{43. printk(KERN_ALERT"[rmmod mymod] name:%s state:%d\n",THIS_MODULE->name,THIS_MODULE->state);44.}45.46.module_init(mymod_init);47.module_exit(mymod_exit);48.49.MODULE_AUTHOR("Zhangsk");50.MODULE_LICENSE("GPL");51.MODULE_DESCRIPTION("Why module can not be removed"); 内核@include/linux/module.h:[java]view plaincopy1.extern struct module __this_module;2.#define THIS_MODULE (&__this_module);3.4.enum module_state{5. MODULE_STATE_LIVE; // 模块存活,06. MODULE_STATE_COMING; // 正在加载模块,17. MODULE_STATE_GOING; // 正在卸载模块,28.};9.10.struct module {11. enum module_state state; // 模块状态12.13. /* Member of list of modules */14. struct list_head list; // 内核模块链表15.16. /* Unique handle for this module */17. char name[MODULE_NAME_LEN]; //模块名称18.19. ...20.21.#ifdef CONFIG_MODULE_UNLOAD22. /* What modules depend on me? */23. struct list_head modules_which_use_me;24.25. /* Who is waiting for us to be unloaded */26. struct task_struct *waiter;27.28. /* Destruction function. */29. void (*exit) (void);30.31.#ifdef CONFIG_SMP32. char *refptr;33.#else34. local_t ref;35.#endif36.#endif37.38. ...39.40.};41.42.static inline local_t *__module_ref_addr(struct module *mod, int cpu)43.{#ifdef CONFIG_SMP44. return (local_t *) (mod->refptr + per_cpu_offset(cpu));45.#else46. return &mod->ref;47.#endif48.}@include/asm-generic/atomic.h:[java]view plaincopy1.typedef atomic64_t atomic_long_t;@include/linux/types.h:[java]view plaincopy1.typedef struct {2. volatile int counter;3.} atomic_t;4.5.#ifdef CONFIG_64BIT6.typedef struct {7. volatile long counter;8.} atomic64_t;9.#endif@arch/x86/include/asm/local.h:[java]view plaincopy1.typedef struct {2. atomic_long_t a;3.} local_t;4.5.#define local_read(l) atomic_long_read(&(l)->a)6.#define local_set(l, i) atomic_long_set(&(l)->a, (i))7.8.//此外还有加减操作@include/asm-generic/percpu.h:[java]view plaincopy1.#ifdef CONFIG_SMP2.3./** per_cpu_offset() is the offset that has to be added to a percpu variable to get the instance for4. * a certain processor. * Most arches use the __per_cpu_offsetarray for those offsets but some arches have their own5. * ways of determining the offset (x86_64, s390).6. */7.8.#ifndef __per_cpu_offset9.extern unsigned long __per_cpu_offset[NR_CPUS];10.#define per_cpu_offset(x) (__per_cpu_offset[x])11.#endif。
本文由DSTWS贡献ppt文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
第1章Oracle10g安装卸载与使用环境1.1 Oracle产品⑴数据库产品 Oracle Database 10g Release 2 (10.2.0.1.0) ⑵客户端产品 Oracle Database 10g Client Release 2 (10.2.0.1.0) ⑶企业管理产品 Oracle Enterprise Manager 10g Grid Control Release 2 (10.2.0.2.0),主要包括: Oracle管理代理OMA(Oracle Management Agent),Oracle 管理服务OMS(Oracle Management Service),Oracle管理资料档案库OMR(Oracle Management Repository)以及Oracle 企业管理器OEM(Oracle Enterprise Manager 10g)网格控制台等,是系统多层体系结构和网格计算环境所不可缺少的管理工具。
该产品大小为1,729,778,063 字节,约1.64GB⑷中间件产品 Oracle Application Server 10g和Oracle Collaboration Suite 10g。
前者提供了基本的 Web服务环境,也是运行企业管理器的基础。
⑸开发工具 Oracle Developer Suite 10g和Oracle JDeveloper 10g1.1.2 产品的获取直接从Oracle的官方网站下载。
网址:/technology/software。
? 下载的软件与正版产品有区别:Oracle 所能够支持的用户数量、处理器数量以及磁盘空间和内存的大小不同。
当Oracle安装完以后,还需要直接到OracleMetaLink网站下载最新的补丁包,其网址是:/ ? 只有购买正版Oracle产品并获得授权许可的用户才拥有注册码并可以登录该网站。
1.每个数据库有且只有一个()。
A.次要数据文件B.主要数据文件C.日志文件D.索引文件↑答案:B2.当前数据库运行在open状态,LISTENER 也正常运行,此刻一个dba 执行如下命令 LSNRCTL> STOP 下面的描述中那个是正确的?A.会话只能执行查询操作B.连接的会话不允许做任何操作直到监听启动C.当前连接的会话不受影响,操作继续D.会话断掉,并且当前的事物回滚↑答案:C3.onstat -g act命令是用于显示___A.VP信息B.所有线程信息C.当前活动线程↑答案:C4.HDR集群中参数DRAUTO设置为2,若此时关闭HDR主机,则___A.HDR备用数据库将转换为主用模式,原HDR主用恢复成备用模式B.由连接管理器中的FOC切换规则来切换C.HDR备用数据库将保持为备用模式,在主用恢复后自动恢复HDR连接D.HDR备用数据库将转换为标准模式,在主用恢复后自动转换为备用恢复HDR 连接↑答案:A5.下列关于Oracle支持的锁粒度描述正确的是?A.数据库级、表级、行级、列级B.数据库级、表级、行级C.行级、列级D.列级、表级↑答案:A6.当执行一个存储过程时,服务器到哪里查询该存储过程( )A.modelB.masterC.sybsystemdbD.sybsystemprocs↑答案:D7.作为一个ORACLE DBA,你运行以下的SQL命令查询ASM实例,查询结果的含义是什么? SQL> select group_number, name, state fromv$ASM_DISKGROUP; GROUP_NUMBER NAME STATE 0 DGROUP1 DISMOUNTED 2 DGROUP2 MOUNTED 3 DGROUP3 MOUNTEDA.DGROUP1磁盘组被其他的DBA卸载了B.一个多余的磁盘(DGROUP1)将在磁盘组中丢失C.一个数据文件丢失,原因是DGROUP1磁盘组正在进入DISMOUNTED状态D.这个查询在ASM实例中没有意义↑答案:A8.IDS存储中分配给服务器的一个连续的磁盘空间的单位是___A.chunkB.dbspacesC.pageD.extentE.tblsapces↑答案:A9.为了查看SQL Server对系统资源的使用情况,可以启动系统监视器监视。
步骤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 11g及其安装问题的方法杨茜玲;彭勇【摘要】在机房中安装Oracle 11g,由于电脑太多,不方便逐台安装,因此现在的安装方式是:先制作母盘,再进行硬盘对拷,但是对拷后的机器oracle不能直接使用,必须修改一系列设置.同样,如果Oracle 11g删除不干净,重新安装将会出错.本文将详细介绍如何在Winu0016dows XP系统下完全卸载和克隆安装Oracle 11g的方法.【期刊名称】《科技创新导报》【年(卷),期】2010(000)023【总页数】1页(P95-95)【关键词】卸载;Oracle 11g;克隆安装【作者】杨茜玲;彭勇【作者单位】湖南铁道职业技术学院,湖南株洲,412000;湖南铁道职业技术学院,湖南株洲,412000【正文语种】中文【中图分类】G647ORACLE 数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的C/S或B/S体系结构的数据库之一。
作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库,它实现了分布式处理功能。
只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。
目前大多高校和培训机构都开设了Oracle课程,学习该课程必须安装Oracle系统,如果机房中电脑原来装过oracle数据库,现在要一台台先卸载再安装的话,要花费很长时间,加之机房中的电脑一般都装有还原卡,安装过程中重启电脑要备份原来的数据,时间就更长了。
所以大多机房管理人员都采用克隆的方法来安装该软件,但克隆安装的Oracle不能启动相应服务。
必须要卸载电脑上原来装的oracle软件才能成功地重新安装Oracle 11g。
卸载的步骤是: (1)如果数据库配置了自动存储管理(ASM)应该先删除聚集同步服务CSS(Cluster Synchr onization Services),删除CSS服务的方式是在DOS命令行下输入:localconfig delete;(2)停止所有Oracle服务;(3)运行Universal Insatal l,卸载Oralce;(4)删除自动存储管理服务(AS M),在DOS命令行下输入:oracle -delete -asmsid +asm;(5)运行regedit,打开注册表,删除HKEY_LOCAL_MACHINE/SOFTWA RE/ORACLE 目录,删除 HKEY_LOCAL_ MACHINE/SYSTEM/CurrentControlSet/ Services 中所有以Oracle或OraWeb 开头的键,删除 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Eventlog/Applicatio n中所有以Oracle开头的键,删除HKEY_CLASSES_ROOT目录下所有以Ora,Oracle,Or cl或EnumOra为前缀的键,删除 HKEY_CU RRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/MenuOrde r/Start Menu/Programs 中所有以Oracle开头的键,删除 HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/DOBCINST.INI 中除了Microsoft ODBC for Oracle 以外的所有含有Oracle的键,删除环境变量Path和CLASS PATH中跟Oracle有关的值;(6)删除开始->程序中Oracle菜单项;(7)重启机器后删除所有O racle相关目录。
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文件做清理。
Oracle-11g-r2数据库在Win7下的安装卸载详细⽅法在oracle官⽅⽹站上下载Oracle-11g-r2数据库。
两个压缩⽂件,解压缩第⼀个,将第⼆个压缩包中的内容放到第⼀个包解压后的\stage\Components⽂件夹下1. 安装步骤,可以不选择接收安全更新2.选“是”,下⼀步3. 创建和配置数据库4. 选择桌⾯类,也可以选择服务器类,多了选择语⾔和⼀些设置的选择,但是⼤多都直接选择默认的配置5.选择要安装到的⽬录,密码要求⼤⼩写字母加数字,多于8位,不按要求设置也能安装,这个密码是系统管理员密码。
全局数据库名是SID,很重要。
6. 安装程序会进⾏硬件环境检查,满⾜要求的话可以直接点击完成开始安装7.开始安装程序,等待8. 第⼀次安装或者卸载完全没有出现问题的话,100%后会进⼊另⼀个界⾯的安装9. 安装完成,这时要设置登录的⽤户,点击⼝令管理10.将scott和hr两个⽤户的勾去掉(解锁定),在新⼝令⾥设置密码,⼀般scott的设为tiger,hr的设为hr点击“是”确定确定后,关闭,完成安装Oracle的卸载是件很复杂⿇烦的事情,尤其是卸载不完全再重装会造成重装失败,下⾯介绍卸载的⽅法,win+R打开运⾏,输⼊services.msc,回车,打开服务⾸先需要关闭所有oracle服务,由于oracle11g r2⾮常占⽤系统资源,建议在管理⼯具中将所有oracle服务改为⼿动运⾏,需要时再启动,⽅法是右键服务,选择属性,在启动类型中改为⼿动。
在卸载oracle之前,在所有已启动的oracle服务上右键选择停⽌。
运⾏开始->所有程序->Oracle - OraDb11g_Home1->Oracle安装产品->Universal Installer选择解除安装的产品,勾选所有安装的产品,点击删除,这时会提⽰使⽤%oracle%/product/11.2.0/dbhome_1/deinstall/deinstall.bat卸载产品实例,接下来找到这个⽂件,右键选择以管理员⾝份运⾏。
oracle 11.2开始,Oracle提供了专门的卸载工具。
从11.2开始,Oracle提供了专门的卸载工具。
在以前的版本中,卸载数据库环境仍然是通过Oracle的安装软件来完成,不过从11.2开始,Oracle提供了一个专门的文件来卸载数据库软件:bash-3.00$ unzip solaris.sparc64_11gR2_deinstall.zip卸载工具不需要图形化的帮助,直接在shell中就可以运行:bash-3.00$ cd deinstall/bash-3.00$ deinstall -home $ORACLE_HOMEORACLE_HOME = /data/oracle/product/11.2Location of logs /data/deinstall/logs/############ ORACLE DEINSTALL & DECONFIG TOOL START #################################### CHECK OPERATION START########################安装检查配置开始检查Oracle主目录位置是否存在/data/oracle/product/11.2选择进行卸载的Oracle主目录类型为: SIDB选择进行卸载的Oracle基目录为: /data/oracle检查主产品清单位置是否存在/data/oraInventory安装检查配置结束网络配置检查配置开始网络取消配置跟踪文件位置: /data/deinstall/logs/netdc_check17186.log指定要取消配置的所有单实例监听程序[LISTENER]:网络配置检查配置结束数据库检查配置开始数据库取消配置跟踪文件位置:/data/deinstall/logs/databasedc_check17187.log指定值列表作为输入时使用逗号作为分隔符指定在此Oracle主目录中配置的数据库名的列表[ora112]:######对于数据库'ora112' ######单实例数据库数据库的诊断目标位置: /data/oracle/diag/rdbms/ora112数据库使用的存储类型: FS数据库文件位置: /data/oracle/oradata/ora112快速恢复区位置:不存在数据库spfile位置: /data/oracle/product/11.2/dbs/spfileora112.ora已自动搜索到数据库ora112的详细资料。
Windows下ORACLE完全卸载:使用OUI可以卸载数据库,但卸载后注册表和文件系统内仍会有部分残留。
这些残留不仅占用磁盘空间,而且影响ORACLE的重新安装及系统性能。
在WINDOWS下卸载ORACLE 10g的步骤:1 删除聚集同步服务CSS(Cluster Synchronization Services)。
如果数据库配置了自动存储管理ASM,应该先删除CSS服务,因为ORACLE不会自动删除这个服务。
在DOS命令下使用localconfig delete命令可删除该服务。
C:\Documents and Settings\Administrator>localconfig deleteStep 1: stopping local CSS stackStep 2: deleting OCR repositoryfailed to open the OCR subkey, err(1060)failed to cleanup local OCR repositorysuccessfully deleted local CSS setup可能因为我的数据库没有配置ASM,因此执行的时候出现如上所示的错误提示。
2 逐个停止所有与ORACLE相关的服务。
ORACLE服务是以Ora开头的,例如:这个在WINDOWS的服务对话框;大家都比较熟悉,就不说了。
3 使用OUI(Oracle Universal Installer)卸载Oracle软件。
“开始”->“程序”->“Oracle-OraDb110g_home1|Oracle installation product|Universal installer.卸载ORACLE的时间比较长,而且比较耗费资源,因此卸载前最好关闭其他所有的程序窗口。
出现如下窗口。
4 单击“卸载产品“按钮。
单击“删除“按钮。
选择“是“单击“关闭“退出。
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 实例不会装载数据库,它启动的目的是位了管理磁盘组和保护其中的数据。
卸载ASM实例
在使用ASM实例建库失败,需要卸载ASM实例,或者要重新安装,则需要先卸载ASM实例。
1)通过检查oratab文件来检查实例的oracle home目录
2)利用DBCA卸载相应的数据库
3)如果是使用ASM为存储方式,则执行以下步骤:
a.# su – oracle
$ ORACLE_SID=+ASM1
$ export ORACLE_SID
$ sqlplus /nolog
SQL> conn / as sysdba
SQL> 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 /nolog
SQL>conn / as sysdba
SQL> shutdown immediate
---------------------------------------------------
4)关闭所有节点的ASM实例
节点1:
# su – oracle
$ ORACLE_SID=+ASM1
$ export ORACLE_SID
$ sqlplus /nolog
SQL> conn / as sysdba
SQL> shutdown immediate
节点2:
# su – oracle
$ ORACLE_SID=+ASM2
$ export ORACLE_SID
$ sqlplus /nolog
SQL> conn / as sysdba
SQL> shutdown immediate
5) 卸载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/+ASM
3). 把/var/opt/oratab文件中记录的有关ASM的那一行去掉。