linux如何获取raw中的文件路径,如何在Linux中使用rawdevice(裸设备)---入门级

声明:

此文仅仅只是为了方便初学者理解rawdevice的使用过程,请勿用于生产环境。

// 查看当前lv的配置情况

[root@projectm rules.d]# lvs

LV          VG     Attr   LSize  Origin Snap%  Move Log Copy%  Convert

pkges       ext    -wi-ao 16.00G

lv_test_dbf system -wi-a- 64.00M

oracle      system -wi-ao 37.00G

root        system -wi-ao  6.78G

swap        system -wi-ao  1.00G

// 查看当前主机的vg

[root@projectm rules.d]# vgs

VG     #PV #LV #SN Attr   VSize  VFree

ext      1   1   0 wz--n- 16.00G     0

system   6   4   0 wz--n- 55.62G 10.78G

// 创建100M大小的一个逻辑卷。生产环境中此处应该是存储划拨的磁盘,使用逻辑卷只是为了方便获取和展示。

// 事实上,lv是可以直接添加为数据文件来使用的,这里不验证,有兴趣自行验证。

[root@projectm rules.d]# lvcreate -L +100M -n lv_create4raw system;

Rounding up size to full physical extent 128.00 MB

Logical volume "lv_create4raw" created

// 查看当前现有的所有rawdevices

[root@projectm rules.d]# raw -aq

// 绑定rawdevice

[root@projectm rules.d]# raw /dev/raw/raw1 /dev/mapper/system-lv_create4raw

/dev/raw/raw1:  bound to major 253, minor 5

// 查看rawdevice绑定情况

[root@projectm rules.d]# raw -aq

/dev/raw/raw1:  bound to major 253, minor 5

// 查看rawdevice文件对象,由于该裸设备将交予oracle使用,所以你需要修改一下权限。

[root@projectm rules.d]# ls -lrt /dev/raw/raw1

crw------- 1 root root 162, 1 Aug 11 18:29 /dev/raw/raw1

// 此修改权限及绑定rawdevice的方式在Linux中只是此次开机有效,重启以后需要重新赋权。

// 该方式已经淘汰,勿用于生产,生产中目前使用udev方式通过识别uuid来绑定设备。

[root@projectm rules.d]# id oracle

uid=1987(oracle) gid=1987(dba) groups=1987(dba)

[root@projectm rules.d]# chown oracle:dba /dev/raw/raw1

[root@projectm rules.d]# chmod 660 /dev/raw/raw1

[root@projectm rules.d]# ls -lrt /dev/raw/raw1

crw-rw---- 1 oracle dba 162, 1 Aug 11 18:29 /dev/raw/raw1

// 登录oracle用户使用rawdevices

[root@projectm rules.d]# su - oracle

// 查看当前运行的oracle实例。这是我的实验机,上面同时安装有9i, 10g, 11g, 12c。

// 为了方便区分环境我分别编写了.profile_9i, .profile_10g, .profile_11g, .profile_12c。

// 生产环境中请使用.profile 或者 .bash_profile(请根据不同系统确认使用哪个)。

// 只有这两个文件中的配置会自动加载, 因此我自定义的4个需要手动加载,以下你会看到。

[oracle@projectm ~]$ ps -ef | grep smon

oracle    4436     1  0 10:19 ?        00:00:00 ora_smon_orcl12c

oracle    4610  4581  0 18:31 pts/0    00:00:00 grep smon

[oracle@projectm ~]$ . .profile_12c             // 加载12c的环境变量

[oracle@projectm ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Thu Aug 11 18:31:19 2016

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

Connected to:

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

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

// 创建表空间并以rawdevice为数据文件,由于rawdevice大小是固定的,你可以不指定size,如果报错请补上。

I am sys@ORCL12C> create tablespace raw_tbs datafile '/dev/raw/raw1' size 100M;

Tablespace created.

// 查看是否创建成功

I am sys@ORCL12C> select file_name from dba_data_files where tablespace_name='RAW_TBS';

FILE_NAME

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

/dev/raw/raw1

// 在基于rawdevice的表空间上正常地创建表

I am sys@ORCL12C> create table raw_tab1 (id number, text varchar2(8)) tablespace raw_tbs;

Table created.

// 以正常的方式插入数据

I am sys@ORCL12C> insert into raw_tab1 values(1,'Yeah');

1 row created.

I am sys@ORCL12C> commit;

Commit complete.

// 验证数据插入情况

I am sys@ORCL12C> select * from raw_tab1;

ID TEXT

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

1     Yeah

// 删除表

I am sys@ORCL12C> drop table raw_tab1 purge;

Table dropped.

// 删除表空间及表空间中的数据及数据文件

I am sys@ORCL12C> drop tablespace raw_tbs including contents and datafiles;

Tablespace dropped.

I am sys@ORCL12C>

// 解绑刚刚创建的rawdevice,0是个强大的破坏者。

[root@projectm rules.d]# raw /dev/raw/raw1 0 0

/dev/raw/raw1:  bound to major 0, minor 0

// 确认解绑

[root@projectm rules.d]# raw -aq

// 删除lv, 此种访问lv的路径与此前提到的是等价的。

[root@projectm rules.d]# lvremove /dev/system/lv_create4raw

Do you really want to remove active logical volume lv_create4raw? [y/n]: y

Logical volume "lv_create4raw" successfully removed

[root@projectm rules.d]# lvs

LV          VG     Attr   LSize  Origin Snap%  Move Log Copy%  Convert

pkges       ext    -wi-ao 16.00G

lv_test_dbf system -wi-a- 64.00M

oracle      system -wi-ao 37.00G

root        system -wi-ao  6.78G

swap        system -wi-ao  1.00G

// 系统各项配置已还原,实验结束。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值