Linux基於裸裝置建庫
一、分割槽
分割槽的步驟不說了,把硬碟分為如下幾個區:
[root@suk1 ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 44 353398+ 83 Linux
/dev/sdb2 45 69 200812+ 83 Linux
/dev/sdb3 70 88 152617+ 83 Linux
/dev/sdb4 89 522 3486105 5 Extended
/dev/sdb5 89 101 104391 83 Linux
/dev/sdb6 102 114 104391 83 Linux
/dev/sdb7 115 117 24066 83 Linux
/dev/sdb8 118 120 24066 83 Linux
/dev/sdb9 121 127 56196 83 Linux
/dev/sdb10 128 134 56196 83 Linux
2、繫結裸裝置
繫結裸裝置有兩種方式
1)用命令繫結
[root@suk1 raw]# raw /dev/raw/raw1 /dev/sdb1
/dev/raw/raw1: bound to major 8, minor 17
[root@suk1 raw]# raw /dev/raw/raw2 /dev/sdb2
/dev/raw/raw2: bound to major 8, minor 18
[root@suk1 raw]# raw /dev/raw/raw3 /dev/sdb3
/dev/raw/raw3: bound to major 8, minor 19
[root@suk1 raw]# raw /dev/raw/raw5 /dev/sdb5
/dev/raw/raw5: bound to major 8, minor 21
[root@suk1 raw]# raw /dev/raw/raw6 /dev/sdb6
/dev/raw/raw6: bound to major 8, minor 22
[root@suk1 raw]# raw /dev/raw/raw7 /dev/sdb7
/dev/raw/raw7: bound to major 8, minor 23
[root@suk1 raw]# raw /dev/raw/raw8 /dev/sdb8
/dev/raw/raw8: bound to major 8, minor 24
[root@suk1 raw]# raw /dev/raw/raw9 /dev/sdb9
/dev/raw/raw9: bound to major 8, minor 25
[root@suk1 raw]# raw /dev/raw/raw10 /dev/sdb10
/dev/raw/raw10: bound to major 8, minor 26
[root@suk1 raw]# raw -qa
/dev/raw/raw1: bound to major 8, minor 17
/dev/raw/raw2: bound to major 8, minor 18
/dev/raw/raw3: bound to major 8, minor 19
/dev/raw/raw5: bound to major 8, minor 21
/dev/raw/raw6: bound to major 8, minor 22
/dev/raw/raw7: bound to major 8, minor 23
/dev/raw/raw8: bound to major 8, minor 24
/dev/raw/raw9: bound to major 8, minor 25
/dev/raw/raw10: bound to major 8, minor 26
注意:
/dev/sdb4是擴充套件分割槽,不要把裸裝置繫結到那個分割槽上。
這種方式繫結的裸裝置在OS重啟後會失效,為了你重啟後仍然生效,你可以修改/etc/rc.local檔案,將如下內容加入到/etc/rc.local檔案中:
raw /dev/raw/raw1 /dev/sdb1
raw /dev/raw/raw2 /dev/sdb2
raw /dev/raw/raw3 /dev/sdb3
raw /dev/raw/raw5 /dev/sdb5
raw /dev/raw/raw6 /dev/sdb6
raw /dev/raw/raw7 /dev/sdb7
raw /dev/raw/raw8 /dev/sdb8
raw /dev/raw/raw9 /dev/sdb9
raw /dev/raw/raw10 /dev/sdb10
這種方式實際上就是在開機的時候執行/etc/rc.local檔案裡的raw命令進行繫結的。
2)用服務的方式繫結
修改/etc/sysconfig/rawdevices檔案如下,以開機時自動載入裸裝置
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdb2
/dev/raw/raw3 /dev/sdb3
/dev/raw/raw5 /dev/sdb5
/dev/raw/raw6 /dev/sdb6
/dev/raw/raw7 /dev/sdb7
/dev/raw/raw8 /dev/sdb8
/dev/raw/raw9 /dev/sdb9
/dev/raw/raw10 /dev/sdb10
然後啟動服務:
[root@suk1 raw]# service rawdevices start
[root@suk1 raw]# service rawdevices start
Assigning devices:
/dev/raw/raw1 --> /dev/sdb1
/dev/raw/raw1: bound to major 8, minor 17
/dev/raw/raw2 --> /dev/sdb2
/dev/raw/raw2: bound to major 8, minor 18
/dev/raw/raw3 --> /dev/sdb3
/dev/raw/raw3: bound to major 8, minor 19
/dev/raw/raw5 --> /dev/sdb5
/dev/raw/raw5: bound to major 8, minor 21
/dev/raw/raw6 --> /dev/sdb6
/dev/raw/raw6: bound to major 8, minor 22
/dev/raw/raw7 --> /dev/sdb7
/dev/raw/raw7: bound to major 8, minor 23
/dev/raw/raw8 --> /dev/sdb8
/dev/raw/raw8: bound to major 8, minor 24
/dev/raw/raw9 --> /dev/sdb9
/dev/raw/raw9: bound to major 8, minor 25
/dev/raw/raw10 --> /dev/sdb10
這種方式繫結的裸裝置在OS重啟後仍然生效。
3、修改裸裝置的屬主
修改裸裝置的屬主也有兩種方式:
1)命令修改
命令修改很簡單:
[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw1
[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw2
[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw3
[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw4
[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw5
[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw6
[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw7
[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw8
[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw9
[root@suk1 raw]# chown oracle:oinstall /dev/raw/raw10
由於/dev下的檔案都是動態建立的,所以在OS重啟後,屬主仍會變成root:disk,要解決這個問題,可以把上面的命令寫入到/etc/rc.local檔案中:
chown oracle:oinstall /dev/raw/raw1
chown oracle:oinstall /dev/raw/raw2
chown oracle:oinstall /dev/raw/raw3
chown oracle:oinstall /dev/raw/raw4
chown oracle:oinstall /dev/raw/raw5
chown oracle:oinstall /dev/raw/raw6
chown oracle:oinstall /dev/raw/raw7
chown oracle:oinstall /dev/raw/raw8
chown oracle:oinstall /dev/raw/raw9
chown oracle:oinstall /dev/raw/raw10
這樣每次開機後可以重新改變屬主。
2)修改/etc/udev/permissions.d/50-udev.permissions檔案
將/etc/udev/permissions.d/50-udev.permissions的113行
從
raw/*:root:disk:0660
修改為
raw/*:oracle:oinstall:0660
這個的意思是修改裸裝置的預設屬主為oracle:oinstall,預設的mode是0660。
重啟OS檢驗。
4、建立符號連結
這一步可以省略,但是為了更直觀些,建議建立軟連結
[oracle@suk1 ~]$ cd $ORACLE_BASE
[oracle@suk1 oracle]$ ls
oraInventory product
[oracle@suk1 oracle]$ mkdir -p oradata/test1
[oracle@suk1 oracle]$ cd oradata/test1
[oracle@suk1 oradata]$ ln -s /dev/raw/raw1 system01.dbf
[oracle@suk1 oradata]$ ln -s /dev/raw/raw2 undotbs01.dbf
[oracle@suk1 oradata]$ ln -s /dev/raw/raw3 sysaux01.dbf
[oracle@suk1 oradata]$ ln -s /dev/raw/raw5 users01.dbf
[oracle@suk1 oradata]$ ln -s /dev/raw/raw6 temp01.dbf
[oracle@suk1 oradata]$ ln -s /dev/raw/raw7 control01.ctl
[oracle@suk1 oradata]$ ln -s /dev/raw/raw8 control02.ctl
[oracle@suk1 oradata]$ ln -s /dev/raw/raw9 redo01.ora
[oracle@suk1 oradata]$ ln -s /dev/raw/raw10 redo02.ora
5、建立資料庫
啟動dbca,選擇建立資料庫
下一步,選擇建立customer 資料庫,
下一步,輸入SID,
下一步,在儲存選項頁,選擇裸裝置,
下一步,在選擇引數頁面,選擇字符集;初始化檔案選擇init檔案,同時在這個介面點選《所有初始化引數》,在彈出的介面修改控制檔案引數為:
/opt/oracle/oradata/test1/control01.ctl, /opt/oracle/oradata/test1/control02.ctl
下一步,在這一步,只保留兩個控制檔案、兩組聯機日誌,確認表空間對應的資料檔案的名稱為剛才建立的對應的符號連結;並確定建立的資料檔案、日誌檔案比對應的裸裝置小(為了簡單起見,統一設定為小1M)
下一步,開始建立資料庫。
不出意外,一段時間後,資料庫就可以安裝完成。
縱觀整個過程,基於裸裝置建立資料庫最重要的步驟是如何規劃裸裝置,如果裸裝置設定過大,浪費空間,如果過小,安裝就會失敗。
1.建立pv
pvcreate -M2 -metadatasize 100M /dev/sda
pvcreate -M2 -metadatasize 100M /dev/sdb1
pvcreate -M2 -metadatasize 100M /dev/sdb2
pvcreate -M2 -metadatasize 100M /dev/sdc
物理卷可以是整個硬碟(lun),也可以是硬碟上的一個分割槽
2.建立vg
vgcreate vg_db /dev/sda /dev/sdb1 /dev/sdb2 /dev/sdc -s128m
3.建立lv
lvcreate -L2048m -i4 -I64k vg_db -n lv_2g_001
lvcreate -L2048m -i4 -I64k vg_db -n lv_2g_002
4.繫結
raw /dev/raw/raw1 /dev/mapper/vg_db-lv_2g_001
raw /dev/raw/raw2 /dev/mapper/vg_db-lv_2g_002
使用raw命令繫結的裸裝置在重啟後會失效。所以需要修改/etc/sysconfig/rawdevices配置檔案,在檔案中加入如下內容(每個裸裝置一行):
/dev/raw/raw1 /dev/mapper/vg_db-lv_2g_001
/dev/raw/raw2 /dev/mapper/vg_db-lv_2g_002
執行 /etc/init.d/rawdevices restart 使配置檔案中的裸裝置生效
執行 /sbin/chkconfig rawdevices on 保證機器啟動的時候裸裝置能夠載入
5.授權
chown -R oracle.dba /dev/mapper
修改配置檔案/etc/udev/permissions.d/50-udev.permissions
註釋掉raw/*:root:disk:0660
新增新行raw/*:oracle:dba:0660
6.連結(可選)
ln -s /dev/raw/raw1 /oradata/ningoo/system01.dbf
ln -s /dev/raw/raw2 /oradata/ningoo/undo01.dbf
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22531473/viewspace-742479/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux下基於裸裝置建立10g資料庫Linux資料庫
- Linux裸裝置總結Linux
- linux udev裸裝置繫結Linuxdev
- 基於裸裝置的ASM磁碟組擴容方案ASM
- raw 裸裝置資料檔案更改其他raw裸裝置位置
- AIX中的裸裝置AI
- Linux磁碟裝置基礎Linux
- emc cx500上的基於linux的3節點rac上的裸裝置的使用和效能測試Linux
- vmware + 裸裝置 + crs + oracle10g RAC搭建步驟(二):安裝linuxOracleLinux
- Linux裝置驅動開發詳解:基於Linux4.0核心Linux
- DM7使用裸裝置搭建DMRAC
- DM8 使用裸裝置搭建DMRAC
- 關於召回《Linux裝置驅動開發詳解-基於最新的Linux 4.0核心》的通知Linux
- rhel 7.x 使用 udev scsi rules 配置裸裝置dev
- 記錄一則AIX使用裸裝置安裝OracleRAC的問題AIOracle
- Linux基礎命令---iostat顯示裝置狀態LinuxiOS
- 基於 Stencil 構建 Web Components 元件庫Web元件
- Linux裝置節點Linux
- Linux裝置模型(3)Linux模型
- Linux驅動之裝置樹的基礎知識Linux
- 電信運營商基於 MQTT 協議 構建千萬級 IoT 裝置管理平臺MQQT協議
- 基於linux下unzip離線安裝Linux
- 基於abp的小小裝置控制系統設計
- 基於回收站臨時刪除塊裝置
- linux檢視裝置命令Linux
- Linux中的主次裝置Linux
- Kunbernetes-基於Nexus構建私有映象倉庫
- 基於 AnythingLLM 及 Ollama 構建本地知識庫
- 基於 EventBridge 構建資料庫應用整合資料庫
- 基於surging的木舟平臺如何分散式接入裝置分散式
- Linux裝置掛載和解除安裝Linux
- Huawei裝置基礎配置
- Linux 高可用仲裁裝置配置Linux
- Linux裝置模型(一) 概覽Linux模型
- 生活篇:基於TRIZ原理設計自行車剎車裝置
- 基於微軟Teams的小型會議室裝置體驗微軟
- 基於知識庫的介面自動化測試——結果模型化方法與裝置的分析模型
- 基於Linux的MySQL5.7RPM包安裝LinuxMySql
- 『學了就忘』Linux基礎 — 14、Linux系統的裝置檔名和掛載Linux