[Oracle] Oracle11G 基于裸设备文件格式安装、建库

前言

所谓的基于裸设备文件格式安装数据库事实上是ORACLE软件仍然安装在文件系统上,而新建的数据库是存储在裸设备上的。

0x00 安装前准备

  • 1# 配置root ssh登陆
root ssh login
/etc/ssh/sshd_config PermitRootLogin yes
  • 2# 关闭selinux
vi /etc/selinux/config
#SELINUX=enforcing  ##注释掉之前的配置,重新添加下面一段
SELINUX=disabled
  • 3# 关闭防火墙
systemctl disable firewalld.service
systemctl disable postfix.service
  • 4# 更改HOSTS
vi /etc/hosts
*IP地址*  oracle-raw
  • 5# 安装ORACLE 需要的依赖
yum install compat-libcap1 -y
yum install compat-libstdc++-33 compat-libstdc++-33.i686 -y
yum install gcc-c++ -y
yum install glibc-devel.i686 -y
yum install libaio.i686 -y
yum install libaio-devel libaio-devel.i686 -y
yum install libstdc++.i686 libstdc++-devel.i686 -y
yum install libXi.i686 -y
yum install libXtst.i686 -y
yum install unixODBC unixODBC.i686 unixODBC-devel unixODBC-devel.i686 -y
yum install xterm -y
yum install elfutils-libelf-devel -y
  • 6# 安装一些Tools
yum install net-tools -y
yum groupinstall “GNOME Desktop” -y
rpm -e ksh
wget http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm  ##内网服务器要区公网下载后拷贝到服务器
rpm -ihv pdksh-5.2.14-37.el5_8.1.x86_64.rpm

0x01 Oracle 用户、组、目录

  • 1# 建立组
groupadd oinstall
groupadd dba
groupadd oper
  • 2# 建立用户oracle给主组oinstall 副组dba oper
useradd -g oinstall -G dba -G oper oracle
  • 3# 设置oracle密码
passwd oracle  ##设置的密码自己要记住
  • 4# 建立oracle安装目录
mkdir /u01
lsblk    ## 查看磁盘分区

0x02 磁盘创建与挂载

  • 1# 创建VG组,把物理硬盘sbd sbc sdd加入名为oracle的VG组

vgcreate oracle /dev/sdb /dev/sdc /dev/sdd

  • 2# 在VG组下创建20G名为orasoft的LV
 lvcreate -L 20G -n orasoft oracle
  • PS: 删除命令是

lvremove /dev/oracle/orasoft

  • 3# 格式化 LV
 mkfs.ext4 /dev/oracle/orasoft
  • 4# 把orasoft设备与 /u01目录挂载
 mount -o loop /dev/oracle/orasoft /u01/
  • 5# 加入系统自启动 vi /etc/fstab
/dev/oracle/oracle-soft                                           ext4    defaults   0 0
  • 6# 把目录赋权限给oracle用户和oinstall组
chown -R oracle:oinstall /u01/

0x03 修改系统配置文件

  • 1# 修改内核参数配置文件 vi /etc/sysctl.conf
#Add for Oracleinstall
          kernel.shmmax = 8360808448  (本机内存*1024)
          kernel.sem = 250 32000 100 128
          kernel.shmall = 2097152
          kernel.shmmni = 4096
          fs.aio-max-nr = 1048576
          fs.file-max = 6815744
          net.ipv4.ip_local_port_range = 9000 65500
          net.core.rmem_default = 262144
          net.core.rmem_max = 4194304
          net.core.wmem_default = 262144
          net.core.wmem_max = 1048576
  • 2# 修改文件描述符 vi /etc/security/limits.conf
#Add for Oracleinstall
          oracle  soft  nproc  2047
          oracle  hard  nproc  16384
          oracle  soft  nofile  4096
          oracle  hard  nofile  65536
          oracle  soft  stack  10240
          oracle  hard  stack  32768
  • 3# 添加环境变量 vi /home/oracle/.bash_profile
          TMP=/tmp
          TMPDIR=/tmp
          ORACLE_BASE=/u01/app/oracle
          ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
          ORACLE_SID=orcl
          PATH=$PATH:$ORACLE_HOME/bin
          export PATH TMP TMPDIR ORACLE_BASE ORACLE_HOME ORACLE_SID
          export LANG=zh_CN.UTF-8
  • 4# 使修改的配置文件生效
sysctl -p

0x04 开始安装Oracle

  • 1# 切换oracle用户
su - oracle
  • 2# 解压oracle安装包,用Xstart 连接服务器用oracle账户登陆,输入unset LANG

  • 3# 进入database目录下使用 ./runInstaller 安装oracle

  • 4# 以下是安装过程,不细说

第一步:跳过
第二步:跳过
第三步:install database software only
第四步:Single instance database installation
第五步:Enterprise Editio
第六步:位置前面已经设好了直接下一步
第七步:位置前面已经设好了直接下一步
第八步:版本bugf报错 error in invoking 更改文件: vi /$ORACLE_HOME/sysman/lib/ins_emagent.mk search for line $(MK_EMAGENT_NMECTL) 改成 $(MK_EMAGENT_NMECTL) -lnnz11
第九步:然后回到安装界面NEXT
第十步:切回root用户执行2个脚本  /u01/app/oraInvertory/orainstRoot.sh    /0u1/app/oracle/product/11.2.0/dbhome_1/root.sh
第十一步:然后回到安装界面点击OK,然后安装完成。

0x05 裸设备建库★

  • 1# oracle实例配置文件:包含参数,实例,线程数,用户数
lvcreate -L 10M -n spfile oracle
  • 2# 系统表空间
lvcreate -L 1000M -n system01 oracle
  • 3# 系统表空间
lvcreate -L 5000M -n sysaux01 oracle
  • 4# 临时表空间
lvcreate -L 2000M -n temp01 oracle

##删除库使用 undo

lvcreate -L 1000M -n undotbs01 oracle

  • 5# 用户表空间
lvcreate -L 2000M -n users01 oracle
  • 6# oracle的控制文件,control01 记录oracle版本
 lvcreate -L 50M -n control01 oracle
  • 7# oracle的控制文件,control01 记录oracle版本
lvcreate -L 50M -n control02 oracle
  • 8# log日志文件库
lvcreate -L 100M -n redo01 oracle
lvcreate -L 100M -n redo02 oracle
lvcreate -L 100M -n redo03 oracle

0x06 库与裸设备绑定:

  • 1# 把磁盘变成裸设备,这样数据库的数据存储在裸设备中而不是文件系统上,可通过ll /dev/raw/ 查看设备列表。
raw /dev/raw/raw1 /dev/oracle/spfile
raw /dev/raw/raw2 /dev/oracle/system01
raw /dev/raw/raw3 /dev/oracle/sysaux01
raw /dev/raw/raw4 /dev/oracle/temp01
raw /dev/raw/raw5 /dev/oracle/undotbs01
raw /dev/raw/raw6 /dev/oracle/users01
raw /dev/raw/raw7 /dev/oracle/control01
raw /dev/raw/raw8 /dev/oracle/control02
raw /dev/raw/raw9 /dev/oracle/redo01
raw /dev/raw/raw10 /dev/oracle/redo02
raw /dev/raw/raw11 /dev/oracle/redo03
  • 2# 建立数据库目录
mkdir -p /u01/app/oracle/oradata/orcl
mkdir -p /u01/app/oracle/flash_recovery_area/orcl
  • 3# 把裸设备与存储库文件绑定做一个快捷方式
ln -s /dev/raw/raw1 $ORACLE_HOME/dbs/spfileorcl.ora
ln -s /dev/raw/raw2 /u01/app/oracle/oradata/orcl/system01.dbf
ln -s /dev/raw/raw3 /u01/app/oracle/oradata/orcl/sysaux01.dbf
ln -s /dev/raw/raw4 /u01/app/oracle/oradata/orcl/temp01.dbf
ln -s /dev/raw/raw5 /u01/app/oracle/oradata/orcl/undotbs01.dbf
ln -s /dev/raw/raw6 /u01/app/oracle/oradata/orcl/users01.dbf
ln -s /dev/raw/raw7 /u01/app/oracle/oradata/orcl/control01.ctl
ln -s /dev/raw/raw8 /u01/app/oracle/flash_recovery_area/orcl/control02.ctl
ln -s /dev/raw/raw9 /u01/app/oracle/oradata/orcl/redo01.log
ln -s /dev/raw/raw10 /u01/app/oracle/oradata/orcl/redo02.log
ln -s /dev/raw/raw11 /u01/app/oracle/oradata/orcl/redo03.log
  • 4# exit到root用户,赋与裸设备用户、组权限,ll /dev/raw 查看
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
chown oracle:oinstall /dev/raw/raw11
  • 5# exit到root用户赋予库文件用户、组权限,/dev/dm* 查看
chown oracle:oinstall /dev/oracle/control01
chown oracle:oinstall /dev/oracle/redo02
chown oracle:oinstall /dev/oracle/spfile
chown oracle:oinstall /dev/oracle/system01
chown oracle:oinstall /dev/oracle/control01
chown oracle:oinstall /dev/oracle/redo01
chown oracle:oinstall /dev/oracle/redo03
chown oracle:oinstall /dev/oracle/sysaux01
chown oracle:oinstall /dev/oracle/temp01
chown oracle:oinstall /dev/oracle/users01

0x07 使用Xstart登陆配置监听

第一步:输入unset LANG
第二步:输入netca
第三步:选择Listener configuration
第四步:全部next 回到最初界面点击 fish

0x08 使用Xstart 登陆进行Oracle 建库

第一步:su - oracle   ##切换到oracle用户
第二步: 输入dbca,打开创建数据库窗口,选择NEXT
第三步: 选择Create A Database
第四步: 建库的模式:

 1. 联机交易 General Purpose or Transaction Processing
 2. 纯手动     Custom Database √
 3. 数据仓库  Data Warehouse

第五步: 填写实例名 orcl
第六步: 默认next
第七步: use the Same Administrative Password for all Accounts
  #密码要8位,不满8位也可以强制使用,提示弹窗选择yes
第八步: 分别选择

 1. File system



 2. use common location for all database:
填写 /u01/app/oracle/oradata/ 

第九步:勾选 Enable Archiving #支持归档模式,选择next
第十步:打开Standard Database components ,把勾选全部去掉,提示选择yes
第十一步:配置内存Memory:如果服务器只做数据库 70%内存
   配置进程Sizing:不用操作,BS一般150进程够,如果是CS一般高一点
   配置字符集Character Sets:选择Choose from the list of character sets,Database Character Set:ZHS16GBK  National Character Set:UTF-8
   下一步提示覆盖,选择yes
第十二步:选择Storage--Controlfile /u01/app/oracle/oradata/{DB_UNIQUE_NAME}
   选择Datafiles--挨个选择每一个选项中的-storage-取消勾选 Automatically extend datafile when full
   General---File Size:输入我们当时创建的大小
第十三步:选择Redo Log Groups -1 -2 -3 把General中的File Size:改成99M
第十步:打开TABLESPACES--挨个检查表大小和位置是否正确  选择next
第十五步:勾选 Generate Database Creation Scripts,点击fish,报错点击yes,选择Ignore,检查自己的配置,没问题点击OK,提示选择OK

0x09 Oracle 管理后台

https://172.16.120.192:1158/em/console ,选择sysdba,账号sys,system

在linux下开启和关闭管理后台:

emctl start dbconsole  ## 开启管理后台
emctl stop dbconsole   ## 关闭管理后台

0x10 建立独立的用户表空间

1. lvcreate -L 20G -n aaa oracle  ## 在vg组中创建20G名为aaa的lv
2. mkfs.ext4 /dev/oracle/aaa  ## 格式化aaa LV
3. raw /dev/raw/raw12 /dev/oracle/aaa ##把aaa磁盘变成裸设备raw12
3. ln -s /dev/raw/raw12 /u01/app/oracle/oradata/orcl/aaa.dbf   ##把库文件aaa.dbf与裸设备aaa做绑定
4. chown oracle:oinstall /dev/raw/raw12   ##登陆root赋予权限给裸设备
5. chown oracle:oinstall /dev/oracle/aaa  ##登陆root赋予权限给超链接
6. 登陆后台--服务器---表空间--创建--添加名称---添加数据文件,一般用户登陆角色权限只 给CONNECT RESOURCE

##如果用户临时表空间很大就单独创建,如果不大就选择tmp

0x11 End

图片有空全部加上,目前只有文字讲解~

发布了40 篇原创文章 · 获赞 30 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_42728126/article/details/105553048