程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle12c基於ASM的單實例搭建手冊

Oracle12c基於ASM的單實例搭建手冊

編輯:Oracle教程

Oracle12c基於ASM的單實例搭建手冊


 

 

 

 

從Oracle 10g開始,Oracle 開始推廣ASM的使用,到了11g,RAC 集群已經必須使用ASM,所以對ASM的掌握程度也決定RAC的運維水平,這篇Blog 演示 Oracle12c 基於ASM 的單實例的的環境搭建。

 

這樣即可以玩12c 的ASM,又不需要起2個集群,從而方便學習。具體環境搭建步驟如下。

 

 

1 安裝需要的RPM 包

 

binutils-2.20.51.0.2-5.11.el6 (x86_64)

glibc-2.12-1.7.el6 (x86_64)

libgcc-4.4.4-13.el6 (x86_64)

libstdc++-4.4.4-13.el6 (x86_64)

libaio-0.3.107-10.el6 (x86_64)

libXext-1.1 (x86_64)

libXtst-1.0.99.2 (x86_64)

libX11-1.3 (x86_64)

libXau-1.0.5 (x86_64)

libxcb-1.5 (x86_64)

libXi-1.3 (x86_64)

make-3.81-19.el6

sysstat-9.0.4-11.el6 (x86_64)

 

 

compat-libcap1-1.10-1 (x86_64)

compat-libstdc++-33-3.2.3-69.el6 (x86_64)

gcc-4.4.4-13.el6 (x86_64)

gcc-c++-4.4.4-13.el6 (x86_64)

glibc-devel-2.12-1.7.el6 (x86_64)

ksh <== 任何版本的 ksh 都可以。

libstdc++-devel-4.4.4-13.el6 (x86_64)

libaio-devel-0.3.107-10.el6 (x86_64)

 

compat-libstdc++-33-3.2.3-69.el6 (i686)

glibc-2.12-1.7.el6 (i686)

glibc-devel-2.12-1.7.el6 (i686)

libgcc-4.4.4-13.el6 (i686)

libstdc++-4.4.4-13.el6 (i686)

libstdc++-devel-4.4.4-13.el6 (i686)

libaio-0.3.107-10.el6 (i686)

libaio-devel-0.3.107-10.el6 (i686)

libXext-1.1 (i686)

libXtst-1.0.99.2 (i686)

libX11-1.3 (i686)

libXau-1.0.5 (i686)

libxcb-1.5 (i686)

libXi-1.3 (i686)

 

 

2 創建ASM disk 並用UDEV 綁定

創建6個3G 的disk,這個直接使用VirtualBox命令來創建。 創建之前需要先關閉虛擬機。

 

用如下腳本獲取綁定腳本:

for i in b c d e f g;

do

echo"KERNEL==\"sd*\", BUS==\"scsi\",PROGRAM==\"/sbin/scsi_id -g -u /dev/\$name\", RESULT==\"`/sbin/scsi_id -g -u/dev/sd$i`\", NAME=\"12casm-disk$i\", OWNER=\"grid\",GROUP=\"asmadmin\", MODE=\"0660\""

done

 

KERNEL=="sd*",BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u /dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB626d9087-8bf68e7e",NAME="12casm-diskb", OWNER="grid",GROUP="asmadmin", MODE="0660"

KERNEL=="sd*",BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u /dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VBf5a8c435-19b9adf9",NAME="12casm-diskc", OWNER="grid",GROUP="asmadmin", MODE="0660"

KERNEL=="sd*",BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u /dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB13895f62-318c2cb4",NAME="12casm-diskd", OWNER="grid",GROUP="asmadmin", MODE="0660"

KERNEL=="sd*",BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u /dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB5049991a-741b6a85",NAME="12casm-diske", OWNER="grid",GROUP="asmadmin", MODE="0660"

KERNEL=="sd*",BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u /dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB6ad43135-cac8a708",NAME="12casm-diskf", OWNER="grid",GROUP="asmadmin", MODE="0660"

KERNEL=="sd*",BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u /dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VBe6fb6130-2a921dde",NAME="12casm-diskg", OWNER="grid",GROUP="asmadmin", MODE="0660"

 

將產生的結果添加到/etc/udev/rules.d/99-oracle-asmdevices.rules文件。

 

--重啟udev:

[root@12cAsm dave]# start_udev

Starting udev: [ OK ]

[root@12cAsm dave]#

 

--查看設備:

[root@12cAsm dave]# ll /dev/12casm*

brw-rw----. 1 grid asmadmin 8, 16 Nov 2900:35 /dev/12casm-diskb

brw-rw----. 1 grid asmadmin 8, 32 Nov 2900:35 /dev/12casm-diskc

brw-rw----. 1 grid asmadmin 8, 48 Nov 2900:35 /dev/12casm-diskd

brw-rw----. 1 grid asmadmin 8, 64 Nov 2900:35 /dev/12casm-diske

brw-rw----. 1 grid asmadmin 8, 80 Nov 2900:35 /dev/12casm-diskf

brw-rw----. 1 grid asmadmin 8, 96 Nov 2900:35 /dev/12casm-diskg

[root@12cAsm dave]#

 

至此配置結束,在ASM的配置中,ASM_DISKSTRING參數指向'/dev/asm-disk*'就可以了。

 

3 禁用防火牆和SELNUX

 

關閉防火牆:

service iptables status

service iptables stop

chkconfig iptables off

chkconfig iptables --list

 

 

設置/etc/selinux/config 文件,將SELINUX設置為disabled。

 

4 創建目錄結構

 

mkdir -p /u01/grid

mkdir -p /u01/app/grid/12.1.0

chown -R grid:oinstall /u01

 

mkdir -p /u01/app/oracle/12.1.0/db_1

chown -R oracle:oinstall /u01/app/oracle

chmod -R 775 /u01

 

 

5 添加組和用戶並設置環境變量

groupadd -g 1000 oinstall

groupadd -g 1200 asmadmin

groupadd -g 1201 asmdba

groupadd -g 1202 asmoper

groupadd -g 1300 dba

groupadd -g 1301 oper

useradd -m -u 1100 -g oinstall -Gasmadmin,asmdba,asmoper,dba -d /home/grid -s /bin/bash grid

useradd -m -u 1101 -g oinstall -Gdba,oper,asmdba -d /home/oracle -s /bin/bash oracle

 

 

確認用戶信息:

[root@rac1 ~]# id oracle

uid=502(oracle) gid=507(oinstall)groups=507(oinstall),502(dba),503(oper),506(asmdba)

[root@rac1 ~]# id grid

uid=1100(grid) gid=507(oinstall)groups=507(oinstall),504(asmadmin),506(asmdba),505(asmoper)

 

 

修改密碼:

passwd oracle

passwd grid

 

 

配置環境變量

--Grid用戶

修改grid用戶的.bash_profile.注意每個節點的不同內容:

export ORACLE_SID=+ASM

export ORACLE_BASE=/u01/grid

export ORACLE_HOME=/u01/app/grid/12.1.0

exportPATH=$ORACLE_HOME/bin:$PATH:/usr/local/bin/:.

export TEMP=/tmp

export TMP=/tmp

export TMPDIR=/tmp

umask 022

 

--Oracle 用戶

修改oracle 用戶的.bash_profile,注意每個節點的不同內容:

ORACLE_SID=dave;export ORACLE_SID

ORACLE_UNQNAME=dave;export ORACLE_UNQNAME

JAVA_HOME=/usr/local/java; export JAVA_HOME

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/12.1.0/db_1; exportORACLE_HOME

ORACLE_TERM=xterm; export ORACLE_TERM

NLS_DATE_FORMAT="YYYY:MM:DD HH24:MI:SS";export NLS_DATE_FORMAT

NLS_LANG=american_america.ZHS16GBK; exportNLS_LANG

TNS_ADMIN=$ORACLE_HOME/network/admin; exportTNS_ADMIN

ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11

PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin

PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin

export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib

export CLASSPATH

THREADS_FLAG=native; export THREADS_FLAG

export TEMP=/tmp

export TMPDIR=/tmp

umask 022

 

 

 

6 為安裝用戶設置資源限制

6.1 修改/etc/security/limits.conf

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved