作者归档:Lunar

使用VBox 安装 Oracle Database 12c Flex Cluster for OEL 5.8—第4部分 开始安装

1. On Oracle Linux 6.3, Select Servers on the left hand side of the screen, and System administration tools on the right hand side of the screen (options may vary between releases). The Packages in System Tools window opens. 2. … 继续阅读

发表在 Installation and Deinstall, ORACLE 12C, RAC | 标签为 , , | 留下评论

使用VBox 安装 Oracle Database 12c Flex Cluster for OEL 5.8—第3部分 准备网络环境

配置DHCP DNS: 具体见:使用VBox 安装 Oracle Database 12c Flex Cluster for OEL 5.8—第3部分 准备网络环境

发表在 Installation and Deinstall, ORACLE 12C, RAC | 标签为 , , | 留下评论

使用VBox 安装 Oracle Database 12c Flex Cluster for OEL 5.8—第2部分 前期准备工作

关于OS,文档有如下介绍: Oracle Linux 6: Oracle Linux 5 or Oracle Linux 4: You should see output indicating that you have subscribed to the Oracle Linux channel, and that packages are being installed. For example: Check the RPM log file to review … 继续阅读

发表在 Installation and Deinstall, ORACLE 12C, RAC | 标签为 , , | 留下评论

使用VBox 安装 Oracle Database 12c Flex Cluster for OEL 5.8—第1部分 环境介绍

由于Oracle Database 12c的 Flex Cluster需要使用DNS来解析GNS,因此必须配置DNS server。然后需要使用GNS动态分配SCAN和VIP,因此需要配置DHCP server。 Flex Cluster内置Flex ASM,因此,需要配置共享存储。 好了,我们需要的大致工作如下: 1,安装(或者复制)2个VBox虚拟机,建议使用 OEL 6.3以上版本,具体参见文档(参考支持版本的说明,OEL 5,OEL6都可以) 2,配置共享盘,配置yum安装需要的package 3,配置DHCP SERVER, DNS SERVER, GNS 4,规划网络,确定具体IP。12c只需要在host中指定Public和Private IP即可,至于VIP和SCAN都是由GNS来分配的,而GNS需要在DNS中解析。 5,安装GI 6,调整asm的sga,建议每个asm的sga256M足以,然后重启crs 7,安装DB(推荐DBCA建库,注意建库时指定sga的分配采用全手工方式,既非AMM亦非ASMM,这样经过测试一个db只需要230M到300M就可以跑的很好了,没办法,穷人,你懂的…………) 具体见:使用VBox 安装 Oracle Database 12c Flex Cluster for OEL 5.8—第1部分 环境介绍

发表在 Installation and Deinstall, ORACLE 12C, RAC | 标签为 , , | 留下评论

贫民电脑(8G mem)玩12c standalone需要的配置多大内存的vm呢?

12c官方文档要求,对于单机的数据库,要求如下: Server Memory Minimum Requirements Ensure that your system meets the following memory requirements: Minimum: 1 GB of RAM Recommended: 2 GB of RAM or more 这说明,我们完全可以使用很小的memory来玩12c的。。。。。。 看下当前的配置(使用了ASMM): 关于9i开始的sga介绍,请参考: http://blog.csdn.net/lunar2000/article/details/49437 启动一下数据库: 过几分钟再次查询,发现buffer cache 已经被动态调整: 好吧,我现在手工设置sga,ASMM和AMM都不用了,回归到8i的sga的设置方法,o(∩_∩)o 哈哈 再次启动数据库: 关于12c中asm的内存的设置请参考 http://www.lunar2013.com/2013/08/ora-00443-background-process-mmnl-did-not-start.html 可以了,环境基本ready,db的sga只有230M,asm的sga … 继续阅读

发表在 ASM, ORACLE 12C, RAC | 标签为 | 留下评论

ORA-00443 background process MMNL did not start

启动asm报ORA-00443 先看下ORA-00443的含义: 感觉是内存不足………… 再看下/u01/app/12.1/grid/log/lunar/agent/ohasd/oraagent_grid/oraagent_grid.log: 我们发现,ohasd进程尝试多次重启ASM都是报上述错误,貌似什么原因造成ASM起不来。。。。 接着检查下ASM的日志发现如下信息: 这里可以发现,实际上ASM的进程已经启动了pmon, smon,ckpt,dbwr…等重要进程,但是后来被GMON进程终止了。 这里简单说下,GMON和PSP0进程都是ORACLE 10.2 ASM中就有的进程,其中: GMON(ASM Disk Group Monitor Process)是10.2 asm引入的一个新的进程, 该进程ASM instace启动以后监控diskgroup的元数据信息,并跟ocssd进程进行交互, GMON负责将ASM实例的Diskgroup信息发送给ocssd,这样,其他数据库实例通过跟ocssd交互并获得ASM磁盘组的信息,再之后,数据库实例就可以打开磁盘组,对其进读写的操作。 文档中是这样描述的: 而PSP0进程的主要作用是创建新的进程,文档描述如下: 我们来分析一下这两个进程的trace。 检查GMON的trace,发现确实系统当时空闲内存很少: 检查PSP0的trace,发现确实系统当时空闲内存很少: 已经差不多定位了,系统内存不足,因此,关闭VM,增加VM的内存,然后重启,一切ok了 现在看下asm中sga的参数配置: 查询了Oracle 10.2中,Oracle Database Administrator’s Guide “Using Automatic Storage Management”这一章节对于ASM的实例有如下的简单说明: 也就是说,在10.2的环境中,该ASM实例设置为100M足够了。 从11.2以后,ASM单独有一个doc来讲: Oracle Automatic … 继续阅读

发表在 ORA-XXXXX | 标签为 , | 留下评论

浅谈SCN_2–_kcmgas_函数

从oracle10g开始,我们可以通过查询v$database.current_scn来获取当前数据库的scn,这个是通过调用”kcmgas”函数来完成的,这是一个oracle intance的永久内存结构体,我们可以查询 v$syssta来观察该函数的调用情况: 先看对v$database.current_scn的查询来获取scn的方式: 详细描述请见:浅谈SCN_2-_kcmgas_函数 姊妹篇见:浅谈SCN_1–从oracle7至今,如何获取scn

发表在 Internal | 标签为 , | 留下评论

浅谈SCN_1–从oracle7至今,如何获取scn

SCN (System Change Number) 是Oracle数据库中保持数据一致性的主要机制。数据库内部的scn有好几种,会在后面的blog中慢慢细数。今天主要我们如何获取数据库的scn? SCN是一个很大的数字,Oracle使用6 Bytes记录SCN,也就是48bit(一个byte是8bit,每个bit存储0或者1),其最大值是其格式貌似由两部分组成: wrap.base 其中前面16bit的十进制数表示wrap,后面32bit的十进制数表示base,当base达到4 billion(4G),wrap就会增加1。 这是因为Oracle使用c语言写的,在c语言里面 long 类型是一个32bit整数,即最大是 4G(4294967296,2 power 32),因此,scn若在自增的时候采用long类型的整数,正好是4字节,因此,当scn base(ktuxescnb )增加到4G的时候,就需要扩充,于是就有了scn wrap (ktuxescnw),这个表示每满一个 4G(ktuxescnb) 则该值被重置为0,然后再次开始递增1。 详细描述请见:浅谈SCN_1-_从oracle7至今,如何获取scn

发表在 Internal | 标签为 | 留下评论

Linux误删除文件并且数据库crash后恢复

我们都知道误删除文件后,如果没有其他操作,且数据库没有crash(句柄还在),那么是可以通过fd找到文件进行数据库恢复的,具体可以参考以前的文章:linux 误删除文件恢复 那么,如果句柄已经释放(比如数据库crash了),且客户重启了数据库,并执行了一些“恢复”尝试,然后怎么办? 我们测试下,这里我们要借助一个小工具:ext3grep 该工具可以在下面的网址下载最新版: http://code.google.com/p/ext3grep/downloads/list 系统必须要有e2fsprogs-libs,否则安装ext3grep的时可能会有问题。 如果你下载了rpm包,那么安装so easy: 如果你下载了src的源码,那么可以如下方式安装: 我们看下他的帮助,还是很强大的: 模拟数据库文件被误删除,且数据库crash: 数据库启动报错,丢失了文件 ‘/oradata/orcl/users01.dbf’。 现在使用ext3grep进行扫描和恢复: ext3grep是针对ext3文件系统的(ext2单有自己的扫描恢复工具),确认丢失的文件是ext3文件体系: 这里,我的数据文件都在/oradata,是设备 /dev/sdc1 : 注意这里,我的数据库目录的inode是 4358145 ,下面我们开始从这个inode继续查找: 文件的inode已经被覆盖了 这里根据两个两个信息进行恢复文件的操作: (1)数据库报错告诉我们需要恢复的文件名称:/oradata/orcl/users01.dbf (2)ext3grep的提示信息告诉我们了从哪里开始写文件: Inode 4358145 is directory “orcl”. 恢复过程如下: 从上面提示我们看到了文件已经恢复出来了,放在 orcl/RESTORED_FILES 下面: 完了不行了,被覆盖了。。。否则这一步就会在当前执行ext3grep的目录下找到一个RESTORED_FILES目录,里面就是我们的user01.dbf文件,再之后,你懂的。。 把他copy到/oradata/orcl/users01.dbf,然后执行recover datafile ‘/oradata/orcl/users01.dbf’,在open,就ok了。。。 我们再测试另一个工具extundelete(感觉原理跟ext3grep一样),看看他是不是强大一些,o(∩_∩)o … 继续阅读

发表在 backup&recovery | 标签为 , , , , , | 留下评论

坑爹的11.2.0.2的新特性: Large partition extent

_partition_large_extents 参数从11.2.0.2开始缺省为ture,你不修改为false测试下结果,保证吓你一跳,坑爹的新特性,哼 创建表空间 设置参数值 创建表 加载数据 查看os file 大小

发表在 Oracle 11.1 & Oracle11.2 | 标签为 | 留下评论