oracle裸设备支持,12c官方不支持裸设备,功能上依旧支持 – 提供7*24专业数据库(Oracle,SQL Server,MySQL等)恢复和Oracle技术服务@Tel:+86 1342964...

根据官方描述:Announcement of DeSupport of using RAW devices in Oracle Database Version 12.1 (Doc ID 578455.1),从12.1开始oracle 彻底放弃了数据文件对raw的支持,但是我测试结果证明依旧可以使用(本测试只是证明功能上可以使用,不能说官方支持,稳定性和遭遇bug情况未知),在条件允许情况下,不建议使用该方式.

block设备测试

[root@localhost ~]# chown oracle:oinstall /dev/sdf

[root@localhost ~]# ls -l /dev/sdf

brw-rw---- 1 oracle oinstall 8, 80 Apr 2 19:28 /dev/sdf

[oracle@localhost ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Sun Apr 2 19:34:22 2017

Copyright (c) 1982, 2016, Oracle. All rights reserved.

Connected to:

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> select * from v$version;

BANNER

--------------------------------------------------------------------------------

CON_ID

----------

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

0

PL/SQL Release 12.2.0.1.0 - Production

0

CORE 12.2.0.1.0 Production

0

TNS for Linux: Version 12.2.0.1.0 - Production

0

NLSRTL Version 12.2.0.1.0 - Production

0

SQL> select name from v$datafile;

NAME

--------------------------------------------------------------------------------

+DATA/XFFDB/DATAFILE/system.257.938465955

+DATA/XFFDB/DATAFILE/sysaux.258.938465989

+DATA/XFFDB/DATAFILE/undotbs1.259.938466005

+DATA/XFFDB/4700A987085B3DFAE05387E5E50A8C7B/DATAFILE/system.271.938466083

+DATA/XFFDB/4700A987085B3DFAE05387E5E50A8C7B/DATAFILE/sysaux.270.938466083

+DATA/XFFDB/DATAFILE/users.260.938466007

+DATA/XFFDB/4700A987085B3DFAE05387E5E50A8C7B/DATAFILE/undotbs1.272.938466083

+DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/system.276.938466401

+DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/sysaux.277.938466401

+DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/undotbs1.275.938466399

+DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/users.279.938466427

11 rows selected.

SQL> create tablespace test datafile '/dev/sdf' size 10M autoextend on;

Tablespace created.

SQL> select name from v$datafile;

NAME

--------------------------------------------------------------------------------

+DATA/XFFDB/DATAFILE/system.257.938465955

+DATA/XFFDB/DATAFILE/sysaux.258.938465989

+DATA/XFFDB/DATAFILE/undotbs1.259.938466005

+DATA/XFFDB/4700A987085B3DFAE05387E5E50A8C7B/DATAFILE/system.271.938466083

+DATA/XFFDB/4700A987085B3DFAE05387E5E50A8C7B/DATAFILE/sysaux.270.938466083

+DATA/XFFDB/DATAFILE/users.260.938466007

+DATA/XFFDB/4700A987085B3DFAE05387E5E50A8C7B/DATAFILE/undotbs1.272.938466083

+DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/system.276.938466401

+DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/sysaux.277.938466401

+DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/undotbs1.275.938466399

+DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/users.279.938466427

/dev/sdf

12 rows selected.

SQL> select file# from v$datafile where name like '%sdf%';

FILE#

----------

13

SQL> select rfile#,file#,name from v$datafile where file#=13;

RFILE# FILE# NAME

---------- ---------- ------------------------------

13 13 /dev/sdf

SQL> create table t_xifenfei tablespace test as

2 select * from dba_objects;

Table created.

SQL> select count(*) from t_xifenfei;

COUNT(*)

----------

72660

SQL> select file_id,extent_id,blocks from dba_extents where segment_name='T_XIFENFEI';

FILE_ID EXTENT_ID BLOCKS

---------- ---------- ----------

13 0 8

13 1 8

13 2 8

13 3 8

13 4 8

13 5 8

13 6 8

13 7 8

13 8 8

13 9 8

13 10 8

13 11 8

13 12 8

13 13 8

13 14 8

13 15 8

13 16 128

13 17 128

13 18 128

13 19 128

13 20 128

13 21 128

13 22 128

13 23 128

13 24 128

13 25 128

13 26 128

27 rows selected.

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

Total System Global Area 2432696320 bytes

Fixed Size 8795664 bytes

Variable Size 654313968 bytes

Database Buffers 1761607680 bytes

Redo Buffers 7979008 bytes

Database mounted.

Database opened.

SQL> select count(*) from t_xifenfei;

COUNT(*)

----------

72660

SQL>

SQL> set pages 100

SQL> select name from v$datafile;

NAME

--------------------------------------------------------------------------------

+DATA/XFFDB/DATAFILE/system.257.938465955

+DATA/XFFDB/DATAFILE/sysaux.258.938465989

+DATA/XFFDB/DATAFILE/undotbs1.259.938466005

+DATA/XFFDB/4700A987085B3DFAE05387E5E50A8C7B/DATAFILE/system.271.938466083

+DATA/XFFDB/4700A987085B3DFAE05387E5E50A8C7B/DATAFILE/sysaux.270.938466083

+DATA/XFFDB/DATAFILE/users.260.938466007

+DATA/XFFDB/4700A987085B3DFAE05387E5E50A8C7B/DATAFILE/undotbs1.272.938466083

+DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/system.276.938466401

+DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/sysaux.277.938466401

+DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/undotbs1.275.938466399

+DATA/XFFDB/4A93528C587D82CEE055000000000001/DATAFILE/users.279.938466427

/dev/sdf

12 rows selected.

lvm设备测试

[root@localhost ~]# pvcreate /dev/sdf

Physical volume "/dev/sdf" successfully created.

[root@localhost ~]#

[root@localhost ~]#

[root@localhost ~]# vgcreate vgxff /dev/sdf

Volume group "vgxff" successfully created

[root@localhost ~]# lvcreate -L 512M -n data01 vgxff

Logical volume "data01" created.

[root@localhost ~]# lvcreate -L 512M -n data02 vgxff

Logical volume "data02" created.

[root@localhost ~]# lvcreate -L 512M -n data03 vgxff

Logical volume "data03" created.

[root@localhost ~]# lvdisplay vgxff

--- Logical volume ---

LV Path /dev/vgxff/data01

LV Name data01

VG Name vgxff

LV UUID c9PowB-11OX-sjcF-fZLe-5vha-xV4x-ITRflH

LV Write Access read/write

LV Creation host, time localhost.localdomain, 2017-04-02 19:46:17 -0400

LV Status available

# open 0

LV Size 512.00 MiB

Current LE 128

Segments 1

Allocation inherit

Read ahead sectors auto

- currently set to 8192

Block device 251:2

--- Logical volume ---

LV Path /dev/vgxff/data02

LV Name data02

VG Name vgxff

LV UUID vvMbWB-tale-twTH-hg4k-Kcwh-3I8e-neOnEk

LV Write Access read/write

LV Creation host, time localhost.localdomain, 2017-04-02 19:46:21 -0400

LV Status available

# open 0

LV Size 512.00 MiB

Current LE 128

Segments 1

Allocation inherit

Read ahead sectors auto

- currently set to 8192

Block device 251:3

--- Logical volume ---

LV Path /dev/vgxff/data03

LV Name data03

VG Name vgxff

LV UUID DDz3M1-cVX0-NAJb-3rlK-DkYt-eSQG-xna8ew

LV Write Access read/write

LV Creation host, time localhost.localdomain, 2017-04-02 19:46:25 -0400

LV Status available

# open 0

LV Size 512.00 MiB

Current LE 128

Segments 1

Allocation inherit

Read ahead sectors auto

- currently set to 8192

Block device 251:4

[root@localhost ~]# cd /dev/vgxff/

[root@localhost vgxff]# ls -ltr

total 0

lrwxrwxrwx 1 root root 7 Apr 2 19:46 data01 -> ../dm-2

lrwxrwxrwx 1 root root 7 Apr 2 19:46 data02 -> ../dm-3

lrwxrwxrwx 1 root root 7 Apr 2 19:46 data03 -> ../dm-4

[root@localhost vgxff]# cd /dev/mapper/

[root@localhost mapper]# ls -ltr

total 0

crw------- 1 root root 10, 236 Apr 2 19:28 control

lrwxrwxrwx 1 root root 7 Apr 2 19:28 ol-swap -> ../dm-1

lrwxrwxrwx 1 root root 7 Apr 2 19:28 ol-root -> ../dm-0

lrwxrwxrwx 1 root root 7 Apr 2 19:46 vgxff-data01 -> ../dm-2

lrwxrwxrwx 1 root root 7 Apr 2 19:46 vgxff-data02 -> ../dm-3

lrwxrwxrwx 1 root root 7 Apr 2 19:46 vgxff-data03 -> ../dm-4

[root@localhost mapper]# ls -l /dev/dm*

brw-rw---- 1 root disk 251, 0 Apr 2 19:28 /dev/dm-0

brw-rw---- 1 root disk 251, 1 Apr 2 19:28 /dev/dm-1

brw-rw---- 1 root disk 251, 2 Apr 2 19:46 /dev/dm-2

brw-rw---- 1 root disk 251, 3 Apr 2 19:46 /dev/dm-3

brw-rw---- 1 root disk 251, 4 Apr 2 19:46 /dev/dm-4

[root@localhost mapper]# chown oracle:oinstall /dev/dm-[2-4]

[root@localhost mapper]# ls -l /dev/dm*

brw-rw---- 1 root disk 251, 0 Apr 2 19:28 /dev/dm-0

brw-rw---- 1 root disk 251, 1 Apr 2 19:28 /dev/dm-1

brw-rw---- 1 oracle oinstall 251, 2 Apr 2 19:46 /dev/dm-2

brw-rw---- 1 oracle oinstall 251, 3 Apr 2 19:46 /dev/dm-3

brw-rw---- 1 oracle oinstall 251, 4 Apr 2 19:46 /dev/dm-4

[root@localhost mapper]#

[oracle@localhost ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Sun Apr 2 19:50:47 2017

Copyright (c) 1982, 2016, Oracle. All rights reserved.

Connected to:

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> create tablespace lvtbs datafile '/dev/mapper/vgxff-data01' size 450M;

Tablespace created.

SQL> alter tablespace lvtbs add datafile '/dev/mapper/vgxff-data02' size 450M;

Tablespace altered.

SQL> alter tablespace lvtbs add datafile '/dev/mapper/vgxff-data03' size 450M;

Tablespace altered.

SQL> select rfile#,file#,name from v$datafile where name like '%mapper%';

RFILE# FILE# NAME

---------- ---------- --------------------------------------------------

14 14 /dev/mapper/vgxff-data01

15 15 /dev/mapper/vgxff-data02

16 16 /dev/mapper/vgxff-data03

SQL> create table lv12c tablespace lvtbs as

2 select * from dba_objects;

Table created.

SQL> select count(*) from lv12c;

COUNT(*)

----------

72660

SQL> select file_id,extent_id,blocks from dba_extents where segment_name='LV12C';

FILE_ID EXTENT_ID BLOCKS

---------- ---------- ----------

14 0 8

14 1 8

14 2 8

14 3 8

14 4 8

14 5 8

14 6 8

14 7 8

14 8 8

14 9 8

14 10 8

14 11 8

14 12 8

14 13 8

14 14 8

14 15 8

14 18 128

14 21 128

14 24 128

15 17 128

15 20 128

15 23 128

15 26 128

16 16 128

16 19 128

16 22 128

16 25 128

27 rows selected.

SQL> SHUTDOWN IMMEDIATE;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

Total System Global Area 2432696320 bytes

Fixed Size 8795664 bytes

Variable Size 654313968 bytes

Database Buffers 1761607680 bytes

Redo Buffers 7979008 bytes

Database mounted.

Database opened.

SQL> select count(*) from lv12c;

COUNT(*)

----------

72660

raw设备测试

[root@localhost ~]# raw /dev/raw/raw1 /dev/sdf

/dev/raw/raw1: bound to major 8, minor 80

[root@localhost ~]# ls -l /dev/raw/raw1

crw-rw---- 1 root disk 162, 1 Apr 4 04:00 /dev/raw/raw1

[root@localhost ~]# chown oracle:oinstall /dev/raw/raw1

[root@localhost ~]# ls -l /dev/raw/raw1

crw-rw---- 1 oracle oinstall 162, 1 Apr 4 04:00 /dev/raw/raw1

[oracle@localhost ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Tue Apr 4 04:01:42 2017

Copyright (c) 1982, 2016, Oracle. All rights reserved.

Connected to:

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> create tablespace rawtbs datafile '/dev/raw/raw1' size 128M autoextend on;

Tablespace created.

SQL> select rfile#,file#,name from v$datafile where name like '%raw%';

RFILE# FILE#

---------- ----------

NAME

--------------------------------------------------------------------------------

17 17

/dev/raw/raw1

SQL> create table t_xifenfei_raw tablespace rawtbs

2 as select * from dba_objects;

Table created.

SQL> select count(*) from t_xifenfei_raw ;

COUNT(*)

----------

72660

SQL> select file_id,extent_id,blocks from dba_extents where segment_name='T_XIFENFEI_RAW';

FILE_ID EXTENT_ID BLOCKS

---------- ---------- ----------

17 0 8

17 1 8

17 2 8

17 3 8

17 4 8

17 5 8

17 6 8

17 7 8

17 8 8

17 9 8

17 10 8

17 11 8

17 12 8

17 13 8

17 14 8

17 15 8

17 16 128

17 17 128

17 18 128

17 19 128

17 20 128

17 21 128

17 22 128

17 23 128

17 24 128

17 25 128

17 26 128

27 rows selected.

从这里这里测试结果看,对于linux的block/raw/lvm设备依旧均可以在功能上做数据文件使用(稳定性和是否有其他bug未知).但没有出现mos中描述的直接报错,在条件允许的情况下,尽可能不要使用直接使用裸设备方式.

在12.2的administrator文档中出现明显描述:

6f5c1758cf972be37eb9d021e7c9b6b9.png

Direct use of raw or block devices is not supported. You can only use raw or block devices under Oracle ASM.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值