建立裸裝置庫

奮奮熊發表於2011-07-22

1.dd命令建立檔案 充當裸裝置
2.將裸裝置和loop裝置關聯
3.將loop裝置和裸裝置邏輯檔案raw關聯 產生多個loop裝置需要修改模組載入引數
4.授予oracle使用者對裸裝置的許可權
5.使用DBCA建庫 採用裸裝置對應檔案載入

 

[oracle@dba oradata]$ mkdir raw10g
[oracle@dba oradata]$ cd raw10g/
[oracle@dba raw10g]$ ls
[oracle@dba raw10g]$
dd if=/dev/zero f=./spfile bs=1M count=10;
dd if=/dev/zero f=./ctl01 bs=7M count=10;
dd if=/dev/zero f=./ctl02 bs=7M count=10;
dd if=/dev/zero f=./ctl03 bs=7M count=10;
dd if=/dev/zero f=./redo01 bs=1M count=70;
dd if=/dev/zero f=./redo02 bs=1M count=70;
dd if=/dev/zero f=./redo03 bs=1M count=70;
dd if=/dev/zero f=./system bs=1M count=600;
dd if=/dev/zero f=./sysaux bs=1M count=350;
dd if=/dev/zero f=./undotbs01 bs=1M count=50;
dd if=/dev/zero f=./temptbs01 bs=1M count=50;
dd if=/dev/zero f=./users01 bs=1M count=50;

 

[oracle@kevin rawora10g]$ ls -lth
總計 1.5G
-rw-r--r-- 1 oracle oinstall  50M 07-18 16:45 users01
-rw-r--r-- 1 oracle oinstall  50M 07-18 16:45 temptbs01
-rw-r--r-- 1 oracle oinstall  50M 07-18 16:45 undotbs01
-rw-r--r-- 1 oracle oinstall 350M 07-18 16:45 sysaux
-rw-r--r-- 1 oracle oinstall 600M 07-18 16:44 system
-rw-r--r-- 1 oracle oinstall  70M 07-18 16:44 ctl01
-rw-r--r-- 1 oracle oinstall  70M 07-18 16:44 ctl02
-rw-r--r-- 1 oracle oinstall  70M 07-18 16:44 ctl03
-rw-r--r-- 1 oracle oinstall  70M 07-18 16:44 redo01
-rw-r--r-- 1 oracle oinstall  70M 07-18 16:44 redo02
-rw-r--r-- 1 oracle oinstall  70M 07-18 16:44 redo03
-rw-r--r-- 1 oracle oinstall  10M 07-18 16:44 spfile

 


[oracle@dba raw10g]$ ll -thr
總計 1.4G
-rw-r--r-- 1 oracle oinstall  10M 02-25 08:40 spfile
-rw-r--r-- 1 oracle oinstall  10M 02-25 08:40 ctl01
-rw-r--r-- 1 oracle oinstall  10M 02-25 08:40 ctl02
-rw-r--r-- 1 oracle oinstall  10M 02-25 08:40 ctl03
-rw-r--r-- 1 oracle oinstall  70M 02-25 08:41 redo01
-rw-r--r-- 1 oracle oinstall  70M 02-25 08:41 redo02
-rw-r--r-- 1 oracle oinstall  70M 02-25 08:41 redo03
-rw-r--r-- 1 oracle oinstall 600M 02-25 08:41 system
-rw-r--r-- 1 oracle oinstall 350M 02-25 08:41 sysaux
-rw-r--r-- 1 oracle oinstall  50M 02-25 08:41 undo
-rw-r--r-- 1 oracle oinstall  50M 02-25 08:41 temp
-rw-r--r-- 1 oracle oinstall  50M 02-25 08:41 users
[oracle@dba raw10g]$


[oracle@dba raw10g]# tail -n 1 /etc/modprobe.conf
options loop max_loop=25
[oracle@dba raw10g]# rmmod loop
[oracle@dba raw10g]# modprobe loop


[root@dba ~]#
losetup /dev/loop11 /u01/oracle/oradata/raw10g/spfile
losetup /dev/loop12 /u01/oracle/oradata/raw10g/ctl01
losetup /dev/loop13 /u01/oracle/oradata/raw10g/ctl02
losetup /dev/loop14 /u01/oracle/oradata/raw10g/ctl03
losetup /dev/loop15 /u01/oracle/oradata/raw10g/redo01
losetup /dev/loop16 /u01/oracle/oradata/raw10g/redo02
losetup /dev/loop17 /u01/oracle/oradata/raw10g/redo03
losetup /dev/loop18 /u01/oracle/oradata/raw10g/system
losetup /dev/loop19 /u01/oracle/oradata/raw10g/sysaux
losetup /dev/loop20 /u01/oracle/oradata/raw10g/undo
losetup /dev/loop21 /u01/oracle/oradata/raw10g/temp
losetup /dev/loop22 /u01/oracle/oradata/raw10g/users

[root@dba ~]#
raw /dev/raw/raw1 /dev/loop11
raw /dev/raw/raw2 /dev/loop12
raw /dev/raw/raw3 /dev/loop13
raw /dev/raw/raw4 /dev/loop14
raw /dev/raw/raw5 /dev/loop15
raw /dev/raw/raw6 /dev/loop16
raw /dev/raw/raw7 /dev/loop17
raw /dev/raw/raw8 /dev/loop18
raw /dev/raw/raw9 /dev/loop19
raw /dev/raw/raw10 /dev/loop20
raw /dev/raw/raw11 /dev/loop21
raw /dev/raw/raw12 /dev/loop22


刪除裸裝置命令:
# for i in {2..12};do raw /dev/raw/raw$i 0 0 ;done
/dev/raw/raw2:  bound to major 0, minor 0
/dev/raw/raw3:  bound to major 0, minor 0
/dev/raw/raw4:  bound to major 0, minor 0
/dev/raw/raw5:  bound to major 0, minor 0
/dev/raw/raw6:  bound to major 0, minor 0
/dev/raw/raw7:  bound to major 0, minor 0
/dev/raw/raw8:  bound to major 0, minor 0
/dev/raw/raw9:  bound to major 0, minor 0
/dev/raw/raw10: bound to major 0, minor 0
/dev/raw/raw11: bound to major 0, minor 0
/dev/raw/raw12: bound to major 0, minor 0

 


改裝置許可權

[root@dba ~]# chown oracle:oinstall /dev/raw/raw*
[root@dba ~]# chown oracle:oinstall /u01/oracle/oradata/raw10g/*
建庫
su - oracle
dbca

儲存檔案選擇裸裝置 載入裸裝置表

[oracle@dba ~]$ cat dbca_raw.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
sysaux=/dev/raw/raw9
undotbs1=/dev/raw/raw10
temp=/dev/raw/raw11
users=/dev/raw/raw12
[oracle@dba ~]$


安裝日誌
[oracle@dba ~]$ tail -f /u01/oracle/admin/raw10g/bdump/alert_raw10g.log
[oracle@dba ~]$ tail -f /u01/oracle/product/10.2.0/cfgtoollogs/dbca/raw10g/cloneDBCreation.log


新增新的表空間
[oracle@seker dbs]$ dd if=/dev/zero f=/u01/oracle/oradata/raw10g/rawtest bs=1M count=10;
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.181599 seconds, 57.7 MB/s
[oracle@seker dbs]$
[oracle@seker dbs]$ su -
口令:
[root@seker ~]# losetup /dev/loop14 /u01/oracle/oradata/raw10g/rawtest
[root@seker ~]# raw /dev/raw/raw13 /dev/loop23

SYS@raw10g> create tablespace rawtest datafile '/dev/raw/raw13' size 9M
  2  ;

Tablespace created.

SYS@raw10g>


SQL> show parameter pfile

NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
spfile         string  /dev/raw/raw1
SQL>

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/dev/raw/raw8
/dev/raw/raw10
/dev/raw/raw9
/dev/raw/raw12

SQL>

SQL> select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER     IS_
---------- ------- ------- ------------------------------ ---
  3    ONLINE  /dev/raw/raw7    NO
  2    ONLINE  /dev/raw/raw6    NO
  1    ONLINE  /dev/raw/raw5    NO

SQL>

SQL> select * from v$controlfile;

STATUS NAME        IS_ BLOCK_SIZE FILE_SIZE_BLKS
------- ----------------------------------- --- ---------- --------------
 /dev/raw/raw2       NO      16384       430
 /dev/raw/raw3       NO      16384       430
 /dev/raw/raw4       NO      16384       430

SQL>

SQL> select name from v$tempfile;

NAME
-----------------------------------
/dev/raw/raw11

SQL>


 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26077805/viewspace-702793/,如需轉載,請註明出處,否則將追究法律責任。

相關文章