在红旗 DC server(linux)上用lvm建裸设备并建库

在红旗 DC server(linux)上用lvm建裸设备并建库

主要是一些用创建lvm,创建raw device和建库时需要注意的一些地方.

另外,使用lvm可以动态添加raw device 的大小,从而动态的扩大oracle表空间的大小.

 

1 首先是创建个主分区:fdisk /dev/hdb 创建一个分区 /dev/hdb5
2 创建pv:pvcreate /dev/hdb5
3 创建vg:vgcreate oraclevg /dev/hdb5
4 创建lv:这里有多个lv,每个lv对应1个裸设备.
oracle的spfile redolog controlfile datafile,这些每一个都要使用1个裸设备.
lvcreate -L8M -nlv_spfile oraclevg 在oraclevg上面创建1个名为lv_spfile的大小8M的lv,
其它一样,略.

注意:1 spfile的lv最少要8M;
2 必须给每个oracle的文件多分配出一些空间,否则在建库的时候会报告空间不足的错误.
比如undo tablespace 指定200M,对应的lv如果只有200m,那么在建库的时候就会报错,要大一些.

mknod /dev/raw/log1_3 c 162 16
mknod /dev/raw/log1_4 c 162 17
mknod /dev/raw/log2_3 c 162 18
mknod /dev/raw/log2_4 c 162 19
5 创建裸设备:
raw /dev/raw/raw1 /dev/oraclevg/lv_spfile
这里创建一个名为raw1的裸设备,使用lv_spfile.要为每个spfile redolog controlfile datafile都创建raw device.略.

注意:1 创建完成后,用raw -qa 查询校验;
2 授权,默认是root能够访问,要让oracle使用他们,要
chmod 777 /dev/raw
chmod 777 /dev/raw/*
3 系统重启后裸设备信息就没有了,为让其永久保持,要把这些raw device的信息记录到/etc/sysconfig/rawdevices文件中.
4 重启后要重新授权,即重作第2步,可以把chmod语句加到/etc/rc.local文件中,让系统自动完成.
6 用oracle用户登录,设置裸设备映射文件.
裸设备映射文件记录oracle的spfile redolog controlfile datafile 与裸设备的映射信息.在DBCA建库的时候使用.
vi DBCA_RAW_CONFIG.txt
spfile=/dev/raw/raw1
control1=/dev/raw/raw2
control2=/dev/raw/raw3
control4=/dev/raw/raw4
redo1_1=/dev/raw/raw5
redo1_2=/dev/raw/raw6
redo1_3=/dev/raw/raw7
system=/dev/raw/raw8
sysaux=/dev/raw/raw9
users=/dev/raw/raw10
temp=/dev/raw/raw11
undotbs1=/dev/raw/raw12


编辑完成之后,export DBCA_RAW_CONFIG=/u01/oracle/admin/DBCA_RAW_CONFIG.txt
或者可以不作这一步,在dbca中指定映射关系.

7 这里重申一下,在dbca中指定的各种文件的大小都要比对应的裸设备小一些,如果相等就会报告空间不足的错误.建库就会失败.
剩下的建库和普通建库是一样的.不多说了.

8 动态扩大lv大小.从而动态扩大oracle的tablespace的大小.

SQL> select file#,name,bytes/1024/1024 MB from v$datafile;

SQL> select file#,name,bytes/1024/1024 MB from v$datafile;

FILE# NAME MB
---------- ---------------------------------------- ----------
1 /dev/raw/raw6 300
2 /dev/raw/raw10 200
3 /dev/raw/raw7 120
4 /dev/raw/raw8 50

raw8对应users表空间,对应lv_users

[root@vm4 ~]# lvscan
[root@linux-oracle ~]# lvscan
ACTIVE '/dev/oraclevg/lv_spfile' [8.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_control1' [8.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_control2' [8.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_control3' [8.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_redo01' [100.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_redo02' [100.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_redo03' [100.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_system' [500.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_sysaux' [252.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_users' [100.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_temp' [200.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_undo' [500.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_test1' [500.00 MB] inherit


目前lv大小是100MB,users tablespace使用了98m

SQL> alter database datafile 4 resize 60m;
alter database datafile 4 resize 60m
*
ERROR at line 1:
ORA-01237: cannot extend datafile 4
ORA-01110: data file 4: '/dev/raw/raw8'
ORA-27042: not enough space on raw partition to fullfill request
Additional information: 3

扩到60m,报错 not enough space
然后用lvextend扩大lv.

[root@vm4 ~]# lvscan
ACTIVE '/dev/oraclevg/lv_spfile' [8.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_control' [8.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_redo01' [8.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_redo02' [8.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_redo03' [8.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_system' [500.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_sysaux' [252.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_users' [52.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_temp' [200.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_undo' [300.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_control2' [8.00 MB] inherit
[root@vm4 ~]# lvextend -L80M /dev/oraclevg/lv_users
Extending logical volume lv_users to 80.00 MB
Logical volume lv_users successfully resized
[root@vm4 ~]# lvscan
ACTIVE '/dev/oraclevg/lv_spfile' [8.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_control' [8.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_redo01' [8.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_redo02' [8.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_redo03' [8.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_system' [500.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_sysaux' [252.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_users' [80.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_temp' [200.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_undo' [300.00 MB] inherit
ACTIVE '/dev/oraclevg/lv_control2' [8.00 MB] inherit

然后在oracle中,增大users表空间.

SQL> alter database datafile 4 resize 60m;

Database altered.

SQL> select file#,name,bytes/1024/1024 MB from v$datafile;

FILE# NAME MB
---------- ---------------------------------------- ----------
1 /dev/raw/raw6 300
2 /dev/raw/raw10 200
3 /dev/raw/raw7 120
4 /dev/raw/raw8 60

 

 

在AIX下通过mklv如何创建裸设备

 

mklv 命令作用
Creates a logical volume.
语法:
mklv [ -a Position ] [ -b BadBlocks ] [ -c Copies ] [ -d Schedule ] [ -e Range ][ -i ] [ -L Label ] [ -m MapFile ] [ -o Y / N
] [ -r Relocate ] [ -s Strict ] [-t Type ] [ -u UpperBound ] [ -v Verify ] [ -w MirrorWriteConsistency ] [ -xMaximum ] [ -y
NewLogicalVolume | -Y Prefix ] [ -S StripeSize ] [ -U Userid ] [-G Groupid ] [ -P Modes ] VolumeGroup Number [ PhysicalVolume
... ]
-c copies设置镜象数,最多三个,默认为1 -i从标准输入获得PV样式,该参数只用于PV通过标准输入加入的情况
-L设置LV卷标,默认值为没有.最大127字符,如果该卷被用于JFS,JFS将使用该值记录该LV中的JFS的mount点 -P
modes为LV特殊文件指定文件模式许可 -t type设置LV类型.标准类型是JFS,JFSLOG,paging,也可用于定义其它LV类型(boot类型除外),默认JFS
如果为一个文件系统创建了log,在log被使用之前用户要用logform命令清除干净新的JFSLOG,用以下命令格式化名为logdev的LV: logform
/dev/logdev. -y
newlv为LV指定名字,该名在本机上必须是唯一的,可以用1-15个字符.如果VG是以并发模式varyon的,新名字要在所有的并发节点中唯一.该名字
也不能和设备配置数据库中的PdDv类定义的前缀相同.
实例:用mklv来创建一个名为lv_control1的新LV到datavg中,该每个LP对应1个PP.
mklv -t 'raw' -y 'lv_control1' -U sybase -G sybase datavg 1 hdisk2

 

数据库操作环境:AIX
创建表空间时报如下错误:

ORA-01119: 创建数据库文件'/dev/jc2_dzda_dat01.dbf'时出错
ORA-27040: skgfrcre:创建错误,无法创建文件

IBM AIX RISC System/6000 Error:13:Permisson denied

1、用ROOT用户在/DEV目录下建立裸设备:
mklv -y'jc2_dzda_dat01' cxdatavg 2
注意此处将生成两个文件jc2_dzda_dat01、rjc2_dzda_dat01,系统只用rjc2_dzda_dat01

2、将rjc2_dzda_dat01权限更改为oracle用户
chown oracle:dba rjc2_dzda_dat01

3、用sqlplus 或者图形界面建立表空间即可
此处注意对应的数据文件为rjc2_dzda_dat01,路径为/dev

创建脚本:
CREATE TABLESPACE "JC_DZDA_DAT"
LOGGING
DATAFILE '/dev/rjc2_dzda_dat01' SIZE 1024M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE
MANAGEMENT AUTO 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值