oracle 11G rac 安装
2015-11-27 14:30
357 查看
(rac安装的顺序就是 1 安装grid 2 asmca创建磁盘组 3 安装数据库软件 4 dbca创建数据库)
首先把网卡配置好(双网卡 外网eth0 内网 eth1)
chkconfig sendmail off
service iptables stop
chkconfig iptables off
#6.x版本上关闭 NetworkManager 服务
chkconfig NetworkManager off
关闭selinux:
vi /etc/selinux/config
SELINUX=disabled
# /etc/init.d/avahi-daemon stop
# /sbin/chkconfig avahi-daemon off
"NOZEROCONF=yes" 必须包含在 /etc/sysconfig/network
做yum 源
打补丁包
RHEL6\Centos6版本必须安装包
yum install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel libXext libXtst libX11 libXau
libxcb libXi compat-libcap1 iscsi-initiator-utils *vnc* -y
修改IP 地址、主机名和 /etc/hosts文件
主机名改成 rac1和rac2(内网和外网网段必须分开
不然安装grid时会提示)
hosts文件中添加:
192.168.88.10 rac1 ( 网卡1)
192.168.88.20 rac2
10.10.10.10 rac1priv ( 网卡2)
10.10.10.20 rac2priv
192.168.88.30 rac1vip
192.168.88.40 rac2vip
192.168.88.200 scanip
vi /etc/security/limits.conf
#for oracle
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid hard stack 10240
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard stack 10240
vi /etc/sysctl.conf
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
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.randomize_va_space=0
kernel.exec-shield=0
/sbin/sysctl -p
# /sbin/sysctl -a | grep randomize
kernel.randomize_va_space = 0
有错时执行:modprobe bridge
/usr/sbin/groupadd -g 1000 oinstall
/usr/sbin/groupadd -g 1100 asmadmin
/usr/sbin/groupadd -g 1200 dba
/usr/sbin/groupadd -g 1201 oper
/usr/sbin/groupadd -g 1300 asmdba
/usr/sbin/groupadd -g 1301 asmoper
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper grid
useradd -u 1200 -g oinstall -G dba,oper,asmdba oracle
# passwd grid
# passwd oracle
创建目录
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 grid:oinstall /u01/ -R
chown oracle:oinstall /u01/app/oracle -R
chmod 775 /u01/ -R
su - grid
vi /home/grid/.bash_profile
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export PATH=$ORACLE_HOME/bin:$PATH
export LANG=C
节点2 ORACLE_SID=+ASM2
su - oracle
vi /home/oracle/.bash_profile
export ORACLE_SID=orcl1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:/lib:/usr/lib
export LANG=C
节点2 ORACLE_SID=orcl2
禁用NTPD服务:
service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.bak
mv /etc/resolv.conf /etc/resolv.conf.bak
[align=justify]配置环境变量、互信[/align]
[align=justify]1.设置grid用户环境变量[/align]
[align=justify]rac1上:[/align]
[align=justify]su - grid[/align]
[align=justify]vi .bash_profile[/align]
[align=justify]export ORACLE_SID=+ASM1[/align]
[align=justify]export ORACLE_BASE=/oracle/app/grid[/align]
[align=justify]export ORACLE_HOME=/oracle/11.2.0/grid[/align]
[align=justify]export PATH=$ORACLE_HOME/bin:$PATH[/align]
[align=justify]生效:[/align]
[align=justify]source .bash_profile[/align]
[align=justify]
[/align]
[align=justify]rac2上:[/align]
[align=justify]su - grid[/align]
[align=justify]vi .bash_profile[/align]
[align=justify]export ORACLE_SID=+ASM2[/align]
[align=justify]export ORACLE_BASE=/oracle/app/grid[/align]
[align=justify]export ORACLE_HOME=/oracle/11.2.0/grid[/align]
[align=justify]export PATH=$ORACLE_HOME/bin:$PATH[/align]
[align=justify]
[/align]
[align=justify]2.配互信[/align]
[align=justify]在grid软件解压的目录上用 root用户执行:[/align]
[align=justify]配grid用户的互信:[/align]
[align=justify]/oracle/grid/sshsetup/sshUserSetup.sh -user grid -hosts "rac1 rac2" -advanced -noPromptPassphrase[/align]
[align=justify]配oracle用户的互信:[/align]
[align=justify]/oracle/grid/sshsetup/sshUserSetup.sh -user oracle -hosts "rac1 rac2" -advanced -noPromptPassphrase[/align]
[align=justify]按提示要求输入用户口令[/align]
[align=justify]
[/align]
[align=justify]验证互信:在 rac1&rac2两个节点分别执行:[/align]
[align=justify]su - grid[/align]
[align=justify]ssh rac1 date[/align]
[align=justify]ssh rac2 date[/align]
[align=justify]ssh rac1priv date[/align]
[align=justify]ssh rac2priv date[/align]
[align=justify]
[/align]
[align=justify]su - oracle[/align]
[align=justify]ssh rac1 date[/align]
[align=justify]ssh rac2 date[/align]
[align=justify]ssh rac1priv date[/align]
[align=justify]ssh rac2priv date[/align]
[align=justify]
[/align]
[align=justify]创建裸设备[/align]
[align=justify]在共享存储上创建3个裸设备,分别用来安装 grid软件、rdbms 软件和存放归档。虚拟机共享存储 10G,划分1 个1G的空间、一个 2G的空间和一个8G的空间。 [/align]
[align=justify]在rac1 对共享存储分区:[/align]
[align=justify][root@rac1 oracle]# ll /dev/sdb[/align]
[align=justify][root@rac1 oracle]# fdisk /dev/sdb[/align]
[align=justify][root@rac1 oracle]# partprobe[/align]
[align=justify][/align]
[align=justify]node2执行partprobe[/align]
[align=justify]
[/align]
[align=justify]在rac1, rac2上编辑 /etc/udev/rules.d/60-raw.rules 文件[/align]
[align=justify]***************************(配置文件第一种版本)************************************[/align]
[align=justify]ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="17", RUN+="/bin/raw /dev/raw/raw1 %M %m"[/align]
[align=justify]ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="18", RUN+="/bin/raw /dev/raw/raw2 %M %m"[/align]
[align=justify]ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="19", RUN+="/bin/raw /dev/raw/raw3 %M %m"[/align]
[align=justify]KERNEL=="raw*" , OWNER=="grid" ,GROUP=="asmadmin" ,MODE=="660"[/align]
[align=justify]*********************************(配置文件第二种版本)****************************************[/align]
ACTION=="add", KERNEL=="sdb", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdd", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sde", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="sdf", RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add", KERNEL=="sdg", RUN+="/bin/raw /dev/raw/raw6 %N"
ACTION=="add", KERNEL=="sdh", RUN+="/bin/raw /dev/raw/raw7 %N"
KERNEL=="raw[1-7]", OWNER="grid", GROUP="asmadmin", MODE="660"
************************************************************************(我用的这种有效)*****
12be4
*
[align=justify]重启裸设备:[/align]
[align=justify]start_udev[/align]
[align=justify]查看裸设备:[/align]
[align=justify][root@rac1 oracle]# raw -qa[/align]
[align=justify][/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify] [/align]
Rhel 5.x 配置vnc
# vncserver 输入连接密码
# vi /root/.vnc/xstartup
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
#[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
#[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
#xsetroot -solid grey
#vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
startkde &
Rhel 6.x 配置vnc
首先安装 vnc服务端:yum install tigervnc tigervnc-server (如安装则忽略此步骤)
# vncserver 输入连接密码
# vi /etc/sysconfig/vncservers
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -localhost"
去掉注释
#vncserver -kill :1
#vncserver :1
[align=justify]安装grid 软件[/align]
[align=justify] 使用grid用户,进入解压出来的 grid目录,运行runInstaller.sh[/align]
[align=justify] 如果图形界面出不来检查下环境变量 DISPLAY的设置,可以把ROOT用的设置拷贝过来。[/align]
[align=justify]
[/align]
[align=justify]1.选择安装集群的grid软件:[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify]2.高级安装:[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify]3.SCAN NAME的设置要跟HOSTS文件中的scanip 的域名一致:这里配置了 SCANIP和端口,集群会自动创建针对 scanip的监听。[/align]
[align=justify][/align]
[align=justify]SCAN name 一定要和 hosts文件里面写的scanip 一样。[/align]
[align=justify]
[/align]
4.添加节点和VIP:可以用SSH
Connectivity 测试互信是否配通,如果不通这一步过不去。
[align=justify][/align]
[align=justify][/align]
[align=justify]添加两个节点 然后设置grid的密码[/align]
[align=justify][/align]
[align=justify]然后再 test 测试一下 确保能用。[/align]
[align=justify][/align]
[align=justify]有两个iP一个是公网public和私网private(一定是两个网段不然不能进行下一步安装)[/align]
[align=justify][/align]
[align=justify]griddg不能太小,也不用太大,生产环境给 10G足够了。[/align]
[align=justify][/align]
[align=justify]下面一路默认,安装路径会从环境变量自动识别。[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]安装环境检查:执行修补脚本[/align]
[align=justify][/align]
[align=justify]按提示执行 这个脚本[/align]
[align=justify][/align]
[align=justify]安装完成,提示执行脚本:按提示执行[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify]这个错误是 scan解析失败,在os中 ping一下scanip 和scan name如果能 ping通的话,那就没问题,直接 ok,然后skip[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]按提示执行脚本:[/align]
[align=justify][/align]
[align=justify]第一个脚本主要更改 oraInventory的权限[/align]
[align=justify][/align]
[align=justify]第二个脚本启动集群的后台进程,并启动集群服务:[/align]
[align=justify]
[/align]
[align=justify](执行脚本的时候 再执行第二个脚本的时候 会有报错 要用root 用户 在/u01/app/grid/11.2.0.4/bin/vipca 脚本)[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify][/align]
grid里集成了集群功能,因此当 grid安装完成,集群已经装好,并且启动。而且在节点 1安装grid 软件会自动把软件拷贝到节点 2,不需要在两个节点重复安装。安装过程中的 perform
remote operation就是向2 节点拷贝数据及安装的。
[align=justify][/align]
[align=justify]grid也自动创建了监听,不再需要手工创建:[/align]
[align=justify][/align]
[align=justify]3. 使用asmca创建DG[/align]
[align=justify]grid用户运行asmca 命令:[/align]
[align=justify]看到之前已经创建的 griddg[/align]
[align=justify][/align]
[align=justify]创建个 DATADG:[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify] 如果建库时候使用 ASM,创建出DATADG 就完成任务了。如果使用 ACFS,参加下面创建归档文件系统的方法创建 datafs[/align]
[align=justify]创建一个归档专用的DG并在下面创建一个 lv和文件系统[/align]
[align=justify][/align]
[align=justify]在ARCHDG上创建一个 LV,创建LV 不能把DG的空间全占满,需要留一部分空间(例子中 DG太小了)[/align]
[align=justify][/align]
[align=justify]在ASM Cluster File System选项卡上创建 ACFS文件系统,用来存储归档。[/align]
[align=justify]新建目录,将其设置成自动挂载点:[/align]
[align=justify][root@rac1 oracle]# mkdir arch[/align]
[align=justify][root@rac1 oracle]# chown oracle:dba arch[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]创建成功后,进入 /oracle/arch目录可以看到已经挂载上来:[/align]
[align=justify][/align]
[align=justify][/align]
[align=justify]4. 安装数据库软件[/align]
[align=justify]1.修改oracle用户环境变量[/align]
[align=justify]export ORACLE_BASE=/oracle/app/oracle[/align]
[align=justify]export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/db_1[/align]
[align=justify]export PATH=$ORACLE_HOME/bin:$PATH[/align]
[align=justify]export ORACLE_SID=orcl1[/align]
[align=justify]
[/align]
[align=justify]export ORACLE_BASE=/oracle/app/oracle[/align]
[align=justify]export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/db_1[/align]
[align=justify]export PATH=$ORACLE_HOME/bin:$PATH[/align]
[align=justify]export ORACLE_SID=orcl2[/align]
[align=justify]
[/align]
[align=justify]进到 DATABASE目录运行runInstaller.sh[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]如果提示一个关于scanip的是可以揭过去的(scanip是关于DNS解析问题,DNS解析式方便管理多个rac节点而设定的) 大多rac是连个节点 用不到scanip 所以是可以忽略的。[/align]
[align=justify]
[/align]
[align=justify]点击[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]按提示 去执行这个脚本 即可安装这个需要的软件(这是oracle11G的特性)[/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]执行脚本:[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]5.dbca 创建数据库[/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]当然是都选择所有节点咯。[/align]
[align=justify][/align]
[align=justify]这个+DATAGD 就是在asmca时建立的磁盘组[/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]一定要按 exit 推出 不然就假死状态。[/align]
[align=justify]********************************(是否需要打PSU ,去看相关文档)**********************************[/align]
psu
/u01/app/11.2.0/grid/bin/crsctl stop cluster
/tmp/OPatch/opatch apply
[align=justify]**********************************************************************[/align]
[align=justify]
[/align]
[align=justify]rac安装完之后的管理[/align]
[align=justify]rac装完之后监听会自动建立好(不用再rac的每个节点去单独建立监听 只用集群用户 去管理监听就行)[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]一般rac装完之后是登陆集群管理用户grid (su - grid)[/align]
[align=justify]在grid用户下执行[/align]
[align=justify]crs_stat -t 查看集群下所有的服务状态[/align]
[align=justify]
[/align]
[align=justify]crsctl start crs 启动集群所有服务。[/align]
[align=justify]
[/align]
[grid@rac2 ~]$ crsctl status res -t (这个看的比较详细)
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ARCHDG.dg
ONLINE OFFLINE rac1
ONLINE OFFLINE rac2
ora.DATA.dg
ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.DATADG.dg
ONLINE OFFLINE rac1
ONLINE OFFLINE rac2
ora.LISTENER.lsnr
ONLINE ONLINE rac1
ONLINE ONLINE rac2
*********************************************************
后面的小添油加醋
******************************************************
创建数据库
使用dbca创建,创建之前确保已安装的所有服务正在运行。
#su - grid -c "crs_stat -t -v"
[root@rac1 ~]# su - oracle
[oracle@rac1 ~]$ dbca
RAC修改local_listener:
alter system set local_listener = '(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.216)(PORT = 1521))' sid='orcl1';
alter system set local_listener = '(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.219)(PORT = 1521))' sid='orcl2';
HOST = 192.168.1.216 --此处使用数字形式的VIP,绝对禁止使用字母rac1-vip
查看用户密码的有效期设置
SQL > SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
SQL >Alter PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
帐户再改一次密码
SQL > alter user ink identified by <原来的密码> ----不用换新密码
使用修改后的用户登录,如果报“ORA-28000:用户已被锁”,解锁
SQL > alter user db_user account unlock;
oracle 11.2版本不能导出空表
(参数改为FALSE后,无论是空表还是非空表,都分配segment),此步务必无条件地执行。需要在安装完毕11.2的rac后立即执行下边的语句。
--调整deferred_segment_creation为false:
SQL> show parameter deferred
SQL> alter system set deferred_segment_creation=false;
11.2.0.1 版本的rac,当rac节点重启后, oracle rac asm磁盘组无法自动加载
命令修改如下:(进入grid用户执行)
crsctl modify resource ora.DATA.dg -attr AUTO_START=always
crsctl modify resource ora.FLA.dg -attr AUTO_START=always
alter system set audit_trail=none scope=spfile;
大叶内存
# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] never
#vi /etc/rc.local
if test -f /sys/kernel/mm/redhat_transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/redhat_transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
fi
重启服务器
# cat /sys/kernel/mm/transparent_hugepage/enabled
always [never]
dd if=/dev/zero of=/dev/sda bs=1k count=3000
yum -y groupinstall "X Window System"
yum -y groupinstall Desktop
alter database force logging;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
******************************************************
[align=justify] [/align]
首先把网卡配置好(双网卡 外网eth0 内网 eth1)
chkconfig sendmail off
service iptables stop
chkconfig iptables off
#6.x版本上关闭 NetworkManager 服务
chkconfig NetworkManager off
关闭selinux:
vi /etc/selinux/config
SELINUX=disabled
# /etc/init.d/avahi-daemon stop
# /sbin/chkconfig avahi-daemon off
"NOZEROCONF=yes" 必须包含在 /etc/sysconfig/network
做yum 源
打补丁包
RHEL6\Centos6版本必须安装包
yum install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel libXext libXtst libX11 libXau
libxcb libXi compat-libcap1 iscsi-initiator-utils *vnc* -y
修改IP 地址、主机名和 /etc/hosts文件
主机名改成 rac1和rac2(内网和外网网段必须分开
不然安装grid时会提示)
hosts文件中添加:
192.168.88.10 rac1 ( 网卡1)
192.168.88.20 rac2
10.10.10.10 rac1priv ( 网卡2)
10.10.10.20 rac2priv
192.168.88.30 rac1vip
192.168.88.40 rac2vip
192.168.88.200 scanip
vi /etc/security/limits.conf
#for oracle
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid hard stack 10240
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard stack 10240
vi /etc/sysctl.conf
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
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.randomize_va_space=0
kernel.exec-shield=0
/sbin/sysctl -p
# /sbin/sysctl -a | grep randomize
kernel.randomize_va_space = 0
有错时执行:modprobe bridge
/usr/sbin/groupadd -g 1000 oinstall
/usr/sbin/groupadd -g 1100 asmadmin
/usr/sbin/groupadd -g 1200 dba
/usr/sbin/groupadd -g 1201 oper
/usr/sbin/groupadd -g 1300 asmdba
/usr/sbin/groupadd -g 1301 asmoper
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper grid
useradd -u 1200 -g oinstall -G dba,oper,asmdba oracle
# passwd grid
# passwd oracle
创建目录
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 grid:oinstall /u01/ -R
chown oracle:oinstall /u01/app/oracle -R
chmod 775 /u01/ -R
su - grid
vi /home/grid/.bash_profile
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export PATH=$ORACLE_HOME/bin:$PATH
export LANG=C
节点2 ORACLE_SID=+ASM2
su - oracle
vi /home/oracle/.bash_profile
export ORACLE_SID=orcl1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:/lib:/usr/lib
export LANG=C
节点2 ORACLE_SID=orcl2
禁用NTPD服务:
service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.bak
mv /etc/resolv.conf /etc/resolv.conf.bak
[align=justify]配置环境变量、互信[/align]
[align=justify]1.设置grid用户环境变量[/align]
[align=justify]rac1上:[/align]
[align=justify]su - grid[/align]
[align=justify]vi .bash_profile[/align]
[align=justify]export ORACLE_SID=+ASM1[/align]
[align=justify]export ORACLE_BASE=/oracle/app/grid[/align]
[align=justify]export ORACLE_HOME=/oracle/11.2.0/grid[/align]
[align=justify]export PATH=$ORACLE_HOME/bin:$PATH[/align]
[align=justify]生效:[/align]
[align=justify]source .bash_profile[/align]
[align=justify]
[/align]
[align=justify]rac2上:[/align]
[align=justify]su - grid[/align]
[align=justify]vi .bash_profile[/align]
[align=justify]export ORACLE_SID=+ASM2[/align]
[align=justify]export ORACLE_BASE=/oracle/app/grid[/align]
[align=justify]export ORACLE_HOME=/oracle/11.2.0/grid[/align]
[align=justify]export PATH=$ORACLE_HOME/bin:$PATH[/align]
[align=justify]
[/align]
[align=justify]2.配互信[/align]
[align=justify]在grid软件解压的目录上用 root用户执行:[/align]
[align=justify]配grid用户的互信:[/align]
[align=justify]/oracle/grid/sshsetup/sshUserSetup.sh -user grid -hosts "rac1 rac2" -advanced -noPromptPassphrase[/align]
[align=justify]配oracle用户的互信:[/align]
[align=justify]/oracle/grid/sshsetup/sshUserSetup.sh -user oracle -hosts "rac1 rac2" -advanced -noPromptPassphrase[/align]
[align=justify]按提示要求输入用户口令[/align]
[align=justify]
[/align]
[align=justify]验证互信:在 rac1&rac2两个节点分别执行:[/align]
[align=justify]su - grid[/align]
[align=justify]ssh rac1 date[/align]
[align=justify]ssh rac2 date[/align]
[align=justify]ssh rac1priv date[/align]
[align=justify]ssh rac2priv date[/align]
[align=justify]
[/align]
[align=justify]su - oracle[/align]
[align=justify]ssh rac1 date[/align]
[align=justify]ssh rac2 date[/align]
[align=justify]ssh rac1priv date[/align]
[align=justify]ssh rac2priv date[/align]
[align=justify]
[/align]
[align=justify]创建裸设备[/align]
[align=justify]在共享存储上创建3个裸设备,分别用来安装 grid软件、rdbms 软件和存放归档。虚拟机共享存储 10G,划分1 个1G的空间、一个 2G的空间和一个8G的空间。 [/align]
[align=justify]在rac1 对共享存储分区:[/align]
[align=justify][root@rac1 oracle]# ll /dev/sdb[/align]
[align=justify][root@rac1 oracle]# fdisk /dev/sdb[/align]
[align=justify][root@rac1 oracle]# partprobe[/align]
[align=justify][/align]
[align=justify]node2执行partprobe[/align]
[align=justify]
[/align]
[align=justify]在rac1, rac2上编辑 /etc/udev/rules.d/60-raw.rules 文件[/align]
[align=justify]***************************(配置文件第一种版本)************************************[/align]
[align=justify]ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="17", RUN+="/bin/raw /dev/raw/raw1 %M %m"[/align]
[align=justify]ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="18", RUN+="/bin/raw /dev/raw/raw2 %M %m"[/align]
[align=justify]ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="19", RUN+="/bin/raw /dev/raw/raw3 %M %m"[/align]
[align=justify]KERNEL=="raw*" , OWNER=="grid" ,GROUP=="asmadmin" ,MODE=="660"[/align]
[align=justify]*********************************(配置文件第二种版本)****************************************[/align]
ACTION=="add", KERNEL=="sdb", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdd", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sde", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="sdf", RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add", KERNEL=="sdg", RUN+="/bin/raw /dev/raw/raw6 %N"
ACTION=="add", KERNEL=="sdh", RUN+="/bin/raw /dev/raw/raw7 %N"
KERNEL=="raw[1-7]", OWNER="grid", GROUP="asmadmin", MODE="660"
************************************************************************(我用的这种有效)*****
12be4
*
[align=justify]重启裸设备:[/align]
[align=justify]start_udev[/align]
[align=justify]查看裸设备:[/align]
[align=justify][root@rac1 oracle]# raw -qa[/align]
[align=justify][/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify] [/align]
Rhel 5.x 配置vnc
# vncserver 输入连接密码
# vi /root/.vnc/xstartup
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
#[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
#[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
#xsetroot -solid grey
#vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
startkde &
Rhel 6.x 配置vnc
首先安装 vnc服务端:yum install tigervnc tigervnc-server (如安装则忽略此步骤)
# vncserver 输入连接密码
# vi /etc/sysconfig/vncservers
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -localhost"
去掉注释
#vncserver -kill :1
#vncserver :1
[align=justify]安装grid 软件[/align]
[align=justify] 使用grid用户,进入解压出来的 grid目录,运行runInstaller.sh[/align]
[align=justify] 如果图形界面出不来检查下环境变量 DISPLAY的设置,可以把ROOT用的设置拷贝过来。[/align]
[align=justify]
[/align]
[align=justify]1.选择安装集群的grid软件:[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify]2.高级安装:[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify]3.SCAN NAME的设置要跟HOSTS文件中的scanip 的域名一致:这里配置了 SCANIP和端口,集群会自动创建针对 scanip的监听。[/align]
[align=justify][/align]
[align=justify]SCAN name 一定要和 hosts文件里面写的scanip 一样。[/align]
[align=justify]
[/align]
4.添加节点和VIP:可以用SSH
Connectivity 测试互信是否配通,如果不通这一步过不去。
[align=justify][/align]
[align=justify][/align]
[align=justify]添加两个节点 然后设置grid的密码[/align]
[align=justify][/align]
[align=justify]然后再 test 测试一下 确保能用。[/align]
[align=justify][/align]
[align=justify]有两个iP一个是公网public和私网private(一定是两个网段不然不能进行下一步安装)[/align]
[align=justify][/align]
[align=justify]griddg不能太小,也不用太大,生产环境给 10G足够了。[/align]
[align=justify][/align]
[align=justify]下面一路默认,安装路径会从环境变量自动识别。[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]安装环境检查:执行修补脚本[/align]
[align=justify][/align]
[align=justify]按提示执行 这个脚本[/align]
[align=justify][/align]
[align=justify]安装完成,提示执行脚本:按提示执行[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify]这个错误是 scan解析失败,在os中 ping一下scanip 和scan name如果能 ping通的话,那就没问题,直接 ok,然后skip[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]按提示执行脚本:[/align]
[align=justify][/align]
[align=justify]第一个脚本主要更改 oraInventory的权限[/align]
[align=justify][/align]
[align=justify]第二个脚本启动集群的后台进程,并启动集群服务:[/align]
[align=justify]
[/align]
[align=justify](执行脚本的时候 再执行第二个脚本的时候 会有报错 要用root 用户 在/u01/app/grid/11.2.0.4/bin/vipca 脚本)[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify][/align]
grid里集成了集群功能,因此当 grid安装完成,集群已经装好,并且启动。而且在节点 1安装grid 软件会自动把软件拷贝到节点 2,不需要在两个节点重复安装。安装过程中的 perform
remote operation就是向2 节点拷贝数据及安装的。
[align=justify][/align]
[align=justify]grid也自动创建了监听,不再需要手工创建:[/align]
[align=justify][/align]
[align=justify]3. 使用asmca创建DG[/align]
[align=justify]grid用户运行asmca 命令:[/align]
[align=justify]看到之前已经创建的 griddg[/align]
[align=justify][/align]
[align=justify]创建个 DATADG:[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify] 如果建库时候使用 ASM,创建出DATADG 就完成任务了。如果使用 ACFS,参加下面创建归档文件系统的方法创建 datafs[/align]
[align=justify]创建一个归档专用的DG并在下面创建一个 lv和文件系统[/align]
[align=justify][/align]
[align=justify]在ARCHDG上创建一个 LV,创建LV 不能把DG的空间全占满,需要留一部分空间(例子中 DG太小了)[/align]
[align=justify][/align]
[align=justify]在ASM Cluster File System选项卡上创建 ACFS文件系统,用来存储归档。[/align]
[align=justify]新建目录,将其设置成自动挂载点:[/align]
[align=justify][root@rac1 oracle]# mkdir arch[/align]
[align=justify][root@rac1 oracle]# chown oracle:dba arch[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]创建成功后,进入 /oracle/arch目录可以看到已经挂载上来:[/align]
[align=justify][/align]
[align=justify][/align]
[align=justify]4. 安装数据库软件[/align]
[align=justify]1.修改oracle用户环境变量[/align]
[align=justify]export ORACLE_BASE=/oracle/app/oracle[/align]
[align=justify]export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/db_1[/align]
[align=justify]export PATH=$ORACLE_HOME/bin:$PATH[/align]
[align=justify]export ORACLE_SID=orcl1[/align]
[align=justify]
[/align]
[align=justify]export ORACLE_BASE=/oracle/app/oracle[/align]
[align=justify]export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/db_1[/align]
[align=justify]export PATH=$ORACLE_HOME/bin:$PATH[/align]
[align=justify]export ORACLE_SID=orcl2[/align]
[align=justify]
[/align]
[align=justify]进到 DATABASE目录运行runInstaller.sh[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]如果提示一个关于scanip的是可以揭过去的(scanip是关于DNS解析问题,DNS解析式方便管理多个rac节点而设定的) 大多rac是连个节点 用不到scanip 所以是可以忽略的。[/align]
[align=justify]
[/align]
[align=justify]点击[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]按提示 去执行这个脚本 即可安装这个需要的软件(这是oracle11G的特性)[/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]执行脚本:[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]5.dbca 创建数据库[/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]当然是都选择所有节点咯。[/align]
[align=justify][/align]
[align=justify]这个+DATAGD 就是在asmca时建立的磁盘组[/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]
[/align]
[align=justify][/align]
[align=justify]一定要按 exit 推出 不然就假死状态。[/align]
[align=justify]********************************(是否需要打PSU ,去看相关文档)**********************************[/align]
psu
/u01/app/11.2.0/grid/bin/crsctl stop cluster
/tmp/OPatch/opatch apply
[align=justify]**********************************************************************[/align]
[align=justify]
[/align]
[align=justify]rac安装完之后的管理[/align]
[align=justify]rac装完之后监听会自动建立好(不用再rac的每个节点去单独建立监听 只用集群用户 去管理监听就行)[/align]
[align=justify]
[/align]
[align=justify]
[/align]
[align=justify]一般rac装完之后是登陆集群管理用户grid (su - grid)[/align]
[align=justify]在grid用户下执行[/align]
[align=justify]crs_stat -t 查看集群下所有的服务状态[/align]
[align=justify]
[/align]
[align=justify]crsctl start crs 启动集群所有服务。[/align]
[align=justify]
[/align]
[grid@rac2 ~]$ crsctl status res -t (这个看的比较详细)
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ARCHDG.dg
ONLINE OFFLINE rac1
ONLINE OFFLINE rac2
ora.DATA.dg
ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.DATADG.dg
ONLINE OFFLINE rac1
ONLINE OFFLINE rac2
ora.LISTENER.lsnr
ONLINE ONLINE rac1
ONLINE ONLINE rac2
*********************************************************
后面的小添油加醋
******************************************************
创建数据库
使用dbca创建,创建之前确保已安装的所有服务正在运行。
#su - grid -c "crs_stat -t -v"
[root@rac1 ~]# su - oracle
[oracle@rac1 ~]$ dbca
RAC修改local_listener:
alter system set local_listener = '(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.216)(PORT = 1521))' sid='orcl1';
alter system set local_listener = '(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.219)(PORT = 1521))' sid='orcl2';
HOST = 192.168.1.216 --此处使用数字形式的VIP,绝对禁止使用字母rac1-vip
查看用户密码的有效期设置
SQL > SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
SQL >Alter PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
帐户再改一次密码
SQL > alter user ink identified by <原来的密码> ----不用换新密码
使用修改后的用户登录,如果报“ORA-28000:用户已被锁”,解锁
SQL > alter user db_user account unlock;
oracle 11.2版本不能导出空表
(参数改为FALSE后,无论是空表还是非空表,都分配segment),此步务必无条件地执行。需要在安装完毕11.2的rac后立即执行下边的语句。
--调整deferred_segment_creation为false:
SQL> show parameter deferred
SQL> alter system set deferred_segment_creation=false;
11.2.0.1 版本的rac,当rac节点重启后, oracle rac asm磁盘组无法自动加载
命令修改如下:(进入grid用户执行)
crsctl modify resource ora.DATA.dg -attr AUTO_START=always
crsctl modify resource ora.FLA.dg -attr AUTO_START=always
alter system set audit_trail=none scope=spfile;
大叶内存
# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] never
#vi /etc/rc.local
if test -f /sys/kernel/mm/redhat_transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/redhat_transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
fi
重启服务器
# cat /sys/kernel/mm/transparent_hugepage/enabled
always [never]
dd if=/dev/zero of=/dev/sda bs=1k count=3000
yum -y groupinstall "X Window System"
yum -y groupinstall Desktop
alter database force logging;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
******************************************************
[align=justify] [/align]
相关文章推荐
- oracle的用户session
- Oracle服务一键启动/关闭
- Oracle索引重建
- Oracle常用sql
- Oracle视图
- oracle 存储过程返回 结果集 table形式 (使用sys_refcursor 及程序包package 两种方式)
- ORACLE中的支持正则表达式的函数
- Oracle PL/SQL进阶
- oracle编译 失效对象方式
- oracle查询最占用资源的查询
- ORACLE如何停止一个JOB
- oracle 权限管理
- java连接oracle数据库,自己封装的几个方法
- 深入理解Oracle的imp/exp 和各版本之间的规则
- Oracle12C安装:Could not initialize class sun.awt.X11.XToolkit
- oracle数据库关闭和启动命令
- Oracle空值做计算注意啦
- ORACLE约束的了解
- 【DB】Oracle 打开/关闭服务DOS命令
- Oracle分析函数-等级函数