美文网首页
[技术干货] Oracle单机实例+ASM

[技术干货] Oracle单机实例+ASM

作者: 乐维_lwops | 来源:发表于2020-03-11 11:29 被阅读0次

    本环境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

    相关文章

      网友评论

          本文标题:[技术干货] Oracle单机实例+ASM

          本文链接:https://www.haomeiwen.com/subject/aedqjhtx.html