为单实例数据库配置ASM

时间:2021-12-09 16:02:58

环境配置沿用搭建RAC的环境配置

配置ASM可以在数据库软件安装之前进行,也可以在安装完数据库软件配置数据库前进行

[root@rac01 Packages]# cd /etc/yum.repos.d/

[root@rac01 yum.repos.d]# ls

CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Vault.repo

[root@rac01 yum.repos.d]# rm -rf *

[root@rac01 yum.repos.d]# vi local.repo

[kingsql]

name=This is kingsql repo

baseurl=file:///rpm/

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[root@rac01 yum.repos.d]# mkdir -p /rpm

[root@rac01 yum.repos.d]# cd /rpm

[root@rac01 rpm]cp /root/CentOS-6.8-x86_64-bin-DVD1/Packages/* /rpm/

rpm -ivh vsftpd-2.2.2-12.el6_5.1.x86_64.rpm

rpm -ivh deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm

rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm

rpm -ivh libxml2-2.7.6-14.el6_5.2.x86_64.rpm

rpm -ivh libxml2-python-2.7.6-14.el6_5.2.x86_64.rpm

rpm -ivh createrepo-0.9.9-22.el6.noarch.rpm

[root@rac01 rpm]# createrepo ./

[root@rac01 rpm]# yum clean all

[root@rac01 rpm]# yum makecache

[root@rac01 rpm]#yum install libXp* xterm* unixODBC* sysstat* make* libstdc++* libgomp* libgcc* libaio* kernel-headers* glibc* gcc* elfutils* binutils* bind bind-devel bind-chroot caching-nameserver compat-libcap1* compat-libstdc++-33* openssh*

xdpyinfo vi unzip

-------------------------------------------------------------------------------------------vi /etc/named.conf

options {

listen-on port 53 { any; };

directory       "/var/named";

dump-file       "/var/named/data/cache_dump.db";

statistics-file "/var/named/data/named_stats.txt";

memstatistics-file "/var/named/data/named_mem_stats.txt";

allow-query     { any; };

recursion yes;

dnssec-enable yes;

dnssec-validation yes;

/* Path to ISC DLV key */

bindkeys-file "/etc/named.iscdlv.key";

managed-keys-directory "/var/named/dynamic";

};

logging {

channel default_debug {

file "data/named.run";

severity dynamic;

};

};

zone "." IN {

type hint;

file "/dev/null";

};

zone "kingsql.org" IN {

type master;

file "kingsql.org.zone";

};

zone "56.168.192.in-addr.arpa" {

type master;

file "192.168.56.rev";

};

[root@rac01 named]# cd /var/named

[root@rac01 named]# pwd

/var/named

[root@rac01 named]# vi kingsql.org.zone

$TTL 1D

@       IN SOA  kingsql.org.       hostmaster.kingsql.org. (

0       ; serial

1D      ; refresh

1H      ; retry

1W      ; expire

3H )    ; minimum

@            IN NS ns1.kingsql.org.

ns1          IN A 192.168.56.101

cluster-scan IN A 192.168.56.156

cluster-scan IN A 192.168.56.157

cluster-scan IN A 192.168.56.158

--------------------------------------------------------------------------------------------

[root@rac01 named]# vi 192.168.56.rev

$TTL 1D

@       IN SOA  kingsql.org.       hostmaster.kingsql.org. (

0       ; serial

1D      ; refresh

1H      ; retry

1W      ; expire

3H )    ; minimum

@            IN NS ns1.kingsql.org.

ns1          IN A 192.168.56.101

156          IN PTR cluster-scan.kingsql.org.

157          IN PTR cluster-scan.kingsql.org.

158          IN PTR cluster-scan.kingsql.org.

--------------------------------------------------------------------------------------------

service network restart

cat /etc/resolv.conf

# Generated by NetworkManager

nameserver 192.168.56.101

chkconfig named on ##设置开机自启动

service named start

Starting named: [  OK  ]

nslookup cluster-scan.kingsql.org

nslookup 192.168.56.156

nslookup 192.168.56.157

nslookup 192.168.56.158

--------------------------------------------------------------------------------------------

rpm -ivh pdksh-5.2.14-30.x86_64.rpm

chkconfig iptables off

service iptables stop

vi /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of these two values:

#     targeted - Targeted processes are protected,

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted

groupadd -g 2000 oinstall

groupadd -g 2200 asmadmin

groupadd -g 2201 asmdba

groupadd -g 2202 asmoper

groupadd -g 2300 dba

groupadd -g 2301 oper

useradd -m -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,dba -d /home/grid -s /bin/bash -c "Grid Infrastructure Owner" grid

useradd -m -u 1101 -g oinstall -G dba,oper,asmdba -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle

passwd grid

passwd oracle

mkdir -p /u01/app/grid

mkdir -p /u01/app/11.2.4/grid

chown -R grid:oinstall /u01

mkdir -p /u01/app/oracle

chown oracle:oinstall /u01/app/oracle

chmod -R 775 /u01

su - oracle

[oracle@rac1 ~]$ vi .bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/11.2.4/dbhome_1

export ORACLE_SID=kingsql1

export ORACLE_TERM=xterm

export PATH=/usr/sbin:$PATH

export PATH=/u01/app/ogg:$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=/u01/app/ogg:$ORACLE_HOME/lib:/lib:/usr/lib:$LD_LIBRARY_PATH

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

export LANG=C

export ORACLE_UNQNAME=kingsql

if [ $USER = "oracle" ] || [ $USER = "grid" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

umask 022

fi

su - grid

[grid@rac1 ~]$ vi .bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/11.2.4/grid

export ORACLE_SID=+ASM1

export PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export  CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

if [ $USER = "oracle" ] || [ $USER = "grid" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

umask 022

fi

export LANG=C

----------------------------------------------------------------------------------------------

su - root

vi /etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

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

vi /etc/security/limits.conf

grid                soft    nproc   2047

grid                hard    nproc   16384

grid                soft    nofile  1024

grid                hard    nofile  65536

oracle              soft    nproc   2047

oracle              hard    nproc   16384

oracle              soft    nofile  1024

oracle              hard    nofile  65536

vi /etc/pam.d/login

session    required     pam_limits.so

[root@rac1 ~]# service ntpd stop

关闭 ntpd:                                                [失败]

[root@rac1 ~]# chkconfig ntpd off

[root@rac1 ~]# mv /etc/ntp.conf /etc/ntp.conf.original

[root@rac1 ~]# rm -rf /var/run/ntpd.pid

[root@rac01 ~]# shutdown -h now

-------------------------------------------------------------------------------------------[root@rac01 ~]# fdisk -l

两块盘 固定大小存储 都要改为可共享模式

vi /etc/udev/rules.d/99-oracle-asmdevices.rules

查磁盘号

[root@rac1 ~]# /sbin/scsi_id -u -g /dev/sdb

1ATA_VBOX_HARDDISK_VB1274608b-98003b66

[root@rac1 ~]# /sbin/scsi_id -u -g /dev/sdc

1ATA_VBOX_HARDDISK_VBbf237514-f3435ff0

[root@rac1 ~]# /sbin/scsi_id -u -g /dev/sdd

1ATA_VBOX_HARDDISK_VBc894130b-2f10eef0

[root@rac1 ~]# /sbin/scsi_id -u -g /dev/sde

1ATA_VBOX_HARDDISK_VB58f6ed82-b0dc76dc

[root@rac1 ~]# /sbin/scsi_id -u -g /dev/sdf

1ATA_VBOX_HARDDISK_VB0e0cbf34-6238f247

[root@rac1 ~]# /sbin/scsi_id -u -g /dev/sdg

1ATA_VBOX_HARDDISK_VB98788216-29530089

rac1编写文件然后copy到其他节点

vi /etc/udev/rules.d/99-oracle-asmdevices.rules

KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB1274608b-98003b66",NAME="asm-disk1",OWNER="grid",  GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VBbf237514-f3435ff0",NAME="asm-disk2",OWNER="grid",  GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VBc894130b-2f10eef0",NAME="asm-disk3",OWNER="grid",  GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB58f6ed82-b0dc76dc",NAME="asm-disk4",OWNER="grid",  GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB0e0cbf34-6238f247",NAME="asm-disk5",OWNER="grid",  GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB98788216-29530089",NAME="asm-disk6",OWNER="grid",  GROUP="asmadmin", MODE="0660"

[root@rac1 ~]# scp /etc/udev/rules.d/99-oracle-asmdevices.rules rac2:/etc/udev/rules.d/99-oracle-asmdevices.rules

[root@rac01 ~]# start_udev

Starting udev: [  OK  ]

[root@rac1 ~]# ls -l /dev/asm*

brw-rw---- 1 grid asmadmin 8, 16 9月  18 11:49 /dev/asm-disk1

brw-rw---- 1 grid asmadmin 8, 32 9月  18 11:49 /dev/asm-disk2

brw-rw---- 1 grid asmadmin 8, 48 9月  18 11:49 /dev/asm-disk3

brw-rw---- 1 grid asmadmin 8, 64 9月  18 11:49 /dev/asm-disk4

brw-rw---- 1 grid asmadmin 8, 80 9月  18 11:49 /dev/asm-disk5

brw-rw---- 1 grid asmadmin 8, 96 9月  18 11:49 /dev/asm-disk6

[root@rac01 ~]# mv p13390677_112040_Linux-x86-64_3of7.zip /home/grid/

[grid@rac01 ~]$ cd grid/

[grid@rac01 grid]$ ls

install      response  runInstaller  sshsetup  welcome.html

readme.html  rpm       runcluvfy.sh  stage

[grid@rac01 grid]$ cd rpm/

[grid@rac01 rpm]$ ls

cvuqdisk-1.0.9-1.rpm

[grid@rac01 rpm]$ su root

Password:

[root@rac1 ~]# rpm -ivh /home/grid/grid/rpm/cvuqdisk-1.0.9-1.rpm

Preparing...                ########################################### [100%]

Using default group oinstall to install package

1:cvuqdisk               ########################################### [100%]

--------------------------------------------------------------------------------------------

[root@rac01 ~]# vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.56.101 rac01

192.168.56.111 rac01-vip

192.168.1.229 rac01-priv

192.168.56.156 cluster-scan

安装grid软件过程

为单实例数据库配置ASM

此处选择为独立服务器配置集群件

为单实例数据库配置ASM

配置磁盘组

为单实例数据库配置ASM

执行脚本

为单实例数据库配置ASM

安装完成之后配置asmca

为单实例数据库配置ASM

为单实例数据库配置ASM

为单实例数据库配置ASM