代码改变世界

Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考

  AlfredZhao  阅读(11108)  评论(1编辑  收藏  举报

操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)
目标:创建单机11g + ASM存储 数据库

1. 主机准备

IP地址:
主机名:JY-DB
目录:/u01
磁盘:从主机本地磁盘资源划分50G硬盘1个,从磁阵资源划分10G硬盘3个

1.1 检查主机名和IP地址的映射:hostname -i

hostname
vi /etc/sysconfig/network
vi /etc/hosts

1.2 分配/u01目录为oracle软件安装目录,lv_asm1,lv_asm2,lv_asm3为ASM磁盘

/dev/xvdb 50G 格式化后挂载到/u01目录

/dev/xvdc /dev/xvde /dev/xvdf 各10G,不用格式化,给ASM使用

pvcreate /dev/xvdc /dev/xvde /dev/xvdf
vgcreate ora_vg /dev/xvdc /dev/xvde /dev/xvdf
lvcreate -L 10g -n lv_asm1 ora_vg
lvcreate -L 10g -n lv_asm2 ora_vg
vgdisplay ora_vg
lvcreate -l 2557 -n lv_asm3 ora_vg

在后面创建grid用户后,创建ASM前,需要更改lv的磁盘权限

chown grid:asmadmin /dev/mapper/ora*

1.3 配置YUM,安装依赖包

yum配置参考:http://www.cnblogs.com/jyzhao/p/3938290.html

yum install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc- gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh ksh compat-libcap1

若之前安装系统没有安装图形,需要安装图形界面和xterm

yum groupinstall "X Window System"

yum install xterm

1.4 关闭系统防火墙开机启动

service iptables stop
chkconfig iptables off

2. 创建ORACLE 用户和组成员

复制代码
groupadd oinstall
groupadd dba
groupadd oper
groupadd asmadmin
groupadd asmdba
groupadd asmoper
useradd
-g oinstall -G dba,asmdba,oper oracle useradd -g oinstall -G dba,asmadmin,asmdba,asmoper grid
复制代码

分别指定oracle、grid用户的密码

passwd oracle
passwd 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
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app

4. 设置oracle、grid用户的环境变量

4.1 oracle用户登陆: vi ~/.bash_profile

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:.
export NLS_LANG=american_america.ZHS16GBK
export ORACLE_SID=jyzhao
export PATH=$PATH:$ORACLE_HOME/bin:.

4.2 grid用户登录:vi ~/.bash_profile

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:.
export ORACLE_SID=+ASM

5. root用户更改系统参数

5.1 vi /etc/sysctl.conf

复制代码
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4398046511104 //一般设置为系统内存75%单位是字节
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 = 1048586
复制代码

使设置立即生效: /sbin/sysctl -p 

5.2 vi /etc/security/limits.conf

复制代码
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 1024
复制代码

5.3 vi /etc/pam.d/login

#oracle
session required /lib64/security/pam_limits.so
session required pam_limits.so

6. 上传Oracle安装介质到/u01/tmp目录下

mkdir -p /u01/tmp

p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
p13390677_112040_Linux-x86-64_3of7.zip

7. 安装grid组件

#cd /u01/tmp/
#unzip p10404530_112030_Linux-x86-64_3of7.zip
#chown -R grid:oinstall grid

Xmanager软件用grid用户登录
$cd /u01/tmp/grid
$./runInstaller

图形界面安装,最后root用户执行两个脚本,执行脚本的屏幕输出如下:

复制代码
# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.

# /u01/app/11.2.0/grid/root.sh
Performing root user operation for Oracle 11g

The following environment variables are set as:
    ORACLE_OWNER= grid
    ORACLE_HOME=  /u01/app/11.2.0/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]:
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.

To configure Grid Infrastructure for a Stand-Alone Server run the following command as the root user:
/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

To configure Grid Infrastructure for a Cluster execute the following command:
/u01/app/11.2.0/grid/crs/config/config.sh

This command launches the Grid Infrastructure Configuration Wizard. The wizard also supports silent operation, and the parameters can be passed through the response file that is available in the installation media.
复制代码

8. 根据上步执行的脚本输出提示,确定单节点需要root用户执行下面的命令

/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

9. 使用asmca创建ASM 磁盘组

Xmanager软件用grid用户登录

$asmca

10. 安装oralce软件

复制代码
#cd /u01/tmp/
#unzip p13390677_112040_Linux-x86-64_1of7.zip;unzip p13390677_112040_Linux-x86-64_2of7.zip
#chown -R oracle:oinstall database

Xmanager软件用oracle用户登录
$cd /u01/tmp/database/
$./runInstaller

图形界面安装,最后root用户执行一个脚本
#/u01/app/oracle/product/11.2.0/db_1/root.sh
复制代码

11. 创建数据库

Xmanager软件用oracle用户登录

$dbca

图形界面建库,Storage Type选择ASM,+DATA1磁盘组,数据库字符集根据实际情况选择。

12. 使用grid用户创建监听

Xmanager软件用grid用户登录

$netca

13. 客户端测试数据库连接

ping IP地址
tnsping IP地址

sqlplus system/oracle@IP地址/jyzhao

14. 由于lv的权限在重启后会变回root用户,需要添加开机启动脚本

复制代码
vi /etc/rc.d/rc.local
chown grid:asmadmin /dev/mapper/ora*

创建rc.local的链接文件

ln -sf /etc/rc.d/rc.local /etc/rc.d/rc1.d/S999rc.local &&
ln -sf /etc/rc.d/rc.local /etc/rc.d/rc2.d/S999rc.local &&
ln -sf /etc/rc.d/rc.local /etc/rc.d/rc3.d/S999rc.local &&
ln -sf /etc/rc.d/rc.local /etc/rc.d/rc4.d/S999rc.local &&
ln -sf /etc/rc.d/rc.local /etc/rc.d/rc5.d/S999rc.local &&
ln -sf /etc/rc.d/rc.local /etc/rc.d/rc6.d/S999rc.local
复制代码

15. 重启测试

15.1 关闭数据库

复制代码
# su - oracle
$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Mar 12 14:14:38 2015

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

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
复制代码

15.2 关闭has

复制代码
$ su - grid
Password:
$ crsctl stop has
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'jy-db'
CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'jy-db'
CRS-2673: Attempting to stop 'ora.DATA1.dg' on 'jy-db'
CRS-2677: Stop of 'ora.LISTENER.lsnr' on 'jy-db' succeeded
CRS-2677: Stop of 'ora.DATA1.dg' on 'jy-db' succeeded
CRS-2679: Attempting to clean 'ora.DATA1.dg' on 'jy-db'
CRS-2681: Clean of 'ora.DATA1.dg' on 'jy-db' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'jy-db'
CRS-2677: Stop of 'ora.asm' on 'jy-db' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'jy-db'
CRS-2677: Stop of 'ora.cssd' on 'jy-db' succeeded
CRS-2673: Attempting to stop 'ora.evmd' on 'jy-db'
CRS-2677: Stop of 'ora.evmd' on 'jy-db' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'jy-db' has completed
CRS-4133: Oracle High Availability Services has been stopped.
复制代码

15.3 重启主机

复制代码
# sync
# sync
# sync

# shutdown -Fr now

Broadcast message from root@JY-DB

        (/dev/pts/0) at 14:20 ...

The system is going down for reboot NOW!
复制代码

15.4主机启动后,查看crs状态

复制代码
# /u01/app/11.2.0/grid/bin/crsctl stat res -t

--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS      
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA1.dg
               ONLINE  ONLINE       jy-db                                       
ora.LISTENER.lsnr
               ONLINE  ONLINE       jy-db                                       
ora.asm
               ONLINE  ONLINE       jy-db                    Started            
ora.ons
               OFFLINE OFFLINE      jy-db                                        
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
      1        ONLINE  ONLINE       jy-db                                        
ora.diskmon
      1        OFFLINE OFFLINE                                                  
ora.evmd
      1        ONLINE  ONLINE       jy-db                                       
ora.jyzhao.db
      1        OFFLINE OFFLINE                               Instance Shutdown  
复制代码

15.5 启动数据库

复制代码
# /u01/app/11.2.0/grid/bin/srvctl start database -d jyzhao

# /u01/app/11.2.0/grid/bin/crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS      
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA1.dg
               ONLINE  ONLINE       jy-db                                       
ora.LISTENER.lsnr
               ONLINE  ONLINE       jy-db                                       
ora.asm
               ONLINE  ONLINE       jy-db                    Started            
ora.ons
               OFFLINE OFFLINE      jy-db                                       
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
      1        ONLINE  ONLINE       jy-db                                       
ora.diskmon
      1        OFFLINE OFFLINE                                                   
ora.evmd
      1        ONLINE  ONLINE       jy-db                                       
ora.jyzhao.db
      1        ONLINE  ONLINE       jy-db                    Open              
复制代码

15.6 客户端测试

复制代码
C:\Users\Alfred>sqlplus system/oracle@IP地址/jyzhao
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 312 14:27:12 2015
Copyright (c) 1982, 2010, Oracle.  All rights reserved.

连接到:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options

SQL>
复制代码

至此,Linux平台oracle 11g单实例 + ASM存储 安装部署全部完成。

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示