Database 类别下的文章

在 RHEL 5 上安装 Oracle 11g

期待已久的 Oracle 11g 终于发布正式可以提供下载了。第一个发布的平台果然是 Linux 版本。几年前都是 Solaris 第一个。可见操作系统领域市场的变迁。

11g 的软件介质不小,单个文件,1.7G,这个文件是个大杂烩,包含了一大堆的组件。在 RHEL 5 上安装相对还是比较顺利。先需要看看我以前写的 10g 安装攻略。有时间的话,也不仿移步访问一下这篇:RHEL 上安装 Oracle 的注意事项

环境变量的变化

ORA_NLSxx 环境变量必须(?) 用 ORA_NLS10 ,以前在 10g 上还兼容的 ORA_NLS33 不能继续用的。

export ORA_NLS10=$ORACLE_HOME/nls/data

否则建库的时候会报告 ORA-12075 错误。

核心变量的设置

修改 /etc/sysctl.conf,追加如下内容:
# First line:SEMMSL SEMMNS SEMOPM SEMMNI
kernel.sem=1055 32000 100 128
kernel.shmmax=2147483648
kernel.shmall = 2097152
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
net.ipv4.conf.default.rp_filter = 0
net.core.optmem_max = 65535
net.core.rmem_default = 4194304
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 262144
fs.file-max = 6553600
net.ipv4.ip_local_port_range = 1024 65000

RHEL 5 默认安装几乎不用作额外配置,当然,要关闭 seLinux 和防火墙。./runInstaller 后图形界面起来,检查的时候也会报告 warning 信息,比如 libaio-devel 没有安装什么的。如果只是测试目的,倒是不用非那么多心思。

关于一些界面的变化,可以看我的 Yupoo 相册. 个人评价是 Oracle 对安装流程还是做了不少改进,有的地方相比 Oracle 10g 交代的更清楚一点。

--EOF--

Oracle 的 Btrfs 项目

Oracle 似乎越来越想直接填补 OSRDBMS 之间的技术缝隙。之前的 ASM 已经向存储层跨了一大步,可以说是 Oracle 自己的 LVM 软件,而且,应该说也占据了一定的市场。然后是 OCFS (Oracle Cluster File System)更进一步--用于集群的文件系统,OCFS 的表现似乎还需要观察(主要是还不够稳定)。现在,Oracle 又准备开发新的文件系统了。这个项目名字叫做 Btrfs

这个 Btrfs 的特性中列表:

  • Extent based file storage (2的64次方 max file size)
  • Space efficient packing of small files 【 vs ZFS: Built in compression】
  • Space efficient indexed directories
  • Dynamic inode allocation
  • Writable snapshots
  • Subvolumes (separate internal filesystem roots)
  • Object level mirroring and striping 【对象级别的镜像与条带】
  • Checksums on data and metadata (multiple algorithms available)
  • Strong integration with device mapper for multiple device support 【似乎 Oracle 对当前 Linux 系统的 LVM 软件并不满意】
  • Online filesystem check 【 vs ZFS: Always consistent on disk】
  • Very fast offline filesystem check 【对于大文件系统十分有效】
  • Efficient incremental backup and FS mirroring 【 vs ZFS: Fast native backup and restore】

【】内是我的注释或猜测。看得出来,Btrfs 应该参考了 Sun ZFS 的很多设计思想,而 Btrfs 的设计目的是面向数据库的,所以有很多独特的面向数据库的特性在里面。Btrfs 目前还在设计中,所有关键特性都实现并且成熟稳定恐怕还真是有待时日,Oracle 软件代码的质量那可真是叫人没话说--可不是好的让人没话说。

或许很多人已经忘记了 Oracle 多年以前失败的 Raw Iron 项目,但现在,Oracle 似乎在用搭机木的方式重新实现这个目标。

--EOF--

Updated: Btrfs 0.16 版本在扩展性与稳定性上都有很大的提升。

Btrfs 读音为:"Better FS"

OOW 会议之旅 (3)

周三上午听了 Oracle Database Vault 的专题演讲。在数据库厂商中,只有 Oracle 有这样的工具。远景是非常好的,产品看起来还不是很成熟,而且对性能的影响还不得而知。

午餐是 Oracle 免费提供,灯影牛肉丝味道不错。下午还是要参加 OTN 的互动。另外一个会议室有个关于 JDBC 高可用的讲座,非常想听,可惜时间冲突。OTN 活动结束后在宾馆里接受了 IT168 熊建国老师的采访。采访进行了大约 20 分钟,开始我还有点局促,后来慢慢放开了。负责摄像的几个小伙子这几天估计也很辛苦。视频内容现在还看不到,等发布了我再通知各位。

这次的 OOW 也算是比较奇怪的一次了。因为软件还没有正式发布,整个会场上见到 Oracle 11g Beta 版的人还是寥寥可数。连 Oracle 公司的员工很多也不知道到底什么时候能拿到 11g 介质。这个版本绝对算不上象 Oracle 宣传的那样什么 "11g是甲骨文公司30年来发布的最重要的数据库版本", 只不过能证明 Oracle 依然是关系数据库市场上的领导者罢了。

待续...

--EOF--

OOW 会议之旅 (2)

周二早晨起来,直奔国际会议中心。刚好赶上 Oracle 服务器技术执行副总裁 Chuck Rozwat 的主题演讲。Chunk 远远看上去很帅啊。所有会议的 Keynote 都是很无聊的,当然,技术追星族除外(还好 Larry 这次没来)。接下来是神州数码的郭为演讲,如果非要评价演讲水平的话,"比较差",很多口语,每句话一个"这(zhei四声)个", 他的那个 PPT 内容质量也不是一般的差,如果是秘书写的,干脆开掉算了--还是 90 年代初的视野。我没有在现场听过杨元庆的演讲,不知到水平如何。

本来我还想去听一个技术讲座的,不过 Oracle 为我们公司几位 DBA 安排了一个交流会,与来自美国的三位专家进行一些技术讨论。交谈的主题分别是优化、安全、数据仓库。大家的英语口语都不怎么过关,听力还都凑合,只能求助于翻译。所以花的时间就多了不少。最后是与来自雅虎的 Mason Ng 进行了一些交流,Mason Ng 是香港人,在Chuck Rozwat 演讲的时候上台进行了聊天互动,给 Yahoo! 着实做了不少宣传 :) .我们的探讨也是集中在数据库这个角度,我也问了几个比较感兴趣的其他方面的话题,包括最近的巴拿马计划。

匆忙吃了一个午饭,赶紧回到香格里拉参加那边的 Oracle 开发者大会,这边有个与 Oracle 专家面对面交流的活动需要我们几个 ACE 参加。赶到的时候,刚好盖国强上一个讲座完毕,已经开始面对面讨论了。活动现场很热闹,网友注册领取T-shirt 的也都挺多,也有追着问问题的。Oracle 的 Jack Han 是我们几位 ACE 的推荐者,终于在网下见到了,前一段时间 Oracle 大学有个活动,我都答应参加的,结果还是放了鸽子,赔罪 :) 楼方鑫坐在角落里,差点没认出来, Kamus 也在, 这家伙的耳钉很引人注意。另一位 ACE 万正勇这回也是第一次见面,在 Oracle 中间件方面很有研究。前两天在 ITpub 上对他的个别行为有点分歧,希望他别对我有意见 :) 何致亿(《Oracle9i实务管理讲座--系统核心篇》的作者)则是晚上饭桌上结识的,而另外活动主持人孙晓东则是周三下午才认识。

交流结束后和楼方鑫一起到我的房间里休息,我还给香格里拉打了一个投诉电话--因为昨天晚上他们给了我错误的信息,最后的处理结果是给我换一个更大的房间。原来的房间是江景房,可以看到东方明珠的,角度很好。新房间果然很大,正好对着号称"万国建筑博览"的外滩建筑群,"万国"? 总感觉有些半殖民地的味道。不管怎么说,房间总体上还是不错的,我比较满意。总算没有遇到店大欺客的事情。

在新房间休息了一会儿,楼方鑫领着我去饭局的地点,先去冲印店取他用胶片相机拍的照片。给我灌输了不少拍照的知识,感觉他真是个很热爱生活的家伙。天很热,一路走,一路聊,倒也没什么。

IT168/ITpub 做东,来参加饭局的都是常在论坛上泡着的人,好多人我只是熟悉 ID,没看过真人,也不知道真名字。四五十位齐聚一堂,吃吃喝喝,不亦快哉!

--EOF--

另: 在 CNOUG.net 聚合了不少参会 DBA 写的文章。透过不同角度看 OOW.


2e3587f6

OOW 会议之旅 (1)

星期一搭同事的车到的上海,借助他的 GPS 一路相对顺利的抵达浦东香格里拉。我的房间位置还是不错的。面对黄浦江,还能看到东方明珠。

休息了一下,就乘坐 Oracle 的大会班车去上海国际会议中心。会场门口的大牌子很醒目,Oracle 毕竟是财大气粗,每次会议的场地真是只挑贵的租。注册领取入场牌很简单,领取了几件礼品,上楼听开幕式主题演讲。陆续的看到了来参会的同事。算了算,好像阿里巴巴集团的几个公司一共来了 16 个人。

下午媒体见面会上 Biti_rainy(冯春培) 获得了 the 100th Oracle ACE award,这个奖有偶然因素,也有必然因素。一方面是肯定冯春培在 Oracle 技术社区内作出的贡献,另一方面也能体现出来 Oracle 对中国用户的重视(这里有个对他的采访)。

晚上 ITpub 对 几位 ACE 进行了采访,大家针对 11g 的几个话题讨论很热烈,采访持续了两个多小时。回到宾馆都 23 点半了。

会上我拍了几张照片,可以到 我的 Yupoo 相册观看

--EOF--

甲骨文全球大会

最近会议比较多,下周一到周四要跑到上海参加甲骨文全球大会(Oracle Open World)

对于一个 DBA 来说,每次 OOW 的技术讲座肯定比那些到处派发的小奖品更加吸引人。刚才总算有空仔细看了一下本次 OOW 的技术讲座列表。我对如下几个主题比较感兴趣:

  • Rich Niemiec 讲座序号 720: Oracle数据库11g的最佳新功能(一)
  • Rich Niemiec 讲座序号 721: Oracle数据库11g的最佳新功能(二)

Oracle 11g 最早也要到 8 月份才可以发布,不过现了解一点新功能过把瘾还是不错的。

顺便说一下,Rich Niemiec 接受了 Alibaba DBA 团队的邀请,将于 OOW 之后在杭州举办一场 Tuning at Block Level 的技术演讲。如果有杭州的朋友感兴趣,可以联系我。给你预留座位。技术方面国外过来的人物,Rich Niemiec 算是这次 OOW 比较大的腕儿了。如果你不知道他是谁,可以忽略这一段。

其他感兴趣的主题有:

  • 讲座序号 276: SQL Server向Oracle数据库迁移案例研究
  • 讲座序号 221: Oracle数据卫士----开创数据可用性和数据保护的新纪元 (数据卫士, 就是 Data Guard,翻译的挺好......)
  • 讲座序号 228: 如何利用 Oracle TimesTen 内存数据库大幅提高数据库管理软件的响应速度
  • 讲座序号 222: 超大型数据库备份和恢复策略
  • 讲座序号 238: Linux用户当然之选(Oracle Linux配置管理)
  • 讲座序号 215: 利用Oracle Database Vault选件保护数据

Oracle OTN 中文网还有个 OTN Lounge,我需要参加的。主要是个陪衬 :) 基本上国内这几个 ACE 凑齐了。对于这次活动,可以参见 eygle 的介绍

30 号晚上 ITpub 有个采访。主题是 《ITPub 5大 ACE 点评 Oracle 11g 数据库》. 其他的时间我还没有安排呢。或许去看看同学。对了,如果有朋友准备加入我们团队,可以直接和我联系 :)

周四我可能就必需要回到杭州了。

--EOF--

从 Oracle 11g 开始,Oracle 以 XML 与传统的文本两种格式提供 Alert 日志。

新的日志位置由 Automatic Diagnostic Repository (ADR) 决定。可以通过新的初始化参数 DIAGNOSTIC_DEST 控制 ADR BASE 的位置。如果没有设定这个初始化参数的位置,而设置 ORACLE_BASE 环境变量的话,那么,如果没有设定 ORACLE_BASE , 则 ORACLE_HOME/log 即为 DIAGNOSTIC_DEST。

Alert Log 文件父目录的位置在:

ADR_BASE/diag/product_type{eg:rdbms}}/product_id{eg:11g}/instance_id

这个目录下有 alert/trace/bdump 之类的子目录。就是 Log 的具体位置了。alert 下是 XML 文件:

select value from v$diag_info where name ='Diag Alert';
trace 目录下是文本文件:
select value from v$diag_info where name ='Diag Trace';

这个位置的变化还是挺突兀的。用惯了旧版本的用户会不太习惯。尤其是基本版本都存在的环境更觉得麻烦. 好处 ? XML 能有什么好处......通过 EM 能更好的展现内容?

--EOF--

Oracle 10g 的 ASM (自动存储管理) 真是一把双刃剑,对于存储的管理给 DBA 带来了不少便利,可也存在无穷多的问题。

ASM_POWER_LIMIT 参数

这个参数 ASM_POWER_LIMIT 参数控制 ASM 后台进程 ARBx 的数量。ARBx 进程用来进行 ASM 磁盘数据重新分布打散。ASM_POWER_LIMIT 取值 从 0 到 11(据说从 10gR2 开始可以设置为 0 ). 当新添加磁盘或者删除磁盘后,ASM 会启动 ARBx 进行 IO 分散操作,这是个非常消耗资源的动作,所以一定要选择系统空闲的时候进行。

关于 ASM 的条带与分配单元

ASM 默认的 Stripe Size 为 128K。 (一般操作系统的一个 IO 最大是 1M,对于 Block Size 为 8K 的系统,一般来说,db_file_multiblock_read_count 设置为 16 即可)。分配单元( Allocation Unit ) 是 1M,这个 AU 对应 extent 。在一些 DW 环境,随着数据量增大,AU 会非常的多,会产生性能影响。Stripe Size 和 AU 是可以通过 ASM 实例上的两个隐含参数调整的:

  • _asm_ausize
  • _asm_stripesize(注意最大1M,否则会有负面影响)

磁盘组不能 mount

错误信息类似如下:
ORA-15063: ASM discovered an insufficient number of disks for diskgroup "FOO"
这个问题是因为 设备 PVID 导致的,一般可以通过如下三个方法解决:
  • 对磁盘组中的设备进行 dd 操作抹去磁盘 0 块的内容
  • 用 FORCE 选项把磁盘添加到其他磁盘组中。
  • 用 FORCE 选项用所有这些磁盘创建新的磁盘组。
哪一种方式都有风险,操作需要谨慎。

--EOF--

关于归档

本页包含 Database 类别下的所有文章.

上一类别为 Arch.

Geek 为下一类别.

回到 首页 查看最近发表的文章或者查看所有 归档文章.