oracle 11g rac install(linux_x64+udev+asm)

1、NTP时间服务器配置,2节点,使用root用户

cd /etc/sysconfig;sed -i '/OPTIONS/ s/-u/-x -u/g' ntpd;service ntpd restart


2、hosts文件更改,2节点,使用root用户

cat >> /etc/hosts << EOF

#-----public ip-----#

x.x.x.1  testdb1-pub

x.x.x.2  testdb2-pub

#-----private ip-----#

192.168.x.1  testdb1-pri

192.168.x.2  testdb2-pri

#-----virtual ip-----#

x.x.x.3  testdb1-vip

x.x.x.4  testdb2-vip

#-----scan ip------#

x.x.x.5  testdb-scan

EOF


3、创建grid用户以及oracle用户2,节点,使用root账户

GROUP01=oinstall;GROUP02=dba;GROUP03=oper;GROUP04=asmadmin;GROUP05=asmdba;GROUP06=asmoper;GROUP07=orawh

USER01=grid;PASSWD01='xxx';USER02=oracle;PASSWD02='xxx';USER03=orawh;PASSWD03='xxx'

groupadd -g 1001 $GROUP01;groupadd -g 1002 $GROUP02;groupadd -g 1003 $GROUP03;groupadd -g 1004 $GROUP04;groupadd -g 1005 $GROUP05;groupadd -g 1006 $GROUP06;groupadd -g 1007 $GROUP07

useradd -g $GROUP01 -G $GROUP02,$GROUP04,$GROUP05,$GROUP06 -u 1001 $USER01 -d /home/${USER01};echo "${PASSWD01}" | passwd --stdin $USER01

useradd -g $GROUP01 -G $GROUP02,$GROUP03,$GROUP05 -u 1002 $USER02 -d /home/${USER02};echo "${PASSWD02}" | passwd --stdin $USER02

useradd -g $GROUP07 -G $GROUP02 -u 1003 $USER03 -d /home/${USER03};echo "${PASSWD03}" | passwd --stdin $USER03

su - grid -c 'cat >> /home/grid/.bash_profile<< EOF

echo "您好,您正在通过grid账户登录系统,此账户具有集群权限,监控已经启动,请注意操作风险!"

EOF'

su - oracle -c 'cat >> /home/oracle/.bash_profile<< EOF

echo "您好,您正在通过oracle账户登录系统,此账户具有数据库权限,监控已经启动,请注意操作风险!"

EOF'

su - orawh -c 'cat >> /home/orawh/.bash_profile<< EOF

echo "您好,您正在通过orawh账户登录系统,此账户具有数据库权限,监控已经启动,请注意操作风险!"

EOF'

USER="oracle"

cp /home/${USER}/.bash_profile /home/${USER}/.bash_profile.bak

cat << 'E'OF >> /home/${USER}/.bash_profile

IPADDR=`ifconfig bond0 | grep "inet addr" | awk '{print $2}' | awk -F ':' '{ print $2}'`

PWD=`pwd`

export PS1='${USER}|${IPADDR}|${PWD}>'

stty erase ^H

EOF

USER="grid"

cp /home/${USER}/.bash_profile /home/${USER}/.bash_profile.bak

cat << 'E'OF >> /home/${USER}/.bash_profile

IPADDR=`ifconfig bond0 | grep "inet addr" | awk '{print $2}' | awk -F ':' '{ print $2}'`

PWD=`pwd`

export PS1='${USER}|${IPADDR}|${PWD}>'

stty erase ^H

EOF

USER="orawh"

cp /home/${USER}/.bash_profile /home/${USER}/.bash_profile.bak

cat << 'E'OF >> /home/${USER}/.bash_profile

IPADDR=`ifconfig bond0 | grep "inet addr" | awk '{print $2}' | awk -F ':' '{ print $2}'`

PWD=`pwd`

export PS1='${USER}|${IPADDR}|${PWD}>'

stty erase ^H

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

export PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$PATH

export ORACLE_SID=tadb1

EOF


4、ASM共享磁盘设置,2节点,使用root账户

emcpadm renamepseudo -s emcpowero -t emcpowerf

cd /etc/udev/rules.d;touch 99-oracle-asmdisks.rules

scsi_id -g -u -d  /dev/emcpowerx

echo 'KERNEL=="emcpower?", BUS=="*", PROGRAM=="scsi_id -g -u -d  /dev/$name",RESULT=="360060160a7b03400e770b68b9bb6e511", NAME="asmdisk1_200G", OWNER="grid", GROUP="asmadmin", MODE="0660"' >> 99-oracle-asmdisks.rules

/sbin/udevadm control --reload-rules;/sbin/start_udev


5、创建/u01文件系统,2节点,使用root账户

SZ="99G";VG="appvg";LV="applv";MN="/u01";mkdir -p /u01

pvcreate /dev/emcpowera;vgcreate appvg /dev/emcpowera;lvcreate -L ${SZ} -n ${LV} ${VG}

mkfs -t ext4  /dev/${VG}/${LV}

mount -t ext4 /dev/mapper/${VG}-${LV} $MN

cp /etc/fstab /etc/fstab.bak

echo "/dev/mapper/${VG}-${LV} /u01 ext4 defaults 0 0" >> /etc/fstab

mkdir -p /u01/app/11.2.0/grid;mkdir -p /u01/app/grid;mkdir -p /u01/app/oracle

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

chmod -R 775 /u01/app/grid;chmod -R 775 /u01/app/11.2.0/grid;chmod -R 775 /u01/app/oracle


6、sysctl及limit配置,2节点,使用root账户

cat >> /etc/security/limits.conf << EOF

#user "grid" limits

grid soft nproc 2047

grid hard nproc 16384

grid soft nofile 1024

grid hard nofile 65536

grid soft stack 10240

#user oracle limits

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

EOF

#修改内核参数

sed -i 's/kernel.shmmax/#kernel.shmmax/g' /etc/sysctl.conf

sed -i 's/kernel.shmall/#kernel.shmall/g' /etc/sysctl.conf

cat >> /etc/sysctl.conf << EOF

#Modified Kernel parameter

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 4294967295

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

EOF

sysctl -p

#修改节点1的grid用户的环境变量

su - grid -c 'cat >> /home/grid/.bash_profile<< EOF

#user "grid" Environment variables

export ORACLE_SID=+ASM1

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/11.2.0/grid

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

export PATH=\$ORACLE_HOME/bin:\$PATH

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

stty erase ^H

#user Prompt

echo ORACLE_BASE=\$ORACLE_BASE

echo ORACLE_HOME=\$ORACLE_HOME

echo ORACLE_SID=\$ORACLE_SID

EOF'

#修改节点2的grid用户的环境变量

su - grid -c 'cat >> /home/grid/.bash_profile<< EOF

#user "grid" Environment variables

export ORACLE_SID=+ASM2

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/11.2.0/grid

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

export PATH=\$ORACLE_HOME/bin:\$PATH

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

stty erase ^H

#user Prompt

echo ORACLE_BASE=\$ORACLE_BASE

echo ORACLE_HOME=\$ORACLE_HOME

echo ORACLE_SID=\$ORACLE_SID

EOF'

#修改节点1的oracle用户的环境变量

su - oracle -c 'cat>> /home/oracle/.bash_profile<< EOF

#user "oracle" Environment variables

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

export ORACLE_SID=hisdb1

export ORACLE_TERM=xterm

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

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

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

stty erase ^H

#user Prompt

echo ORACLE_BASE=\$ORACLE_BASE

echo ORACLE_HOME=\$ORACLE_HOME

echo ORACLE_SID=\$ORACLE_SID

EOF'

#修改节点2的oracle用户的环境变量

su - oracle -c 'cat>> /home/oracle/.bash_profile<< EOF

#user "oracle" Environment variables

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

export ORACLE_SID=hisdb2

export ORACLE_TERM=xterm

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

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

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

stty erase ^H

#user Prompt

echo ORACLE_BASE=\$ORACLE_BASE

echo ORACLE_HOME=\$ORACLE_HOME

echo ORACLE_SID=\$ORACLE_SID

EOF'

#安装必要的程序软件

yum -y groupinstall 'X Window System'

yum -y install unzip

#grid用户建立互信关系

#节点1

su - grid

ssh-keygen -t rsa

ssh-keygen -t dsa

cd /home/grid/.ssh

cat id_rsa.pub >> authorized_keys

cat id_dsa.pub >> authorized_keys

#节点2

su - grid

ssh-keygen -t rsa

ssh-keygen -t dsa

#节点1

scp  authorized_keys grid@10.1.141.37:/home/grid/.ssh

#节点2

cd /home/grid/.ssh

cat id_rsa.pub >> authorized_keys

cat id_dsa.pub >> authorized_keys

scp  authorized_keys grid@10.1.141.36:/home/grid/.ssh

#节点1和节点2

ssh  hisdb1 date

ssh  hisdb2 date

ssh  hisdb1-pri date

ssh  hisdb2-pri date

#oracle用户建立互信关系

#节点1

su - oracle

ssh-keygen -t rsa

ssh-keygen -t dsa

cd /home/oracle/.ssh

cat id_rsa.pub >> authorized_keys

cat id_dsa.pub >> authorized_keys

#节点2

su - oracle

ssh-keygen -t rsa

ssh-keygen -t dsa

#节点1

scp authorized_keys oracle@10.1.141.37:/home/oracle/.ssh

#节点2

cd /home/oracle/.ssh

cat id_rsa.pub >> authorized_keys

cat id_dsa.pub >> authorized_keys

scp authorized_keys oracle@10.1.141.36:/home/oracle/.ssh

#节点1和节点2

ssh  hisdb1 date

ssh  hisdb2 date

ssh  hisdb1-pri date

ssh  hisdb2-pri date

yum install -y libaio

yum install -y libaio-devel

yum install -y compat-libstdc++-33

yum install -y elfutils-devel

yum install -y glibc-devel

yum install -y gcc-c++

yum install -y libstdc++-devel

yum install -y sysstat

yum install -y smartmontools

yum install -y compat-libcap1

cd ./grid/rpm

yum install -y cvuqdisk-1.0.9-1.rpm

cd ./grid

./runcluvfy.sh stage -pre crsinst -n hisdb1,hisdb2 -fixup -verbose

#oracle配置

#使能空表导出

alter system set deferred_segment_creation = FALSE;

#修改数据库的游标

alter system set open_cursors=1500 scope=both;

#修改快照文件路径

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+SYSTEM/hisdb/snapcf_hisdb.f';

创建weihu只读账户,拥有select any table/dictionary权限

create user weihu identified by thfund_weihu01;

grant connect to weihu;

grant select any table to weihu;

grant select any dictionary to weihu;

#创建thsys用户,具备dba权限

create user thsys identified by thfund_thsys01;

grant connect,resource,dba to thsys;

revoke unlimited tablespace from thsys;

#创建业务只读账户seluser

create user seluser identified by thfund_seluser2016;

grant connect to seluser;

grant select any table to seluser;

#创建netgain用户

create user netgain identified by thfund_netgain2016;

grant connect to netgain;

grant select any table to netgain;

grant select any dictionary to netgain;

#创建通用角色general_role

create role general_role;

grant alter session to general_role;

grant create cluster to general_role;

grant create database link to general_role;

grant create procedure to general_role;

grant create sequence to general_role;

grant create session to general_role;

grant create table to general_role;

grant create trigger to general_role;

grant create view to general_role;

grant create synonym to general_role;

grant debug connect session to general_role;

grant create materialized view  to general_role;

#创建目录

create directory BACKUP as '/backup';

grant read,write on directory BACKUP to user;

#设置weihu、sys、system用户使用上述profile

alter user sys profile DEFAULT;

alter user seluser profile DEFAULT;

alter user netgain profile DEFAULT;

alter user system profile THFUND_PROFILE;

alter user weihu profile THFUND_PROFILE;

alter user thsys profile THFUND_PROFILE;

#数据库审计设置

alter system set audit_sys_operations=true scope=spfile;

alter system set audit_trail=db scope=spfile;

#修改DEFAUTL profile

ALTER PROFILE DEFAULT LIMIT

PASSWORD_LIFE_TIME UNLIMITED

PASSWORD_GRACE_TIME 7

FAILED_LOGIN_ATTEMPTS 10

PASSWORD_LOCK_TIME UNLIMITED

PASSWORD_VERIFY_FUNCTION NULL;

#修改账户的密码

alter user weihu identified by thfund_weihu01;

alter user system identified by thfund_system01;

alter user thsys identified by thfund_thsys01;

alter user sys identified by thfund_sys2016;

alter user netgain identified by thfund_netgain2016;

alter user seluser identified by thfund_seluser2016;

#升级Opatch

su - root

mv /u01/app/11.2.0/grid/OPatch /u01/app/11.2.0/grid/OPatchbak

mv /u01/app/oracle/product/11.2.0/db_1/OPatch /u01/app/oracle/product/11.2.0/db_1/OPatchbak

cp /tmp/p6880880_112000_Linux-x86-64.zip /u01/app/11.2.0/grid

cd /u01/app/11.2.0/grid/

chown grid:oinstall p6880880_112000_Linux-x86-64.zip

unzip p6880880_112000_Linux-x86-64.zip

chown -R grid:oinstall OPatch

cd OPatch

./opatch version

cp /tmp/p6880880_112000_Linux-x86-64.zip /u01/app/oracle/product/11.2.0/db_1

cd /u01/app/oracle/product/11.2.0/db_1/

chown oracle:oinstall p6880880_112000_Linux-x86-64.zip

unzip p6880880_112000_Linux-x86-64.zip

chown -R oracle:oinstall OPatch

cd OPatch

./opatch version

cd /u01/app/oracle/product/11.2.0/db_1/OPatch/ocm/bin

/u01/app/oracle/product/11.2.0/db_1/OPatch/ocm/bin/emocmrsp

#升级grid db

su - oracle

$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME

su - root

$ORACLE_HOME/OPatch/opatch auto /tmp/21523375 -ocmrf $ORACLE_HOME/OPatch/ocm/bin/ocm.rsp

su - oracle

cd $ORACLE_HOME/rdbms/admin

sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> STARTUP

SQL> @catbundle.sql psu apply

SQL> QUIT

cd $ORACLE_HOME/rdbms/admin

sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> @utlrp.sql

#升级检查

su - grid

$ORACLE_HOME/OPatch/opatch lsinv

su - oracle

sqlplus / as sysdba

set line 150

col ACTION_TIME for a30

col ACTION for a8

col NAMESPACE for a8

col VERSION for a10

col BUNDLE_SERIES for a5

col COMMENTS for a20

select * from dba_registry_history;

#修改数据文件的大小

alter database datafile '+SYSTEM/hisdb/datafile/users.259.916684405' resize 10G;

alter database datafile '+SYSTEM/hisdb/datafile/undotbs1.258.916684405' resize 10G;

alter database datafile '+SYSTEM/hisdb/datafile/sysaux.257.916684405' resize 10G;

alter database datafile '+SYSTEM/hisdb/datafile/system.256.916684403' resize 10G;

alter database datafile '+SYSTEM/hisdb/datafile/undotbs2.265.916684539' resize 10G;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容