转贴:VMware workstation 6.5 + RHEL5.3 + Oracle 10gR2 RAC+OCFS2+ASM

Oracle RAC是一个DBA的分水岭,如果一个oracle DBA不会实施RAC,将会被划入初级的DBA,如果能够熟练地安装、配置、维护RAC的DBA,可以有效的增加DBA的分量,可以进入中高级DBA的行列,所以,从开始接触linux和oracle开始,我就希望能够熟练地安装配置oracle RAC,还有DG等一切oracle的高级技术,现在所有的考试都结束了,有时间啦,今天就慢慢的把oracle的RAC配置过程慢慢的写下来。

    开始学习时,参考了很多资料,基本上都是网上搜来的,而且好多已经转到了我的博客,在此一并谢过!

    环境是:VMware workstation 6.5+RHEL 5.3+Oracle 10gR2+OCFS2+ASM

一、搭建环境 

两个节点的情况分别为:

Hostame: rac1.yangfei.com

eth0: 192.168.1.110         bridged

eth1: 10.0.0.138              Host-only

vip:  192.168.1.120 

Hostname: rac1.yangfei.com

eth0: 192.168.162.139         bridged 

eth1: 10.0.0.139              Host-only

vip:  192.168.1.121

(一)第一大阶段 

1.用vmware创建一个虚拟机,安装RHEL5

有几点注意一下:

(1)建议虚拟机硬盘大小 >= 10G

(2)分配的内存1G

(3)需要两块网卡,一块选择bridged模式,一块选择Host-only模式。 (注:网上很多资料说public的那块网卡使用NAT模式,但我发现,只有使用gridged时,IP地址才真实环境的IP地址在同一网段。)

网上有人说安装的时候不要选择带xen的核心什么的,我想只是建议吧,至少我做的实验安装了xen的内核也是成功的。安装时输入的RHEL5的序列号:

Red Hat Enterprise Linux Virtualization Platform.

49af89414d147589

2.配置RHEL5 

假设刚刚装完了了一个RHEL5系统,现在我们来做一些oracle RAC安装前的配置。 

(1)检查oracle安装所依赖的包是否装全

setarch-2*

 make-3*

 glibc-2*

 libaio-0*

 compat-libstdc++-33-3*

 compat-gcc-34-3*

 compat-gcc-34-c++-3*

 gcc-4*

 libXp-1*

 openmotif22-*

 compat-db-4*

为了方便包的安装,我会把RHEL光盘上所有的rpm包复制到XP系统里的RHEL5_RPM目录下,然后在RHEL下创建一个脚本,需要时我就直接把XP的RHEL5_RPM目录mount到RHEL下,方便使用,具体脚本内容是:

mount -o username=administrator,password=yangfei //192.168.1.100/RHEL5_RPM /mnt/win_shared

username是登陆xp系统的用户名,passwork是登陆xp系统的密码(必须要有密码才可以),192.168.1.100是xp主机的ip地址,当然RHEL5_RPM必须要共享。

进入/mnt/win_shared,然后使用下面的命令重新安装所有需要的包:

rpm -Uvh --replacepkgs setarch-2.0-1.1.i386.rpm

rpm -Uvh --replacepkgs make-3.81-3.el5.i386.rpm

rpm -Uvh --replacepkgs glibc-2.5-34.i686.rpm

rpm -Uvh --replacepkgs libaio-0.3.106-3.2.i386.rpm

rpm -Uvh --replacepkgs compat-libstdc++-33-3.2.3-61.i386.rpm

rpm -Uvh --replacepkgs kernel-headers-2.6.18-128.el5.i386.rpm

rpm -Uvh --replacepkgs glibc-headers-2.5-34.i386.rpm

rpm -Uvh --replacepkgs glibc-devel-2.5-34.i386.rpm

rpm -Uvh --replacepkgs compat-gcc-34-3.4.6-4.i386.rpm

rpm -Uvh --replacepkgs compat-gcc-34-c++-3.4.6-4.i386.rpm

rpm -Uvh --replacepkgs libgomp-4.3.2-7.el5.i386.rpm

rpm -Uvh --replacepkgs gcc-4.1.2-44.el5.i386.rpm

rpm -Uvh --replacepkgs libXp-1.0.0-8.1.el5.i386.rpm

rpm -Uvh --replacepkgs openmotif-2.3.1-2.el5.i386.rpm

rpm -Uvh --replacepkgs compat-db-4.2.52-5.1.i386.rpm

 也可以使用下面的命令升级安装所有需要的包,如果包已经安装,而且版本相同就略过:

rpm -Uvh   setarch-2.0-1.1.i386.rpm

rpm -Uvh   make-3.81-3.el5.i386.rpm

rpm -Uvh   glibc-2.5-34.i686.rpm

rpm -Uvh   libaio-0.3.106-3.2.i386.rpm

rpm -Uvh   compat-libstdc++-33-3.2.3-61.i386.rpm

rpm -Uvh   kernel-headers-2.6.18-128.el5.i386.rpm

rpm -Uvh   glibc-headers-2.5-34.i386.rpm

rpm -Uvh   glibc-devel-2.5-34.i386.rpm

rpm -Uvh   compat-gcc-34-3.4.6-4.i386.rpm

rpm -Uvh   compat-gcc-34-c++-3.4.6-4.i386.rpm

rpm -Uvh   libgomp-4.3.2-7.el5.i386.rpm

rpm -Uvh   gcc-4.1.2-44.el5.i386.rpm

rpm -Uvh   libXp-1.0.0-8.1.el5.i386.rpm

rpm -Uvh   openmotif-2.3.1-2.el5.i386.rpm

rpm -Uvh   compat-db-4.2.52-5.1.i386.rpm

(2)配置主机名及网络设置

#vim /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=rac1.yangfei.com

#vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

HWADDR=00:0C:29:8A:CF:56

ONBOOT=yes

IPADDR=192.168.1.110

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

#vim /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

BOOTPROTO=static

HWADDR=00:0C:29:8A:CF:60

ONBOOT=yes

IPADDR=10.0.0.138

NETMASK=255.0.0.0

#vim /etc/hosts # Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost

::1 localhost6.localdomain6 localhost6

#public

192.168.1.110 rac1.yangfei.com rac1

192.168.1.111 rac2.yangfei.com rac2

#private

10.0.0.138 rac1-priv.yangfei.com rac1-priv

10.0.0.139 rac2-priv.yangfei.com rac2-priv

#vitual

192.168.1.120 rac1-vip.yangfei.com rac1-vip

192.168.1.121 rac2-vip.yangfei.com rac2-vip

(3)添加oracle所需的账户,组

#groupadd oinstall

#groupadd dba

#groupadd oper

#useradd -g oinstall -G dba oracle

#passwd oracle

#mkdir -p /u01/oracle                              #用于安装oracle用的

#chown -R oracle:oinstall /u01/oracle

#chmod -R 775 /u01/oracle

(4)修改内核参数

#vim /etc/sysctl.conf                  //添加如下内容或修改相关参数

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=262144

net.core.rmem_max=262144

net.core.wmem_default=262144

net.core.wmem_max=262144

使更改立即生效,使用如下命令:

#sysctl -p

(5)设置oracle用户的shell limit

#vi /etc/security/limits.conf             //添加如下内容

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

接下来更改/etc/pam.d/login文件,添加下面的内容,使shell limit生效:

#vim /etc/pam.d/login           

session           required                pam_limits.so

(6)修改/etc/redhat-release文件

    因为Oracle 10g官方只支持到RHEL4为止,所以需要更改版本说明,编辑/etc/redhat-release文件,删除Red Hat Enterprise Linux Server release 5 (Tikanga),改为redhat-4,(其实oracle 10gR2已经可以支持RHEL5,但还是要修改成redhat-4,因为oracle的cluster只支持RHEL4.)

(7)更改oracle用户环境变量

[oracle@rac1 ~]$vim .bash_profile          //以oracle登陆,添加如下内容

export ORACLE_BASE=/u01/oracle

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs

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" ]; then

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

                ulimit -p 16384

                ulimit -n 65536

        else

                ulimit -u 16384 -n 65536

        fi

fi  

(8)安装OCFS2

OCFS2(Oracle Cluster File System 2)所需的核心包和工具包的下载地址为:

http://oss.oracle.com/projects/ocfs2/files/

http://oss.oracle.com/projects/ocfs2-tools/files/

切忌,核心包一定要装跟你系统相匹配的。我这里用的是RHEL5

[root@rac1 ~]# uname -r

2.6.18-8.el5xen 

[root@rac1 opt]# ls -l

total 1576

-rw-r--r-- 1 root root  278783 Sep 22 21:48 ocfs2-2.6.18-8.el5xen-1.2.9-1.el5.i686.rpm

-rw-r--r-- 1 root root  169193 Sep 22 21:48 ocfs2console-1.2.7-1.el5.i386.rpm

-rw-r--r-- 1 root root 1144294 Sep 22 21:48 ocfs2-tools-1.2.7-1.el5.i386.rpm

直接用#rpm -Uvh * 安装就行了。

好了,到这里第一阶段的配置工作完成,关闭虚拟机。

(二)第二大阶段

安装Oracle RAC,肯定需要共享存储设备了!! 而且我们现在只装了一个RHEL5,还缺少一个RHEL5

呢,别急,下面来搞定这些。

1.创建共享存储

到VMware server 1.0.6的安装目录下,你会发现一个vmware-vdiskmanager.exe文件。

好了,我们就用它来创建一个共享磁盘。

  C:\Program Files\VMware\VMware Server>vmware-vdiskmanager.exe -c -s 8Gb -a

lsilogic -t 3 "E:\hrwang-vmware-ocfs\ocfs.vmdk"

Using log file C:\DOCUME~1\hrwang\LOCALS~1\Temp\vmware-hrwang\vdiskmanager.log

Creating a split preallocated disk 'E:\hrwang-vmware-ocfs\ocfs.vmdk'

  Create: 100% done.

Virtual disk creation successful.

 

 

2.更改RHEL5虚拟机安装目录下以".vmx"为后缀的文件

我的RHEL5安装在E:\hrwang-vmware-RHEL5-oracle1\下,其下有一个名为“Other Linux 2.6.x

kernle.vmx"的文件,就是它了,添加如下信息:

  scsi1.present="TRUE"

scsi1.virtualDev="lsilogic"

scsi1.sharedBus="virtual"

scsi1:1.present="TRUE"

scsi1:1.mode="independent-persistent"

scsi1:1.filename="E:\hrwang-vmware-ocfs\ocfs.vmdk"

scsi1:1.deviceType="disk"

disk.locking="false"

diskLib.dataCacheMaxSize = "0"

diskLib.dataCacheMaxReadAheadSize = "0"

diskLib.DataCacheMinReadAheadSize = "0"

diskLib.dataCachePageSize = "4096"

diskLib.maxUnsyncedWrites = "0"

 

 

3.创建第二个RHEL5主机

因为我们用的是VMware,所以直接把hrwang-vmware-RHEL5-oracle1拷贝一份,命名为hrwang-vmware-RHEL5-oracle2。然后用vmware打开,启动。第二个RHEL5就大体搭完了,

简单吧,:)

(1)当然,主机名和网络设置还是要更改的。

#vi /etc/sysconfig/network

HOSTNAME=oracle2.hrwang.com                 #更改hostname

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=static

HWADDR=00:0c:29:2f:bb:b3

IPADDR=192.168.162.139

NETMASK=255.255.255.0

GATEWAY=192.168.162.2

 

#vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=static

HWADDR=00:0c:29:2f:bb:bd

IPADDR=10.0.0.139

NETMASK=255.0.0.0

 

(2)更改oracle用户目录下的.bash_profile

切换到oracle用户, $vi /home/oracle/.bash_profile

把ORACLE_SID = orcl1     改为 ORACLE_SID = orcl2

好了,重启使设置生效吧,第二个RHEL5系统也配置完成了。

(三)第三大阶段

好了,到目前为止,我们需要把配置好的两个系统都启动起来了。先用ping测试一下连通性。没问题吧!

1.配置oracle用户的同等性(需使用oracle用户登陆)

在两台机器中都执行如下操作:

[oracle@oracle2 ~]$ mkdir .ssh

[oracle@oracle2 ~]$ chmod 700 .ssh

[oracle@oracle2 ~]$ ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/home/oracle/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/oracle/.ssh/id_rsa.

Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.

The key fingerprint is:

29:88:60:b7:47:8f:32:d7:b6:cf:8a:6a:7f:d6:9b:1b oracle@oracle2.hrwang.com

然后,在oracle1上,执行如下操作:

[oracle@oracle1 .ssh]$ssh oracle1 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys

The authenticity of host 'oracle1 (192.168.162.138)' can't be established.

RSA key fingerprint is e6:7e:fc:49:c0:32:d5:12:a6:3c:3b:92:c5:44:be:f6.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'oracle1,192.168.162.138' (RSA) to the list of known hosts.

oracle@oracle1's password:

[oracle@oracle1 .ssh]$ssh oracle2 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys

oracle@oracle2‘s password:

 [oracle@oracle1 .ssh]$scp authorized_keys oracle2:/home/oracle/.ssh/

然后到oracle2上,把authorized_keys的权限也改为600.

最后以oracle用户在两个节点上分别执行如下操作:

$ssh oracle1 date

$ssh oracle2 date

$ssh oracle1.hrwang.com date

$ssh oracle2.hrwang.com date

$exec /usr/bin/ssh-agent $SHELL

$/usr/bin/ssh-add

注意:目录.ssh的权限一定要是700,而.ssh目录下的所有文件权限一定要是600,否则会出现Permission denied (publickey).的错误,这也是我花了一个晚上才解决的问题。

好了,先在两台机器之间oracle用户的同等性建立完成。发现了吗,ssh到对方机器时不再需要密码。

2.通过OCFS2配置共享磁盘(root权限执行)

下面的操作我以root权限在oracle1上执行(你如果喜欢在另外节点上执行也没问题,因为是共享的,在一个节点上对其操作就ok。)

(1)使用#fdisk -l 发现共享磁盘设备名为/dev/sdb。好了,先创建分区吧。

  [root@oracle1 ~]# fdisk /dev/sdb

The number of cylinders for this disk is set to 1044.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): n

Command action

   e extended

p primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-1044, default 1):

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-1044, default 1044):

Using default value 1044

Command (m for help): p

Disk /dev/sdb: 8589 MB, 8589934592 bytes

255 heads, 63 sectors/track, 1044 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot Start End Blocks Id System

/dev/sdb1 1 1044 8385898+ 83 Linux

Command (m for help): w

The partition table has been

Calling ioctl() to re-read partition table.

Syncing disks.

(2)#[root@oracle1 ~]ocfs2console            

选择"Task"菜单下的format,更改volume label为ocfs,点击OK,格式化。

查看一下/etc/ocfs2/下是否有cluster.conf文件,把里面的内容清空;如果没有此文件,touch一个。

接下来,点击"Cluster"菜单下的Node Configuration,把两个节点都添加上,名字就是Hostname,即oracle1.hrwang.com  oracle2.hrwang.com。 IP部分添私网IP,即10.0.0.138  10.0.0.139。点击Apply保存。参考下图:

Permission

添加完节点之后,再看看cluster.conf文件中的内容是什么。如果如下图就对了:

node:

        ip_port = 7777

        ip_address = 10.0.0.138

        number = 0

name =

oracle1.hrwang.com

        cluster = ocfs

node:

        ip_port = 7777

        ip_address = 10.0.0.139

        number = 1

name = oracle2.hrwang.com

        cluster = ocfs

cluster:

        node_count = 2

name = ocfs

最后点击"Cluster"菜单下的"Progagate Cluster Configuration",来同步oracle1上的配置到oracle2上去,如下图:

(3)启动和配置ocfs2服务(root权限)

在两个节点上分别执行如下操作:

[root@oracle2 ocfs2]# /etc/init.d/o2cb enable

Writing O2CB configuration: OK

Loading module "configfs": OK

Mounting configfs filesystem at /sys/kernel/config: OK

Loading module "ocfs2_nodemanager": OK

Loading module "ocfs2_dlm": OK

Loading module "ocfs2_dlmfs": OK

Creating directory '/dlm': OK

Mounting ocfs2_dlmfs filesystem at /dlm: OK

Starting O2CB cluster ocfs2: OK

[root@oracle2 ocfs2]# /etc/init.d/o2cb configure

Configuring the O2CB driver.

This will configure the on-boot properties of the O2CB driver.

The following questions will determine whether the driver is loaded on

boot. The current values will be shown in brackets ('[]'). Hitting

without typing an answer will keep that current value. Ctrl-C

will abort.

Load O2CB driver on boot (y/n) [y]:

Cluster to start on boot (Enter "none" to clear) [ocfs2]:

Specify heartbeat dead threshold (>=7) [31]:

Specify network idle timeout in ms (>=5000) [30000]:

Specify network keepalive delay in ms (>=1000) [2000]:

Specify network reconnect delay in ms (>=2000) [2000]:

Writing O2CB configuration: OK

O2CB cluster ocfs2 already online

(4)创建挂载点(root权限)

在两个节点上分别执行如下操作:

#mkdir /oracle_ocfs

#vi /etc/fstab                          '添加下面一行

/dev/sdb1    /oracle_ocfs   ocfs2    _netdev,datavolume,nointr  0 0

其中datavolume选项确保Oracle进程在打开文件时使用o_direct标记,nointr选项确保在这个设备上的读写不会被一些信号中断,_netdev选项对于mount ocfs2设备是必须的,这个选项说明设备需要在网络启动的时候挂载,在网络关闭之后取消挂载(datavolume 和 nointr选项只在存储数据文件等设备上需要)。

重启两台机器,测试一下看是否都可以挂载上,没问题的话继续。

重启之后共享分区应该都正常挂载,我们在任意一节点上创建两个目录,并分配权限给oracle

[root@oracle1 ocfs2]# mkdir /oracle_ocfs/shared_config

[root@oracle1 ocfs2]# mkdir /oracle_ocfs/data

[root@oracle1 /]# chown -R oracle:oinstall /oracle_ocfs

[root@oracle1 /]# chmod -R 755 /oracle_ocfs

OK,配置部分到这里就全部搞定了,下面我们来安装吧~~~

在oracle1上安装(这个没有限制,你可以任意选择其中的一台)

使用oracle用户登陆oracle1.hrwang.com,切换clutserware目录,这是解压好的10201_clusterware_linux32.zip。请参考下面的截图,:)

1. [oracle@oracle1 clusterware]$ ./runInstaller      

2.

3.这一步时可以通过"Product Languages”选择简体中文。我打算把CRS安装在本机磁盘而不是共享磁盘上,所以安装目录选择了/oracle/product/10.2.0/crs

5. 还记得我们更改过的/etc/hosts文件吧?对了!就是把那里面的两个节点对应的都添加进来

6. 我们设置eth0为Public,eth1为Private

7. 记得我们在共享磁盘下创建过两个文件夹吗?呵呵,其中的shared_config目录就是用来放置ocr文件和voting_disk的

8. 开始安装

9. 提示以root权限执行脚本

执行脚本的顺序如下:

[root@oracle1]/oracle/oraInventory/orainstRoot.sh

[root@oracle2]/oracle/oraInventory/orainstRoot.sh

[root@oracle1]/oracle/product/10.2.0/crs/root.sh

[root@oracle2]/oracle/product/10.2.0/crs/root.sh

一下8行为插录:

1 , CRS 的安装

1) 在安装最后,两个节点运行完相关脚本后,先不要点 OK , 先在 第二个节点以 root 用户 vipca ; /u01/crs1020/bin/vipca . 配置完成后,再去第一个节点,点 OK 。

2 ,删除 CRS 安装

1) /etc/init.d 中先删除最后三行 ( evmd , ocssd , crsd )

2) 重启两主机

3) 删除 /etc/oracle

4) 删除安装目录中所有的文件

在oracle2上执行root.sh时,会提示一个错误,关于vipca无法执行的。于是乎,我手动运行/oracle/produc, t/10.2.0/crs/bin/vipca,结果又告诉我找不到libpthread.so.0。晕~~

你也应该遇到吧!! 别急这是个bug,我们这样来解决:

[root@oracle2 ~]vi /oracle/product/10.2.0/crs/bin/vipca

JREDIR=/oracle/product/10.2.0/crs/jdk/jre把最后/的去掉,改为:

JREDIR=/oracle/product/10.2.0/crs/jdk/jre

LD_ASSUME_KERNEL=2.4.19                      

export LD_ASSUME_KERNEL                       fi                           #找到这部分,改为:

LD_ASSUME_KERNEL=2.4.19                      

export LD_ASSUME_KERNEL                       fi                      

unset LD_ASSUME_KERNEL

现在再运行vipca试试,什么?又出现个错误?

是不是类似下面的错误:

Error 0(Native: listNetInterfaces:[3])

   [Error 0(Native: listNetInterfaces:[3])]

阿弥佗佛,压住火气,这样来解决:

[root@oracle2 bin]# ./oifcfg iflist

eth1 10.0.0.0

eth0 192.168.162.0

[root@oracle2 bin]# ./oifcfg setif -global eth0/192.168.162.0:public

[root@oracle2 bin]# ./oifcfg setif -global eth1/10.0.0.0:cluster_interconnect

[root@oracle2 bin]# ./oifcfg getif

eth0 192.168.162.0 global public

eth1 10.0.0.0 global cluster_interconnect

你再试试vipca,怎么样出来了吧!参考下图配置vipca

(1)

(2)一般填入浮动IP主机名,IP地址就会自动填入

(3) 

  好了,在oracle2上配置完vip了。 

10. 回到oracle1的安装界面上来,点击OK,会再一次检查,成功了就安装结束了 

11. Ok,我们在oracle1上的crs已经安装完成了,这时你登陆oracle2看看,是不是/oracle/product/10.2.0/crs也已经存在了呢,:) 

三、安装Oracle数据库软件 

我们还是以oracle用户登陆oracle1.hrwang.com, 到database目录,这是解压好的10201_database_linux32.zip。

可以参考http://blog.chinaunix.net/u/22677/showart_1205499.html来安装。 

这里有两个地方需要注意,一是在选择安装数据库的节点时,把两台机器都选上,如下图: 

二是安装时我们选择只安装数据库软件,稍后我们再通过dbca创建数据库,如下图:

oracle1上的软件安装完毕,你登陆到oracle2上看看安装目录,也有了东东,呵呵!!

到此我们的oracle数据库软件也安装完毕了。

四、创建数据库 

我还是以oracle用户在oracle1.hrwang.com上执行创建数据库的操作,请看下面的图,比较简单:

[oracle@oracle1 ~]$dbca            

好了,到此共享数据库已经建立好了。不过大家选字符集的时候可别象我那么选,会有乱码的,呵呵! 

五、管理ORACLE RAC 

创建完共享数据库,我们通过srvctl来看看状态(在哪个节点上执行? 随意!!)

[oracle@oracle1 admin]$ srvctl --help

/oracle/product/10.2.0/db_1/jdk/jre/bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory 

怎么回事?????   别急,还是那个bug问题,我们更改两个节点上的/oracle/product/10.2.0/db_1/bin/srvctl文件 

找到下面的部分

LD_ASSUME_KERNEL=2.4.19

export LD_ASSUME_KERNEL

改为

LD_ASSUME_KERNEL=2.4.19

export LD_ASSUME_KERNEL

unset LD_ASSUME_KERNEL

1.查看数据库状态

[oracle@oracle2 admin]$ srvctl status database -d orcl

Instance orcl1 is running on node oracle1

Instance orcl2 is running on node oracle2

2.查看实例状态

[oracle@oracle1 bin]$ srvctl status instance -d orcl -i orcl1,orcl2

Instance orcl1 is running on node oracle1

Instance orcl2 is running on node oracle2

3.查看节点软件状态

[oracle@oracle1 bin]$ srvctl status nodeapps -n oracle1

VIP is running on node: oracle1

GSD is running on node: oracle1

Listener is running on node: oracle1

ONS daemon is running on node: oracle1

[oracle@oracle1 bin]$ srvctl status nodeapps -n oracle2

VIP is running on node: oracle2

GSD is running on node: oracle2

Listener is running on node: oracle2

ONS daemon is running on node: oracle2

4.关闭和启动oracle RAC的步骤

[oracle@oracle2 admin]$ emctl stop dbconsole

[oracle@oracle2 admin]$ srvctl stop instance -d orcl -i orcl2

[oracle@oracle2 admin]$ srvctl stop nodeapps -n oracle2

[oracle@oracle2 admin]$ srvctl start nodeapps -n oracle2

[oracle@oracle2 admin]$ srvctl start instance -d orcl -i orcl2

[oracle@oracle2 admin]$ emctl start dbconsole

杂:细心的朋友可能会发现,有的截图是vmware workstation,后来的就是vmware server,这是因为我一开始是使用workstation来做实验的,后来迁移到了server上了。不打紧了,建议你直接使用vmware server。

配置开机自动启动oracle

首先修改$ORACLE_HOME/bin/dbstart,使其符合实际生产情况,手动运行dbstart可以运行所有需要的一切:监听、asm实例、数据库实例,然后复制dbstart到/etc/rc.d/init.d下,再修改他的属性:chmod u+s dbstart chmod g+s dbstart,最后创建创建启动链接:cp -s /etc/rc.d/init.d/dbstart /etc/rc.d/rc5.d/S99dbstart即可。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/665930/viewspace-684105/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/665930/viewspace-684105/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值