基于裸设备文件格式安装oracle数据库(收藏)

基于裸设备文件格式安装oracle数据库

关于这个标题有点题外话要说,当初看到这个题目的时候,以为连oracle数据库软件也是要安装到裸设备上,当时懵了,找了很多资料也不知道从何下手,最后在看过多个文档后才发现所谓的基于裸设备文件格式安装数据库事实上是oracle软件仍然安装在文件系统上,而新建的数据库是存储在裸设备上的,当时明白过来后也是汗一个。。。呵呵,新手就是乱七八糟的问题都会有。。。

不废话了,赶紧上正题了。。。

PS:这份文档是在安装好oracle软件的基础上安装的,而oracle软件部分同上一篇内容大同小异,只要记得安装的时候要选择只安装oracle软件。


接下来就是基于裸设备新建数据库了。。。

1.增加一块硬盘,以root登陆OS
[root@rac1 oracle]# fdisk -l
Disk /dev/sda: 255 heads, 63 sectors, 652 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 38 200812+ 82 Linux swap
/dev/sda3 39 652 4931955 83 Linux
Disk /dev/sdh: 128 heads, 32 sectors, 512 cylinders
Units = cylinders of 4096 * 512 bytes
Disk /dev/sdh doesn't contain a valid partition table
2.对Disk /dev/sdh分区成LVM格式(8e的分区类型)
Disk /dev/sdh: 128 heads, 32 sectors, 512 cylinders
Units = cylinders of 4096 * 512 bytes
Device Boot Start End Blocks Id System
/dev/sdh1 1 512 1048560 8e Linux LVM
3.创建物理卷,逻辑卷(组)
执行如下shell:
pvcreate /dev/sdh1
vgcreate oravg /dev/sdh1
lvcreate -L8M -nlv_spfile oravg
lvcreate -L20M -nlv_control1 oravg
lvcreate -L20M -nlv_control2 oravg
lvcreate -L20M -nlv_control3 oravg
lvcreate -L20M -nlv_redo1_1 oravg
lvcreate -L20M -nlv_redo1_2 oravg
lvcreate -L20M -nlv_redo1_3 oravg
lvcreate -L500M -nlv_system oravg
lvcreate -L20M -nlv_temp oravg
lvcreate -L20M -nlv_users oravg
lvcreate -L20M -nlv_undo oravg
lvcreate -L20M -nlv_users oravg
lvcreate -L20M -nlv_tools oravg
lvcreate -L20M -nlv_indx oravg
vgchange -a y
[root@rac1 oracle]# lvscan
lvscan -- ACTIVE "/dev/oravg/lv_spfile" [8 MB]
lvscan -- ACTIVE "/dev/oravg/lv_control1" [20 MB]
lvscan -- ACTIVE "/dev/oravg/lv_control2" [20 MB]
lvscan -- ACTIVE "/dev/oravg/lv_control3" [20 MB]
lvscan -- ACTIVE "/dev/oravg/lv_redo1_1" [20 MB]
lvscan -- ACTIVE "/dev/oravg/lv_redo1_2" [20 MB]
lvscan -- ACTIVE "/dev/oravg/lv_redo1_3" [20 MB]
lvscan -- ACTIVE "/dev/oravg/lv_system" [500 MB]
lvscan -- ACTIVE "/dev/oravg/lv_temp" [20 MB]
lvscan -- ACTIVE "/dev/oravg/lv_users" [20 MB]
lvscan -- ACTIVE "/dev/oravg/lv_undo" [20 MB]
lvscan -- ACTIVE "/dev/oravg/lv_tools" [20 MB]
lvscan -- ACTIVE "/dev/oravg/lv_indx" [20 MB]
lvscan -- 14 logical volumes with 4.62 GB total in 2 volume groups
lvscan -- 14 active logical volumes
补充下vi命令:替换字符串
  :%s#/usr/bin#/bin#g
:set (no)nu (不)显示行号
4.绑定到裸设备上
执行如下shell
raw /dev/raw/raw1 /dev/oravg/lv_spfile
raw /dev/raw/raw2 /dev/oravg/lv_control1
raw /dev/raw/raw3 /dev/oravg/lv_control2
raw /dev/raw/raw4 /dev/oravg/lv_control3
raw /dev/raw/raw5 /dev/oravg/lv_redo1_1
raw /dev/raw/raw6 /dev/oravg/lv_redo1_2
raw /dev/raw/raw7 /dev/oravg/lv_redo1_3
raw /dev/raw/raw8 /dev/oravg/lv_system
raw /dev/raw/raw9 /dev/oravg/lv_temp
raw /dev/raw/raw10 /dev/oravg/lv_users
raw /dev/raw/raw11 /dev/oravg/lv_undo
raw /dev/raw/raw12 /dev/oravg/lv_tools
raw /dev/raw/raw13 /dev/oravg/lv_indx
raw –qa
5.修改/etc/sysconfig/rawdevices文件如下,以开机时自动加载裸设备
# raw device bindings
# format:
#
# example: /dev/raw/raw1 /dev/sda1
# /dev/raw/raw2 8 5
/dev/raw/raw1 /dev/oravg/lv_spfile
/dev/raw/raw2 /dev/oravg/lv_control1
/dev/raw/raw3 /dev/oravg/lv_control2
/dev/raw/raw4 /dev/oravg/lv_control3
/dev/raw/raw5 /dev/oravg/lv_redo1_1
/dev/raw/raw6 /dev/oravg/lv_redo1_2
/dev/raw/raw7 /dev/oravg/lv_redo1_3
/dev/raw/raw8 /dev/oravg/lv_system
/dev/raw/raw9 /dev/oravg/lv_temp
/dev/raw/raw10 /dev/oravg/lv_users
/dev/raw/raw11 /dev/oravg/lv_undo
/dev/raw/raw12 /dev/oravg/lv_tools
/dev/raw/raw13 /dev/oravg/lv_indx
6.将卷组及设备属主
chown oracle:oinstall /dev/oravg
chmod +xwr /dev/raw/*
chmod +xrw /dev/raw/
7.创建裸设备映射文件DBCA_RAW_CONFIG.txt并加入环境变量如下:
spfile=/dev/raw/raw1
control1=/dev/raw/raw2
control2=/dev/raw/raw3
control3=/dev/raw/raw4
redo1_1=/dev/raw/raw5
redo1_2=/dev/raw/raw6
redo1_3=/dev/raw/raw7
system=/dev/raw/raw8
temp=/dev/raw/raw9
users=/dev/raw/raw10
undotbs1=/dev/raw/raw11
tools=/dev/raw/raw12
indx=/dev/raw/raw13
export DBCA_RAW_CONFIG=/home/oracle/DBCA_RAW_CONFIG.txt
export LANG=zh_CN
8.运行DBCA创建数据库(注意选择裸设备创建数据库及数据文件略小于裸设备定义大小)
9.将vgchange -a y加到/etc/rc.local中,启动是自动激活所有卷组
文档上说7.0以后自动激活,可我的8.0就是不激活 ?,不知道为什么
10.扩大数据文件大小
a)扩大逻辑卷
lvextend -L100M /dev/oravg/lv_undo
b)扩大数据文件
SQL> alter database datafile '/dev/raw/raw11' resize 90m;

总结:

我基本上是参照这份文档来完成安装的,但是在安装的过程中也遇到了几个问题:

1、绑定裸设备的问题:

文中使用将绑定裸设备命令写入开机启动文件,实际上除了使用命令绑定之后,还可以通过服务绑定,也即在/etc/sysconfig/rawdevices中绑定,并通过启动绑定服务实现servcie rawdevices start,通过服务绑定的好处在于可以一次启动终身绑定。呵呵。

2、软链接

许多文档都把这个作为可选,实际上应该是必选内容。

不然面对一个个裸设备,哪晓得这些裸设备对应的都是些什么存储内容?

而关于建立软链接,方式有所不同,有取名为*.dbf的(汗,这块我当时也闹不明白是要干嘛,以为非得这么起别名,觉得这么起名字也没觉得有多方便),最后无奈求助才明白怎么回事,呵呵。

3、DBCA_RAW_CONFIG环境变量

在网上找到了相关说明,说是要配置该变量并出现选择使用裸设备还是文件系统格式创建数据库的对话框才算OK,为了这个,我也折腾了一些时间。结果我仍困惑于DBCA_RAW_CONFIG.txt文件所说的映射,在我的观念里觉得既然建立了软链接,并且在这个文本文件里有显示(相当于mapping效果),结果在出现了上面说的对话框后,所有的文件地址都是裸设备(又费劲了老半天,以为哪出错了),当时没管这些了,直接手动给改了(这要不是有老手,还想不到要这么个弄法)。最后在后边搭建rac的时候才发现mapping是有效果的,只要不给export DBCA_RAW_CONFIG,当然就出现不了上面的选择对话框,但“奇妙”的是文本文件中的mapping实现了,所有的之前裸设备在的位置都给映射成相应的软链接名字了 。呵呵。

好了,至此基于裸设备新建数据库就完成了(又是个四天的时间)。汗。。。
From:http://blog.itpub.net/post/40534/491530

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年11月    »
123
45678910
11121314151617
18192021222324
252627282930
搜索
标签列表
网站分类
最新留言
    文章归档
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.闽ICP备11018667号-2