文本:

文本
VMware Linnux 下安装 Oracle 11g R2 RAC
虚拟机
    VMware下安装Linux
        下载
            wmware server 2.0
                http://download.pchome.net/system/sysenhance/detail-32337.html
                wmware server 1.0.6 本在Win7下一启动虚拟机就死机,选了WinXP兼容性也不行
        安装配置
            节点1
                名称:HISRAC1
                内容
                    2块网卡
                        eth0
                            ip
                                192.168.10.10
                                    公用
                        eth1
                            ip
                                172.168.2.10
                                    心跳
                    2块磁盘
                        本地磁盘50G
                            分区
                                sda1 2G
                                    交换分区
                                        物理内存为2GB~16GB时,交换空间等于物理内存大小
                                            查看交换分区大小: # /sbin/swapon -s
                                sda2 48G
                                    28G
                                        安装Linux系统
                                    /u01 20G
                                        安装Grid Instruction(10G)和Oracle程序
                            配置
                                如果是裸设备,要选“allocate all disk space now”;如果不是裸设备,可以不勾这个选项,以免浪费磁盘空间
                                virture device node选SCSI0:0
                            目录:F:\Virtual Machines\HISRAC1\HISRAC1.vmdk
                        共享磁盘10G
                            分区
                                OCR和VOTE 1G(最少600M)
                                Oracle数据9G
                            配置
                                SCSI,要选“allocate all disk space now”
                                virture device node选SCSI2:1
                                勾选 independ
                            目录:F:\Virtual Machines\share_disk\his_share.vmdk
                            安装第一个节点时可先不创建,待把第一个节点Clone到第二个节点后,再创建
                    操作系统:Linux
                        New VMware Machine...|Custom|Linux|RedHeadLinux
                            Virture Machine name:HISRAC1
                            取消“Make this virtual machine private”里面的勾
                            网络选桥接“use bridged networking”
                            I/O适配器选“LSI Login”
                        选上“Software Development/Web Server”2个组件,然后选上“Customize now”
                            Base System 里的组件全选上
                            勾选FTP和中文支持
                            不把这些这样装全的话,下面再装VMwareTools时就很麻烦
                            virtualization 一定不要装。我在真实服务器里面装了这个东东之后,64G内存只能认出来32G,坑死人不偿命啊
                        如果先装了Linux6,会把分区表自动改为GPT格式,这样如果想重装Linux5,在分区那一步就会报错。解决方法是使用Linux5安装光盘启动,在第一个界面上按“F5”选“Rescue”模式,就可进入Linux命令行,然后使用 parted 命令,再 select /dev/sda,再用 print 命令可看到分区表确实是gpt格式,使用 mklabel 命令,按提示输入新的格式为 msdos即可
                    编辑.vmx
                        添加disk.locking = "false"
                            如果没有这个,添加了共享磁盘之后,无法同时启动2个节点,会报“failed to lock the file 错误
                        添加scsi2:1.deviceType = "disk" 以及: diskLib.dataCacheMaxSize = "0" diskLib.dataCacheMaxReadAheadSize = "0" diskLib.DataCacheMinReadAheadSize = "0" diskLib.dataCachePageSize = "4096" diskLib.maxUnsyncedWrites = "0"
                            其中scsi2:1要与共享磁盘的设置一致。如果没有这个,两个节点的共享存储会不同步
                        测试共享存储是否同步:在节点1使用fdisk 命令对  /dev/sdb 分区,保存之后,在节点2使用  fdisk -l 命令应该能够立即看到效果
                    内存1.5G以上,不然不够用
                服务
                    开通FTP功能
                        启动FTP
                            安装vsftpd
                                执行光盘/server/vsftpd-版本号.rpm
                                    如果在安装Linux时已安装了FTP就不需要这一步
                            [root@rac1 ~]# service vsftpd start
                        编辑/etc/vsftpd下的ftpusers和user_list文件
                            ftpusers里的root行加注释
                        在Windows资源管理器里ftp://192.168.10.10/,右击选“登陆...”,使用root用户登陆
                安装VMware Tools
                    首先启动虚拟机,并且把CDRom里的光盘弹出
                    安装VMware tools,成功后CDRom里会自动加载linux.iso
                    在虚拟机里的Linux系统的光盘里可以看到 VMware-tools*.tar.gz 压缩包,将其解压,并执行vmware-install.pl。安装完之后,如果在/mnt下出现名为hgfs的文件夹,说明安装成功
                    安装了VMware Tools 就能从Windows下复制文本到虚拟机下了,比较方便
                    卸载:rpm -e VMwareTools
                打补丁
                    安装补丁:加载linux安装光盘,进入server文件夹 rpm -ivh kernel-headers* rpm -ivh compat-db-4* rpm -ivh libaio-0* rpm -ivh compat-libstdc++-33-3* rpm -ivh glibc-headers-2.5-12.i386.rpm rpm -ivh glibc-devel-2.5-12.i386.rpm rpm -ivh compat-gcc-34-3* rpm -ivh compat-gcc-34-c++-3* rpm -ivh libXp-1* rpm -ivh openmotif-2* rpm -ivh gmp* rpm -ivh libstdc* rpm -ivh libstdc++44-devel* rpm -ivh libstdc++-devel* rpm -ivh libgfortran* rpm -ivh gcc-4* rpm -ivh glibc-2.5-12.i686.rpm rpm -ivh libgomp-4.1.1-52.el5.i386.rpm rpm -ivh gcc-4.1.1-52.el5.i386.rpm rpm -ivh libaio-devel* rpm -ivh sysstat* rpm -ivh unixODBC*
                编辑/etc/hosts文件,添加
                    192.168.10.10  HISRAC1 192.168.10.11  HISRAC2 192.168.10.12  HISRAC1-VIP 192.168.10.13  HISRAC2-VIP 172.168.10.10  HISRAC1-PRIV 172.168.10.10  HISRAC2-PRIV 192.168.10.14  HISSCAN 192.168.10.15  HISSCAN 192.168.10.16  HISSCAN
                用户
                    oradb
                        用户名:oradb 组:oinstall、dba、asmdba
                        用于安装Oracle  Database
                    oragrid
                        用户名:oragrid 组:asmadmin、asmdba、asmoper
                        用于安装  GI
                    命令: groupadd -g 501 oinstall groupadd -g 502 dba groupadd -g 504 asmadmin groupadd -g 506 asmdba groupadd -g 507 asmoper  useradd -u 601 -g oinstall -G asmadmin,asmdba,asmoper oragrid useradd -u 602 -g oinstall -G dba,asmdba oradb
            节点2
                名称:HISRAC2
                从HISRAC1克隆
                    克隆到HISRAC2
                        关闭主节点Linux系统
                        把HISRAC1中所有文件复制到HISRAC2文件夹中,把HISRAC2目录里所有带“HISRAC1”字样的文件的文件名改为HISRAC2
                        修改.vmx和.vmxf文件,把所有HISRAC1字样替换成HISRAC2
                        将HISRAC2目录下的.vmx添加到VMware控制台
                    启动HISRAC2,配置Linux
                        将主机名改为HISRAC2
                            # hostname HISRAC2
                                重启后失效!
                            修改/etc/sysconfig/network文件
                                重启后生效
                        调整网络配置
                            /etc/sysconfig/network-scripts下,网络配置文件会自动产生一份新的,HISRAC1的原配置文件会被重命名为.bak文件。把.bak文件中的内容替换到新文件中,但是要保留新文件中的MAC地址,然后修改IP地址
                        修改/etc/hosts文件,将 127.0.0.1 HISRAC1改为HISRAC2
                        重新启动系统
    Virtualbox
        Oracle 推出的Windows下的虚拟机,速度比VMware快,更省资源,支持共享存储,共享文件夹功能也挺方便。用着比VMware更爽一点。
        共享文件夹
            需要先把“增强功能”装上
            把Windows上的一个文件夹添加到“共享文件夹...”里
            在Linux里,在 /mnt 下创建一个文件夹 share,然后 mount -t vboxsf <本地共享文件夹名> /mnt/share
        安装了GI之后,重启虚拟机时,启动到一半,本机系统突然自动重启,试了几次都是这样。后来发现只要把虚拟机里面的网卡的“控制芯片”改为“Intel PRO/1000 MT 服务器(82545EM)”就没问题了(桥接网卡用的是本机的“Intel(R) 82577LM Gigabit Network connection”)
        添加新磁盘
            在虚拟机配置里为虚拟机增加新磁盘
            进入虚拟机Linux系统
                把新加的磁盘添加到multipath的黑名单中
                    /etc/multipath.conf : blacklist {         devnode "^sda|sde|hd" }
                分区
                    例:fdisk /dev/sde
                格式化
                    例:mkfs.ext3 /dev/sde1
                加载
                    mkdir /u02 mount /dev/sde1 /u02
                开机自动加载
                    /etc/fstab : /dev/sde1 /u02 ext3 defaults 0 0
        添加网桥网卡的时候,如果使用本机的真实网卡,当网卡无法插上网线的时候,本机无法ping通虚拟机。建议添加一块虚拟网卡(方法:添加新硬件->网卡->厂商:Microsoft->Microsoft Lookback Adapter。然后把虚拟机的网卡都选择这个微软的Lookback Adapter
配置负载均衡和TAF
    负载均衡和TAF(透明故障转移)有2种实现方法,一种是通过修改客户端tnsnames.ora文件,另一种是在服务器上建立 Cluster Managed Service。可以不在服务端建立Service,直接配置客户端连接数据库服务。建立服务端Service的好处是所有配置都在服务端,当需要更改策略时,只需要修改服务端配置,而不需要去每个客户端修改,客户端配置文件也可以更简单一些。服务端的负载均衡是根据服务器的实际负载情况而不像客户单负载均衡只是随机选择一个节点。但是服务端的负载均衡是现在一个节点分配连接,当连接达到一定量之后,才把连接分配给其它节点。所以可以使用服务端Service+客户端负载均衡的方案更好一些。
    客户端负载均衡和TAF
        修改客户端tnsnames.ora
            RACDBTAF =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.12)(PORT = 1521))       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.13)(PORT = 1521))       (LOAD_BALANCE = yes)     )     (CONNECT_DATA =       (SERVICE_NAME = zlhisdb)       (FAILOVER_MODE=           (TYPE=select)           (MOTHOD=basic)           (RETRIES=180)           (DELAY=5)       )     )   )
    服务端负载均衡和TAF
        创建Cluster Managed Services
            使用企业管理器的图形界面: 使用sys或system登录企业管理器
                在 DataBase | Availabiliy 选项卡里,点击 Cluster Managed Database Services 链接
                Cluster 用户登录使用 oradb 操作系统用户,Database 登录使用 sys 数据库用户
                点击 Create Service 按钮
                填表单: service name 随便起一个,例如zlhisdbtf TAF 模式选 Basic Load Balanced Goal 选 Long 勾选 Enable Load Balancing Advisory,选择 Throughout 勾选 Enable Fast Application Notification Consumer Group Mapping 选 DEFAULT_CONSUMER_GROUP
                点击OK创建服务
                企业管理器的创建服务其实也是调用srvctl命令,命令为bin/srvctl add service -d zlhisdb -s zlhisdbtf -r 'zlhisdb1,zlhisdb2' -P BASIC。注意这个命令只指定了TAF策略为BASIC,但是并没有指定failover_method 和 failover_type。创建完之后,使用select * from dba_services可以看到这两个属性值都NONE。这样其实并没有实现TAF。  虽然可以在创建服务之后再使用 execute dbms_service.modify_service (service_name => 'hiscen', aq_ha_notifications => true, failover_method => dbms_service.failover_method_basic, failover_type => dbms_service.failover_type_select, failover_retries => 180, failover_delay => 5, clb_goal => dbms_service.clb_goal_long); 来指定failover_method 和 failover_type,但是重启服务器之后这两个值就又会变为NONE了,所以不要使用图形界面来创建Service,而是直接使用命令行去创建。
            使用命令行创建
                创建服务: bin/srvctl add service -d zlhisdb -s zlhisdbtf -r 'zlhisdb1,zlhisdb2' -P BASIC -e SELECT -m BASIC
                启动服务: bin/srvctl start service -d zlhisdb -s zlhisdbtf
        确认服务状态
            查看配置
                srvctl config service -d db-name [-s service-name] [-a]
            设置服务是否自动启动
                srvctl enable/disable service -d <db-name> -s <service-name> -i instance-name
            启动服务
                srvctl start service -d <db-name> -s <service-name> -i instance-name  -o start-option -c connect-string -q
            查看状态
                srvctl status service -d db-name -s service-name -f -v
                crs_state -t -v
            查看SCAN侦听器状态
                srvctl status scan_listener srvctl config scan_listener srvctl config scan
            以system用户登录sqlplus
                select * from dba_services
                    确认failover_method 和 failover_type值不是空或NONE
                show parameter service
        客户端配置
            只需要指定服务名为 zlhisdbtf 并添加2个vip地址就行了
            客户端负载均衡和服务端负载均衡并不矛盾,可以都设置,这样会先在客户端随即选择一个服务器节点去连接,而服务器端收到连接请求后还会再根据负载情况再决定连接哪个节点,这样效果更好
    验证TAF
        新建名为TEST2的用户, 使用TEST2 登录  PL/SQL Developer,新建一个表并查询数据
        使用 system 登录 PL/SQL Developer
            select t.INST_ID, t.USERNAME, t.FAILOVER_TYPE, t.FAILOVER_METHOD, t.FAILED_OVER, t.STATUS, t.STATE   from gv$session t  where t.USERNAME in ('TEST2');
                确认failover_method 和 failover_type值不是空或NONE
                INST_ID属性是节点编号,值为1表示连接到了节点1上,关闭节点1,再在上一步连接了TEST2用户的PL/SQL Developer 里查询数据,经过短暂的时延之后查询成功执行,不会报错
                再次查询 gv$session,会发现INST_ID变为2,也就是节点1故障之后,连接转移到了节点2上了
安装 Oracle 的 Grid Instruction(GI)
    创建并加载共享存储
    配置多路径(可选,一般真实服务器环节会配置多路径)
        安装多路径支持包,在Linux安装盘的Server文件夹里执行: rpm -ivh device-mapper-multipath-0.4.7-34.el5.i386.rpm
        编辑 /ect/multipath.conf
            将黑名单默认的*改为^sda|hd,意思是把默认全屏蔽改为只屏蔽系统盘sda和光盘hd: blacklist {  devnode "^sda|hd" }
        使用命令 multipath -F 和 multipath -v3刷新设备列表
        指定映射顺序
            使用命令  multipath -ll 列出多路径设备,根据括号里的设备号,一一指定设备与 /dev/mpathn的映射关系,两个节点的映射关系必须一致
                multipath {   wwid   36005076802808555f000000000000000   alias   mpath0  } multipath {   wwid   36005076802808555f000000000000001   alias   mpath1  }
            这个步骤是必须的,因为在创建  ASM 分区的时候,ASM卷是与 mpathn 进行映射的,如果这步没有指定映射关系,2个节点的映射就可能不同,或者碰巧相同,但是重启之后就不同了,将会导致2个节点的VOL1映射到不同的磁盘上,后果很严重
        完整的  /ect/multipath.conf 的例子
            blacklist {     devnode "^sda|hd" } multipaths {     multipath {      wwid   36005076802808555f000000000000000      alias  mpath0     }     multipath {      wwid   36005076802808555f000000000000001      alias  mpath1     }     multipath {      wwid   36005076802808555f000000000000002      alias  mpath2     } }
    安装ASM
        查看Linux系统内核: # uname -rm
        下载与系统内核匹配的安装包
            oracle asm lib
                http://www.oracle.com/technetwork/server-storage/linux/downloads/rhel4-092650.html
                http://www.oracle.com/technetwork/server-storage/linux/downloads/rhel5-084877.html
                下载并安装如下组件: oracleasm-support-2.1.7-1.el4.i386.rpm oracleasm-2.6.18-194.el5-2.0.5-1.el5.i686.rpm oracleasm-2.6.18-194.el5debug-2.0.5-1.el5.i686.rpm oracleasm-2.6.18-194.el5-debuginfo-2.0.5-1.el5.i686.rpm oracleasm-2.6.18-194.el5PAE-2.0.5-1.el5.i686.rpm oracleasm-2.6.18-194.el5xen-2.0.5-1.el5.i686.rpm oracleasmlib-2.0.4-1.el4.i386.rpm
                    安装顺序: rpm -ivh oracleasm-support-2.1.7-1.el4.i386.rpm rpm -ivh oracleasm-2.6.18-194.el5-2.0.5-1.el5.i686.rpm rpm -ivh oracleasmlib-2.0.4-1.el4.i386.rpm
        配置: # /usr/sbin/oracleasm configure -i Default user to own the driver interface []: oragrid 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
        启动ASM服务:(所有节点) # /etc/init.d/oracleasm start
            也可以使用图形界面的服务管理器
            注意刚刚装完ASMLib时,服务是未启动状态,这时除了 oracleasm configure 命令之外,其它命令全部都不好用,而且oracleasm listdisks还不报错,只是输出为空,这个很有迷惑性。切记要先确认服务已经启动,再进行创建磁盘等操作
        创建ASM磁盘(只主节点): oracleasm createdisk VOL1 /dev/sdb1
            启用多路径的情况下,要做一些改变
                在真实的存储上,如果配置了多路径,分区时的路径类似 fdisk  /dev/mapper/mpath0。之后,要使用multipath -F 和 multipath -v3 来刷新。之后创建ASM分区时,则是 oracleasm  createdisk VOL1 /dev/mapper/mpath0p1
                同样,在没配置多路径之前,插入U盘系统会自动挂载,但是配置了多路径之后,自动挂载会失败(因为自动挂载使用的命令是 mount /dev/sdh1 /media/disk),需要使用命令 mount /dev/mapper/mpath3p1 /mnt/usb 来加载
                编辑 /etc/sysconfig/oracleasm 文件: ORACLEASM_SCANEXCLUDE="sd"
                    因为已经把ASM配到多路径(/dev/mapper/mpathn)下,所以告诉ASM不要再扫描sd 和 hd开头的磁盘了。这步是必须的,否则当增加了一个磁盘(或者仅仅是插入一个U盘)都会导致oracleasm出错,在安装GI时,也会认不出ASM磁盘分区。切记切记!!
        获取新创建的节点(所有节点): oracleasm scandisks
        验证创建是否成功(所有节点): oracleasm listdisks
            注意尝试重启 oracleasm 服务后,再次使用 oracleasm listdisks 命令,看看磁盘是否丢失
        出错时……
            可以使用 oracleasm deletedisk  命令删除磁盘重建
            如果在删除ASM盘时出现 Device "/dev/sdc1" is already labeled for ASM disk ""  错误
                dd if=/dev/zero of=/dev/sdc1 bs=1024 count=100
    安装GI
        设置ssh
            在主节点上以oragrid用户身份生成用户的公匙和私匙(主、副节点相同操作)
                # su - oragrid $ mkdir ~/.ssh $ chmod 700 ~/.ssh $ ssh-keygen -t rsa $ ssh-keygen -t dsa
            合并密钥文件(主节点操作)
                首先确保 HISRAC1 和 HISRAC2 可互相ping得通
                cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys ssh HISRAC2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ssh HISRAC2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys scp ~/.ssh/authorized_keys HISRAC2:~/.ssh/authorized_keys
            设置 ssh date(主、副节点相同操作)
                配置时间服务器
                    编辑 HISRAC1 /etc/ntp.conf
                        server 127.127.1.0 fudge 127.127.1.0 stratum 11 driftfile /var/lib/ntp/drift broadcastdelay 0.008
                        将 ntpd 服务设为自动启动
                    编辑 HISRAC2 /etc/ntp.conf
                        server 192.168.1.100(主节点公网IP) prefer driftfile /var/lib/ntp/drift broadcastdelay 0.008
                        或者可以在不启动 ntpd  服务的状态下,使用命令行 ntpupdate hisrac1 将本地时间调整到与 hisrac1 一致
            启用ssh(所有节点)
                以oragrid身份执行某个命令,例如  date: ssh HISRAC1 date ssh HISRAC2 date ssh HISRAC1-priv date ssh HISRAC2-priv date
            验证是否成功: 在主节点使用命令 ssh hisrac2 ls,不需要键入hisrac2的密码就能执行
            可以使用GI安装向导里的一键创建SSH的功能,非常方便
        安装GI
            准备
                修改配置文件(所有节点)
                    编辑/etc/sysctl.conf
                        kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 6815744 fs.aio-max-nr = 1048576 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
                        使其生效: # sysctl -p
                    编辑 /etc/security/limits.conf
                        oragrid soft nproc 2047 oragrid hard nproc 16384 oragrid soft nofile 1024 oragrid hard nofile 65536 oradb soft nproc 2047 oradb hard nproc 16384 oradb soft nofile 1024 oradb hard nofile 65536
                    如果 /etc/pam.d/login 里不包含,则添加
                        session required pam_limits.so
                    编辑 /etc/profile
                        if [ $USER = "oragrid" ] || [ $USER = "oradb" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi
                            注意“]"前面必须要有一个空格,否则会造成语法错误!(从来没见过这么变态的语法)
                            另外需要注意的是,我们往往会在Windows系统上准备好一个包含所有配置和脚本的txt文件,传到Linux系统里,然后复制、粘贴。在Windows系统上,一定要把这个txt文件另存为换行模式为“仅LF(Unix)”,而不是Windows默认的“CR+LF”模式,否则会造成语法错误!
                    编辑 /etc/csh.login
                        if ( $USER = "oragrid" ||  $USER = "oradb" ) then limit maxproc 16384 limit descriptors 65536 endif
            以oragrid用户登录: [oragrid@HISRAC1 grid]$ ./runInstaller
                SCAN Name:HIS_RAC
                    配置 SCAN需要DNS或GNS,没有的话可以先在hosts文件里为ora_scan分配一个IP,把这步骗过去
                Cluster Nodes
                    public Nod Name        PrivateNodeName        Virtual Host Name rac1                           rac1-priv                      rac1-vip rac2                           rac2-priv                      rac2-vip
                cluster name: HISRAC SCAN name: HISRAC Oracle Base: /u01/gi/app/grid Software Location: /u01/gi/app/11.2.0/grid Inventory Directory:/u01/gi/app/oraInventory 组:oinstall
                    创建安装目录: #  cd /u01 # mkdir gi # chown -R oragrid:oinstall gi # chmod -R 775 gi
                在 Advance模式下,ASM  Password的文本框居然无法输入,解决方法是点击Help按钮,打开Help窗体,将其拖拽到安装程序窗体的下方,再关闭它,就能输入了(一般都得重复2遍才行)
                Operating System group name: oinstall
                安装路径
                    Name: OraCrs11g_home Path: /u01/gi/product/csr_1
                语言那里添加中文
                网卡
                    把eth2设置为不使用
                    把eth0设置为public
                安装到65%,向另一节点复制文件时比较慢,建议打开System Monitor,这样可以看到当前网另一节点发送的每秒字节数,以及一共已经发送了多少字节
                以 root 身份运行 root.sh
                    /u01/gi/app/oraInventory/orainstRoot.sh
                    /u01/gi/app/11.2.0/grid/root.sh
                    先在主节点运行,成功后再在其它节点上运行,不要同时运行
                最后的配置
                    编辑 ~/.bash_profile 文件
                        在HISRAC1上: export ORACLE_HOME=/u01/gi/app/11.2.0/grid export ORACLE_SID=+ASM1
                        在HISRAC2上: export ORACLE_HOME=/u01/gi/app/11.2.0/grid export ORACLE_SID=+ASM2
                            SID可以使用grid/bin/asmca程序的第一个Tab页里面的内容来查看
                        如果不配置这个的话无法使用asmcmd管理,会报conect to an idle instance的错误
                    创建密码文件和ASMSNMP用户
                        创建密码文件
                            确认在2个节点上存在密码文件/u01/gi/app/11.2.0/grid/dbs/orapw+ASM,如果不存在, 以oragrid用户在2个节点上执行:$ /u01/gi/app/11.2.0/grid/bin/orapwd file=/u01/gi/app/11.2.0/grid/dbs/orapw+ASM password='密码'
                        创建ASMSNMP用户
                            在HISRAC1上 以oragrid用户执行: $ /u01/gi/app/11.2.0/grid/bin/sqlplus / as sysasm SQL> create user asmsnmp identified by "密码"; SQL> grant sysasm to asmsnmp; SQL> grant sysdba to asmsnmp;
                                只在节点1上执行即可
                            验证: SQL> select * from gv$pwfile_users;
                        11.2.0.1版如果不进行这个配置,在使用dbca创建数据库时,在其中的一步会报 Can not validate ASMSNMP password ora-01031 错误
                        如果是直接安装的11.2.0.3版,则不需要做这个操作(安装GI时安装程序已经自定建立这个用户了)
                出错时……
                    GI
                        使用 ./runInstaller -debug 可获得更详细的错误信息
                        如果需要重装GI,可使用 ./runInstaller -force 参数,这样就可覆盖安装而不需要先进行卸载。如果不使用-force参数,安装程序发现目录不为空时会报错
                    日志
                        app/crs/log/nodename/crsd/crsd.log
                    卸载GI
                        root.sh的反操作
                            在其它运行了root.sh的节点上运行: /u01/gi/app/11.2.0/grid/crs/install/rootcrs.pl -deconfig -verbose -force
                            卸载最后一个节点时执行: /u01/gi/app/11.2.0/grid/crs/install/rootcrs.pl -deconfig -verbose -force -lastnode
                                指定-lastnode参数会把OCR数据从ASM盘上删除
                            执行/u01/gi/app/11.2.0/grid/deinstall/deinstall
                            删除/tmp/.oracle 和 /var/tmp/.oracle 以及  /u01/gi
                验证安装是否成功
                    $ /u01/gi/app/11.2.0/grid/bin/crsctl check cluster -all $ /u01/gi/app/11.2.0/grid/bin/crsctl status resource -t
                        都显示 "online"就是好用的意思
安装Oracle数据库
    安装数据库软件(节点1操作)
        解压缩的时候要把2个压缩包全解压缩一遍,变态。而且必须要使用root 用户
        选 install database software only
        语言添加中文
        oracle base: /u01/db/app/oracle software location: /u01/db/app/oracle/product/11.2.0/dbhome_1
            节点2也要创建这个目录并赋予权限
        DataBase Administrator 和 Operator Group 都是dba
    创建数据库
        使用oradb运行: /u01/db/app/oracle/product/11.2.0/dbhome_1/bin/dbca
        sid:zlhisdb ORACLE_BASE: /u01/db/app/oracle ORACLE_HOME: /u01/db/app/oracle/product/11.2.0/dbhome_1
        The Database Control URL is https://HISRAC1:1158/em
        root.sh
            ORACLE_OWNER= oradb  ORACLE_HOME=  /u01/db/app/oracle/product/11.2.0/dbhome_1
    使用企业管理器
        在oradb用户的~/.bash_profile里添加(或每次使用时在控制台临时添加): export ORACLE_HOME: /u01/db/app/oracle/product/11.2.0/dbhome_1 export ORACLE_UNQNAME=zlhisdb export ORACLE_SID=zlhisdb1
            注意:ORACLE_HOME路径的最后不能有“/”
            注意:ORACLE_SID应是节点的实例(例如zlhisdb1、zlhisdb2)名而不是集群的实例名(zlhisdb),而且必须是小写的(主要是因为在节点上使用sqlplus / as sysdba 的方式连接节点实例,并startup时,会根据SID去找<$ORACLE_HOME>/dbs/init<$ORACLE_SID>.ora,而那个init<$ORACLE_SID>.ora文件是小写的,所以如果$ORACLE_SID不正确或者仅仅是大小写不匹配都找不到那个文件)
            注意:ORACLE_UNQNAME是给emctl用的,应写集群的实例名
        执行:/u01/db/app/oracle/product/11.2.0/dbhome_1/bin/emctl start dbconsole
        在浏览器里 https://hisrac1:1158/em
        可使用  /u01/db/app/oracle/product/11.2.0/dbhome_1/bin/emctl status dbconsole 查看服务状态
    查看节点连接到了哪个节点以及数据库版本
        select * from v$instance
    一些必要的参数调整
        修改最大连接数
            查看最大连接数:select value from v$parameter where name = 'processes';
            修改连接数:alter system set processes = 300 scope = spfile;
        密码
            密码过期
                查看期限: select profile, limit from dba_profiles where resource_name = 'PASSWORD_LIFE_TIME'
                永不过期: ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
            失败次数限制
                查看失败次数限制: select profile, limit from dba_profiles where resource_name = 'FAILED_LOGIN_ATTEMPTS'
                修改为不限制: ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;
Oracle 11gR2 11.2.0.3
    11.2.0.3是独立的安装包,可以先装11.2.0.1再安装11.2.0.3,不过如果是全新安装,没必要先装11.2.0.1,直接安装11.2.0.3即可
    与11.2.0.1的不同之处
        GI
            Cluster Name 和 SCAN name强制要求不允许有下划线
            安装之前的验证增加了几条
                Package:cvuqdisk-1.0.9-1
                    要在2个节点上安装GI安装包/stage/cvucv/remenv/cvuqdisk-1.0.9-1.rpm
                    也可以点击“fix up  & check agin"按钮,按照提示使用 root 用户执行 runfixup.sh 来安装
                Task resolv.conf Integrity
                    如果DNS不可用,会报这个错误,可忽略
            安装完之后不需要手工建立ASMSNMP用户了

 

posted on 2012-09-01 15:31  1-2-3  阅读(8000)  评论(5编辑  收藏  举报