[技术干货] Oracle单机实例+ASM
本环境CentOS7.4使用的主要软件包:
11.2.0.1版本
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
linux.x64_11gR2_grid.zip
需要额外一个磁盘做完ASM挂载磁盘:本实例使用50G
使用x-shell进行远程,通过Xmanager进行图形化显示(需关闭selinux)
一、环境准备
1.创建ORACLE用户和组成员
groupadd oinstall
groupadd dba
groupadd oper
groupadd asmadmin
groupadd asmdba
groupadd asmoper
useradd -g oinstall -G dba,asmdba,oper -d /home/oracle oracle (命令自动创建/home/oracle目录)
useradd -g oinstall -G dba,asmadmin,asmdba,asmoper -d /home/grid grid (命令自动创建/home/grid目录)
2.分别创建oracle、grid用户的密码
passwd oracle
new unix password: oracle
passwd grid
new unix password: grid
3.//创建以下目录
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle/product/11.2.0/db_1
mkdir -p /u02/arch
chown -R grid:oinstall /u01
chown -R oracle:oinstall /u01/app/oracle
chown -R oracle:oinstall /u02
chmod -R 775 /u01
chmod -R 775 /u02
4.使用oracle用户登陆,设置oracle用户的环境变量
//增加以下几行
[oracle@rac31 ~]$ vim .bash_profile
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH
export NLS_LANG=AMERICAN_AMERICA.UTF8
umask 022
5.使用grid域名登陆,设置grid用户的环境变量
//增加以下几行
[grid@rac31 ~]$ vim .bash_profile
export PATH
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG=American_america.ZHS16GBK
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export ORACLE_SID=+ASM
[root@rac31 ~]# vi /etc/security/limits.conf
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
[root@rac31 ~]# vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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
[root@rac31 ~]# sysctl -p
关闭selinux
[root@rac31 ~]#vim /etc/selinux/config
SELINUX=disabled
[root@rac31 ~]#setenforce 0
安装缺失的包
yum -y install compat-libcap1 compat-libstdc++-33-3.2.3 libstdc++-devel-4.4.4 gcc gcc-c++ ksh libaio-devel
fdisk dev/sdb
N新建分区
P创建主分区
1 分区数1个
回车
回车
W保存
[root@rac31 ~]#ls /dev/sdb*
/dev/sdb /dev/sdb1
安装ASM依赖文件
[root@rac31 ~]#yum install –y oracleasmlib-2.0.12-1.el7.x86_64.rpm oracleasm-support-2.1.11-2.el7.x86_64.rpm
需要重启主机才能正常挂载oracleasm模块
[root@rac31 ~]#reboot
挂载oracleasm模块
# oracleasm configure -i
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: grid
Default group to own the driver interface []: asmadmin
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
oracleasm createdisk OCR_VOTE1 /dev/sdb1
oracleasm module not loaded or /dev/oracleasm not mounted.
解决 方法
linux7需要手动挂载oracleasm模块
#oracleasm status
Checking if ASM is loaded: no
Checking if /dev/oracleasm is mounted: no
#oracleasm init
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module "oracleasm": oracleasm
Configuring "oracleasm" to use device physical block size
Mounting ASMlib driver filesystem: /dev/oracleasm
#oracleasm status
Checking if ASM is loaded: yes
Checking if /dev/oracleasm is mounted: yes
二、创建ASM磁盘
[root@rac31 ~]# oracleasm createdisk DATA1 /dev/sdb1
Writing disk header: done
Instantiating disk: done
扫描:oracleasm scandisks
列出:oracleasm listdisks
安装xhost +工具 用于图形化界面
[root@rac31 ~]#yum whatprovides "*/xhost"
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
base/filelists_db | 3.4 MB 00:00 ...
xorg-x11-server-utils-7.7-2.el6.x86_64 : X.Org X11 X server utilities
Repo : base
Matched from:
Filename : /usr/bin/xhost
[root@rac31 ~]#yum -y install xorg-x11-server-utils-*
需要打开Xmanager工具
[root@rac31 ~]#export DISPLAY=172.16.1.203:0.0 ###该IP为本地ipconfig在使用远程的主机IP
[root@rac31 ~]#xhost +
access control disabled, clients can connect from any host
xhost: must be on local machine to enable or disable access control.
安装grid组:
[grid@ rac31 grid]$ export DISPLAY=172.16.1.203:0.0
[grid@ rac31 grid]$ xhost +
[grid@ rac31 grid]$ ./runInstaller
需要确保软件包均已安装(pdksh软件包可忽略),版本不同亦可,由于使用的是虚拟机 虚拟内存问题与OS问题可忽略
确保无误后,忽略所有进行下一步
需要执行/u01/app/oraInventory/orainstRoot.sh与/u01/app/11.2.0/grid/root.sh
执行/u01/app/11.2.0/grid/root.sh后需要执行,上述红框内容, 大意是说,配置grid为一个独立的节点(单实例)需要root用户,执行roothas.pl命令
[root@rac31 ~]#/u01/app/11.2.0/grid/perl/bin/perl -I/u01/app/11.2.0/grid/perl/lib -I/u01/app/11.2.0/grid/crs/install /u01/app/11.2.0/grid/crs/install/roothas.pl
注:由于我们使用的是centos7系统,oracle默认识别的是6版本的系统,在执行该命令时,另开一个窗口切换到oracle用户执行已下命令/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1,执行完后可ctrl+c停止,否则会报错
[root@rac31 ~]#/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1
错误截图
正确截图
点击ok,完成安装
使用ASMCA命令创建ASM磁盘组
[root@rac31 ~]#su – grid
[grid@rac32 bin]$ pwd
/u01/app/11.2.0/grid/bin
[grid@rac32 bin]$ export DISPLAY=172.16.1.124:0.0
[grid@rac32 bin]$ ./asmca
点击Specify Disk Gruop 制定磁盘组
点击右下角“CREATE ASM” ,提示输入的密码过于简单,点击YES继续
弹出窗口,提示
ASM created and started successfully.
DiskGroup DATA created successfully.
点击“ok”
三、安装oracle软件
[oracle@rac32 ~]$ cd /tmp/oracle/
database/ linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip
[oracle@rac32 ~]$ cd /tmp/oracle/database/
[oracle@rac32 database]$ export DISPLAY=172.16.1.124:0.0
[oracle@rac32 database]$ ./runInstaller
由于oracle默认指识别固定版本,在安装ASM时已经把对应的软件包安装完成,该步骤可以忽略全部,点击“Next”
点击“Finish”,进行安装
这一步其中2个问题可以忽略直接点击继续,到94%会比较慢,不是出错
点击“Finish”,完成安装oracle软件安装
四、DBCA建库
切换oracle用户进行安装库
[root@rac32 ~]# su - oracle
[oracle@rac32 ~]$ export DISPLAY=172.16.1.124:0.0
[oracle@rac32 ~]$ /u01/app/oracle/product/11.2.0/db_1/bin/dbca
选择创建数据库
自定义全局数据库名称
取消“configure enterprise manager”前面的勾(配置企业管理器)
取消“enable automatic maintenance tasks”前面的勾(自动维护任务)
数据库身份证明, 所有账户使用同一口令
选择存储类型ASM
初始化参数 内存:选择典型,百分比为40% ,使用自动内存管理
设置存储块大小,设置后无法更改
设置最大进程数量,可更改
字符集 数据库字符集选择ZHS16GBK 国家数据库字符集选择UTF8
连接模式,选择专用服务器模式
查看前面步骤的配置,直接点击“Next”
创建数据库
生成数据库创建脚本
安装脚本生成成功,点击“OK”
部署oracle单机实例+ASM完成
更多技术交流,欢迎进入QQ群177428068