在紅旗 DC server(linux)上用lvm建裸裝置並建庫____linux

來源:互聯網
上載者:User

在紅旗 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 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.