我的环境很简单,vm workstation下面装了一个linux 4,oracle 10g版本,由于不属于trouble shooting和performance tuning

而只是搭建一套裸设备的数据库,所以我这里不查看详细的linux和oracle版本信息,由于是基于LVM

的存储管理,所以只需要确保linux下面安装了lvm包,rmp -qa | grep lvm即可查询。

1.首先我在linux虚拟机下加了一块大小为10g的磁盘,我将该磁盘分两个区,两个分区建两个对应的pv,两个pv建一个名称为oradatavg的卷组,在该vg下建创建数据库

文件的裸设备,关于linux如何分区和lvm的内容可以参考我相关的日志,此处不介绍,创建完成后vgdisplay命令查看我的vg信息如下:

[root@localhost ~]# vgdisplay oradatavg

--- Volume group ---

VG Name oradatavg

System ID

Format lvm2

Metadata Areas 2

Metadata Sequence No 1

VG Access read/write

VG Status resizable

MAX LV 0

Cur LV 0

Open LV 0

Max PV 0

Cur PV 2

Act PV 2

VG Size 9.19 GB

PE Size 4.00 MB

Total PE 2352

Alloc PE / Size 0 / 0

Free PE / Size 2352 / 9.19 GB

VG UUID N2iygE-18cd-AXuR-3ZEu-4UXr-XYfd-v9IKU0

[root@localhost ~]#

可以看出两块PV,vg大小9.19G。

2.创建lv:

lvcreate -L 8M -n lv_spfile oradatavg

lvcreate -L 20M -n lv_control01 oradatavg

lvcreate -L 20M -n lv_control02 oradatavg

lvcreate -L 20M -n lv_redo01 oradatavg

lvcreate -L 20M -n lv_redo02 oradatavg

lvcreate -L 500M -n lv_system01 oradatavg

lvcreate -L 500M -n lv_sysaux01 oradatavg

lvcreate -L 500M -n lv_users01 oradatavg

lvcreate -L 20M -n lv_undo01 oradatavg

lvcreate -L 20M -n lv_temp01 oradatavg

创建完成后lvscan浏览如下:

[root@localhost ~]# lvscan

ACTIVE '/dev/oradatavg/lv_spfile' [8.00 MB] inherit

ACTIVE '/dev/oradatavg/lv_control01' [20.00 MB] inherit

ACTIVE '/dev/oradatavg/lv_control02' [20.00 MB] inherit

ACTIVE '/dev/oradatavg/lv_redo01' [20.00 MB] inherit

ACTIVE '/dev/oradatavg/lv_redo02' [20.00 MB] inherit

ACTIVE '/dev/oradatavg/lv_system01' [500.00 MB] inherit

ACTIVE '/dev/oradatavg/lv_sysaux01' [500.00 MB] inherit

ACTIVE '/dev/oradatavg/lv_users01' [500.00 MB] inherit

ACTIVE '/dev/oradatavg/lv_undo01' [20.00 MB] inherit

ACTIVE '/dev/oradatavg/lv_temp01' [20.00 MB] inherit

ACTIVE '/dev/VolGroup00/LogVol00' [12.91 GB] inherit

ACTIVE '/dev/VolGroup00/LogVol01' [1.94 GB] inherit

[root@localhost ~]#

3.绑定裸设备

raw /dev/raw/raw1 /dev/oradatavg/lv_spfile

raw /dev/raw/raw2 /dev/oradatavg/lv_control01

raw /dev/raw/raw3 /dev/oradatavg/lv_control02

raw /dev/raw/raw4 /dev/oradatavg/lv_redo01

raw /dev/raw/raw5 /dev/oradatavg/lv_redo02

raw /dev/raw/raw6 /dev/oradatavg/lv_system01

raw /dev/raw/raw7 /dev/oradatavg/lv_sysaux01

raw /dev/raw/raw8 /dev/oradatavg/lv_users01

raw /dev/raw/raw9 /dev/oradatavg/lv_undo01

raw /dev/raw/raw10 /dev/oradatavg/lv_temp01

raw -qa:

[root@localhost ~]# raw -qa

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

/dev/raw/raw2: bound to major 253, minor 3

/dev/raw/raw3: bound to major 253, minor 4

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

/dev/raw/raw5: bound to major 253, minor 6

/dev/raw/raw6: bound to major 253, minor 7

/dev/raw/raw7: bound to major 253, minor 8

/dev/raw/raw8: bound to major 253, minor 9

/dev/raw/raw9: bound to major 253, minor 10

/dev/raw/raw10: bound to major 253, minor 11

[root@localhost ~]#

将裸设备信息加入文件/etc/sysconfig/rawdevices,以便开机时自动加载裸设备:

/dev/raw/raw1 /dev/oradatavg/lv_spfile

/dev/raw/raw2 /dev/oradatavg/lv_control01

/dev/raw/raw3 /dev/oradatavg/lv_control02

/dev/raw/raw4 /dev/oradatavg/lv_redo01

/dev/raw/raw5 /dev/oradatavg/lv_redo02

/dev/raw/raw6 /dev/oradatavg/lv_system01

/dev/raw/raw7 /dev/oradatavg/lv_sysaux01

/dev/raw/raw8 /dev/oradatavg/lv_users01

/dev/raw/raw9 /dev/oradatavg/lv_undo01

/dev/raw/raw10 /dev/oradatavg/lv_temp01

4.修改卷组属主和访问访问权限:

chown oracle:oinstall /dev/oradatavg

chmod 777 /dev/raw/*

chmod 777 /dev/raw/

5.创建数据文件指向裸设备的软链接:

ln -s /dev/raw/raw1 /oracle/oradata/rawdb/spfile

ln -s /dev/raw/raw2 /oracle/oradata/rawdb/control01.ctl

ln -s /dev/raw/raw3 /oracle/oradata/rawdb/control02.ctl

ln -s /dev/raw/raw4 /oracle/oradata/rawdb/redo01.log

ln -s /dev/raw/raw5 /oracle/oradata/rawdb/redo02.log

ln -s /dev/raw/raw6 /oracle/oradata/rawdb/system01.dbf

ln -s /dev/raw/raw7 /oracle/oradata/rawdb/sysaux01.dbf

ln -s /dev/raw/raw8 /oracle/oradata/rawdb/users01.dbf

ln -s /dev/raw/raw9 /oracle/oradata/rawdb/undo01.dbf

ln -s /dev/raw/raw10 /oracle/oradata/rawdb/temp01.dbf

6.创建裸设备映射文件DBCA_RAW_CONFIG.txt

spfile=/oracle/oradata/rawdb/spfile

control1=/oracle/oradata/rawdb/control01.ctl

control2=/oracle/oradata/rawdb/control02.ctl

redo1_1=/oracle/oradata/rawdb/redo01.log

redo2_1=/oracle/oradata/rawdb/redo02.log

system=/oracle/oradata/rawdb/system01.dbf

sysaux=/oracle/oradata/rawdb/sysaux01.dbf

users=/oracle/oradata/rawdb/users01.dbf

undotbs1=/oracle/oradata/rawdb/undo01.dbf

temp=/oracle/oradata/rawdb/temp01.dbf

7.运行DBCA创建数据库

export DBCA_RAW_CONFIG=/oracle/DBCA_RAW_CONFIG.txt

在安装的step 6 选择要用于数据库的存储机制,选择裸设备,由于设定了环境变量DBCA_RAW_CONFIG,所以指定裸设备映射文件项自动选择了指定的

映射文件.

安装中我主要遇到了以下三个问题,上述的脚本都是我在错误的基础上修改正确的版本:

1.SYSTEM property not set in mapping file或者redo1_1 property not set in mapping file

原因是你在映射文件中比如把system改成system01或者redo1_1改成redo01就会报,应该是安装裸设备数据库的映射文件oracle固定了一些名称,必须要按照它指定的名称来

设,不然就会报错。

2.Oracle可使用的裸设备"/oracle/oradata/rawdb/redo01.log"

的物理大小"20480K"小于要求的大小"51200K",请指定

更大的裸设备或增大裸设备的大小。

由于我刚开始设置的是20M,所以报这个错误,报错后我用lvextend扩展了lv之后问题解决:

lvextend -L 512M /dev/oradatavg/lv_redo01

lvextend -L 512M /dev/oradatavg/lv_redo02

3.ORA-01119:error in creating database file '/oracle/oradata/rawdb/temp01.dbf'

ORA-27042:not enough space on raw partition to fulfillrequest

这个问题是由于上面我将temp表空间文件设置为20M太小,将temp文件设置大后便解决这个问题。

如下,一个实例名为rawdb的裸设备数据库安装成功。

SQL> select instance_name,status from v$instance;

INSTANCE_NAME STATUS

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

rawdb OPEN

SQL>

oracle在linux上使用裸设备,在linux下构建基于LVM的裸设备数据库相关推荐

  1. linux上安装shell编辑器与linux运维面试题

    分两个部分 一.安装B-shell解释器 安装cygwin  Eclipse要找到安装的bin路径 https://cygwin.com 二.安装编辑器shellEd 下载可以得到一个:net.sou ...

  2. 在linux上安装jdk_如何在Linux上安装Java

    在linux上安装jdk 无论您运行的是哪种操作系统,通常都有几种安装应用程序的方法. 有时,您可能会在应用商店中找到一个应用,或者使用Fedora上的DNF或Mac上的Brew的软件包管理器进行安装 ...

  3. linux离线安装redmine_9 款 Linux 上的最佳笔记应用 | Linux 中国

    无论你做什么,做笔记总是一个好习惯.https://linux.cn/article-12307-1.html作者:Ankush Das译者:Xingyu.Wang 无论你做什么,做笔记总是一个好习惯 ...

  4. sqlserver linux 付费吗_9 款 Linux 上的最佳笔记应用 | Linux 中国

    无论你做什么,做笔记总是一个好习惯. 来源:https://linux.cn/article-12307-1.html 作者:Ankush Das 译者:Xingyu.Wang 无论你做什么,做笔记总 ...

  5. linux上安装osg_如何在 Linux 上安装并启用 Flatpak 支持? | Linux 中国

    Flatpak 提供了一种通用的包封装格式,可以在任何 Linux 发行版中使用.它提供了一个沙箱(隔离的)环境来运行应用程序,不会影响其他应用程序和发行版核心软件包.-- Magesh Maruth ...

  6. Linux从头开始学--学习笔记9知识点补充-ubuntu,centos;在linux上创建c程序;linux基础命令,shell命令,vi命令,man帮助手册

    这是我从头开始学习Linux的学习笔记,后续还会更新. 记录自己的技术成长,也希望和大家分享交流,欢迎关注~ 本笔记为coursera网站课程<Linux for Developers>的 ...

  7. 在linux上编译错误,Daemontools 在 Linux上编译错误解决

    在Linux上编译daemontools出现错误 执行install出现 /usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .t ...

  8. linux上类似迅雷的软件,linux下有没有像迅雷或者快车的那种下载软件?

    clark_2011 于 2011-04-02 17:17:55发表: 学习中! teber 于 2011-04-02 11:39:13发表: 一直用迅雷,看来下东西还要两个系统来回切了, 要是能多台 ...

  9. linux上mysql5.7忘记密码,Linux下Mysql5.7忘记密码

    一.问题 linux下的mysql5.7忘记密码 二.解决 第一步:打开mysql5.7的配置文件my.cnf,并在里面增加一行:skip-grant-tables   保存并退出(:wq) [roo ...

最新文章

  1. 小米数据管理与应用实践
  2. Py之face_alignment:face_alignment库的简介、安装、使用方法之详细攻略
  3. 【Python】全文3000字,Pyecharts制作可视化大屏全流程! (附代码分享)
  4. vue中进度条写法_vue组件实现进度条效果
  5. php备份mysql页面_如何用PHP的页面备份、恢复Mysql数据库_php
  6. 好的技术不一定能给你带来财富,但是好的工具一定可以让你创造财富
  7. 【序列化与反序列化流】
  8. mysql tuner sh_MySQL性能提议者:mysqltuner.pl
  9. Python学习笔记——python基础之python中for......else......的使用
  10. java的8年来工作汇总
  11. 谁是最大的竞争对手互联网宝宝军团?
  12. 【数学知识】非线性方程求解的二分法以及牛顿迭代法
  13. 学生用计算机隐藏功能,学生计算器怎么去掉d
  14. 基于51单片机的烟雾火灾报警系统
  15. tecplot有效数字位数
  16. OpenGL,glut,glew,glfw,mesa等
  17. Markdown编辑器使用方法
  18. CSP 202012-5 星际旅行(60分)
  19. LVDS转MIPI 视频旋转芯片 POL8901 图像处理芯片
  20. 浅谈前端、客户端、服务器、后台、与下位机之间的关系

热门文章

  1. 详解Python中的各种数字类型
  2. 混凝土静力受压弹性模量试验计算公式_混凝土试块检测要知道的9个技巧
  3. (c语言)输入两个整数a和n,计算下面表达式的值。Sn=a+aa+aaa+aaaa+.....+aa..aa(n个a)
  4. 织梦在哪写html,织梦dedecms模板文件不支持html的解决方法
  5. qdialog 只有点击才能获得焦点_使用金属激光切割机时该注意什么才能保证产品质量?...
  6. mysql更改安装路径6_关于mysql安装后更改数据库路径方法-Centos6环境
  7. 哪个不是python合法的标识符_哪个不是python合法标识符
  8. html转义 在线,HTML转义工具 [Javascript版]
  9. python 递归的最大层数_练习题-Python的最大递归层数
  10. activiti7流程设计器_消防水泵结合器怎么安装,水泵结合器安装工艺分享