首页 > 代码库 > Linux Oracle Rac 10G 搭建& Patch

Linux Oracle Rac 10G 搭建& Patch

Oracle Real Application Clusters 简称Oracle Rac 实施应用群集

环境接受

Virtual Machine(虚拟机):VirtualBox 4.2.18

系统平台:Oracle Enterprise Linux 5.7 X86_64

Software Packet:Oracle Database 10 R2 X86_64 for Linux

Oracle 10201_clusterware_linux


虚拟机设置

Linux 内存4G 硬盘大小60G(推荐)

双网卡

第一块网卡:Bridged Adapter (桥接模式)

第二块网卡:Internal Network (内网模式)


系统环境设置

加入光盘镜像

和普通安装linux 一样

第一步skip

第二步语言 English

第三步键盘 U.S.A English

第四步序列号 跳过序列号

第五步分区 默认分区即可

第六步网卡 网卡设置 需要启用两块

1.主机名

   因为是节点一 vrh1.oracle.com

2.配置网卡IP

 网卡1: 根据你的宿主机 IP信息 填写第一块网卡

  172.20.2.169 / 255.255.255.0

 网卡2: 因为是vip 所以设置一个私有网段的IP

  192.168.1.191 / 255.255.255.0 vrh1-vip


 Gateway :看宿主机网关 ipconfig /all 172.20.2.254

 DNS:8.8.8.8

 备用DNS :8.8.4.4


第七步输入root 密码

自己随意决定:oracle (我设置的)

第八步时区设定 只要保证 你的两台或多台相同就可以

第九步安装包 选择 clumsy later稍后自己安装

最后进行装包

reboot


重启后配置 系统信息

第一步 选择Yes 下一步

第二步 firewall 选择 Disabled

第三步 Selinux 选择 Disabled、

第四步 Kdump 不勾选

第五步 时区因为 第一块网卡 选择了 外网 所以可以选择NTP

第六步 更新服务 直接选否 跳过

第七步 创建用户 不创建 直接跳过

下一步 直至 结束 在此重启



二.配置

配置oracle yum source

1.mkdir /media/disk

2.mount /dev/cdrom /media/disk/

3.touch /etc/yum.repos.d/public-yum-el5.repo

4.vi /etc/yum.repos.d/public-yum-el5.repo

  [oel]

name = Enterprise Linux 5.7 DVD

baseurl=file:///media/disk/Server/

gpgcheck=0

enabled=1


5.yum install oracle-validated

6.mkdir /s01

7.chown oracle:oinstall /s01

8.password oracle

oracle

oracle

9. 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



172.20.2.169  vrh1 vrh1.oracle.com

172.20.2.170  vrh1-vip



172.20.2.171  vrh2 vrh2.oracle.com

172.20.2.172  vrh2-vip



192.168.1.191 vrh1-priv

192.168.1.192 vrh2-priv



:wq


完成后 测试

ping vrh1

是否通?


ping vrh1-priv

是否


ok 第一台主机配置完成


init 6

Clone

1.右键选中关闭的主机 选择可爱的小绵羊clone

2.修改 New machina name 为xxx2

3.clone type : full clone


修改网卡配置

1.进入system-config-network 删除两个带bak的网卡 如果active 状态的选择 右上方的Deactivete 在Delete

2.修改 eth0

172.20.2.171

255.255.255.0

172.20.2.254

保存

Active

3.修改 eth1

192.168.1.192

255.255.255.0

保存

Active

4.修改DNS

中主机名修改为 vrh2.oracle.com

主DNS 8.8.8.8

辅DNS 8.8.4.4

file 保存

然后 修改 /etc/inittab 默认启动模式变成3  


共享磁盘的创建

选择第一台创建的虚拟机

右键 Settings

选择Storage

选择 Controller:SATA 右边的磁盘加好的图标

点完后 选择 Create new disk (创建新的磁盘)

类型选择VDI

Next

这步非常重要 Fixed Size 固定大小 共享磁盘一定是固定下 要不会挂载出问题

磁盘文件创建位置 可以改变的不然默认是C盘 会很卡 所以 看到右边的文件夹带一个绿色箭头的图标了吗

共享磁盘大小不用太大 3G 就可以了

下面在做3个以上dbshare跟上面方法一样

大小5G 固定大小


现在做共享

上面选file

选择Virtual Media Manager

看到Hard drives

看到 ocr.vdi和dbshare1.vdi 一些刚才创建的虚拟盘

右键 选择 Modify

选择Shareable

OK


刚才主机1 也叫节点一 已经有了

现在主机2 也需要挂载 一下共享的磁盘 但是 不用Create new disk

我们选择 Choose existing disk 选择 你刚才 存放 ocr.vdi文件 和 dbshare.vdi 文件 即可


绑定服务

划分分区

打开主机一

先来 看一下 刚才挂载的共享盘

ll /dev/sd*

brw-r----- 1 root disk 8,  0 Sep 17 10:42 /dev/sda

brw-r----- 1 root disk 8,  1 Sep 17 10:42 /dev/sda1

brw-r----- 1 root disk 8,  2 Sep 17 10:42 /dev/sda2

brw-r----- 1 root disk 8, 16 Sep 17 10:42 /dev/sdb

brw-r----- 1 root disk 8, 32 Sep 17 10:42 /dev/sdc

brw-r----- 1 root disk 8, 48 Sep 17 10:42 /dev/sdd

brw-r----- 1 root disk 8, 64 Sep 17 10:42 /dev/sde


要做裸设备 需要把硬盘分区


先来做 ocr 和 Voting Disk

解释下什么是ocr

OCR - Oracle Cluster Registry(集群注册文件),记录每个节点的相关信息

主要用作记录 不用分配很多空间

Voting Disk

Voting Disk - Establishes quorum (表决磁盘),仲裁机制用于仲裁多个节点向共享节点同时写的行为,这样做是为了避免发生冲突

做两个分区

fdisk /dev/sdb

Command (m for help): n

Command action

  e   extended

  p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-391, default 1): #这是不用填写

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-391, default 391): +1500M



Command (m for help): n

Command action

  e   extended

  p   primary partition (1-4)

p

Partition number (1-4): 2

First cylinder (184-391, default 184): #这是不用填写

Using default value 184

Last cylinder or +size or +sizeM or +sizeK (184-391, default 391): #这是不用填写

Using default value 391


Command (m for help): p #查看下 时候有

Command (m for help): w


partprobe /dev/sdb #宣告给内核

ll - /dev/sdb*

ls: -: No such file or directory

brw-r----- 1 root disk 8, 16 Sep 17 10:49 /dev/sdb

brw-r----- 1 root disk 8, 17 Sep 17 10:49 /dev/sdb1

brw-r----- 1 root disk 8, 18 Sep 17 10:49 /dev/sdb2


现在开始做裸设备

裸设备 就是去除文件系统的限制 直接供给oracle 使用 个人理解


cd /etc/udev/rules.d/

ll

-rw-r--r-- 1 root root   515 Jul 23  2011 05-udev-early.rules

-rw-r--r-- 1 root root   992 Jul  9  2011 40-multipath.rules

-rw-r--r-- 1 root root 16732 Jul 23  2011 50-udev.rules

-rw-r--r-- 1 root root   471 Jul 23  2011 51-hotplug.rules

-rw-r--r-- 1 root root 58016 Jun  7  2007 60-libsane.rules

-rw-r--r-- 1 root root   143 Jun  8  2011 60-net.rules

-rw-r--r-- 1 root root  1088 Jun  6  2007 60-pcmcia.rules

-rw-r--r-- 1 root root   528 Sep 17 10:52 60-raw.rules

-rw-r--r-- 1 root root  9366 Jul 23  2011 60-wacom.rules

-rw-r--r-- 1 root root   129 Jul 23  2011 61-uinput-stddev.rules

-rw-r--r-- 1 root root   214 Jul 23  2011 61-uinput-wacom.rules

-rw-r--r-- 1 root root  1823 Nov  5  2008 85-pcscd_ccid.rules

-rw-r--r-- 1 root root   175 Jul 23  2011 88-clock.rules

-rw-r--r-- 1 root root   114 Nov  5  2008 90-alsa.rules

-rw-r--r-- 1 root root    61 Jul 23  2011 90-dm.rules

-rw-r--r-- 1 root root    82 Jan 14  2011 90-hal.rules

-rw-r--r-- 1 root root   107 Jul 23  2011 95-pam-console.rules

-rw-r--r-- 1 root root   292 May 11  2011 98-kexec.rules

-rw-r--r-- 1 root root  2319 Jul 15  2008 bluetooth.rules

vi 60-raw.rules #裸设备配置文件

加入下面字段

ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"

ACTION=="add", KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N"

ACTION=="add", KERNEL=="raw*", OWNER=="oracle", GROUP=="oinstall", MODE=="0660"

:wq

start_udev #启动udev

查看

ll /dev/raw

total 0

crw-rw---- 1 oracle oinstall 162, 1 Sep 17 11:58 raw1

crw-rw---- 1 oracle oinstall 162, 2 Sep 17 11:58 raw2


制作 ASM裸设备

ASM(自动存储管理)的来由:

ASM是Oracle 10g R2中为了简化Oracle数据库的管理而推出来的一项新功能,这是Oracle自己提供的卷管理器,主要用于替代操作系统所提供的LVM,它不仅支持单实例,同时对RAC的支持也是非常好。ASM可以自动管理磁盘组并提供有效的数据冗余功能。  www.2cto.com  使用ASM(自动存储管理)后,数据库管理员不再需要对ORACLE中成千上万的数据文件进行管理和分类,从而简化了DBA的工作量,可以使得工作效率大大提高。


为了节省时间 用一个脚本(by:marklean_liu)

for i in c d e;  #  in 后面跟的是/sdb /sdc /sde 等等 最后的字母如果多个可以继续添加

do

echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id -g -u -s %p\", RESULT==\"`scsi_id -g -u -s /block/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"oracle\", GROUP=\"oinstall\", MODE=\"0660\""

done

执行后 会显示如下信息

[root@vrh1 raw]# for i in c d e;

> do

> echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id -g -u -s %p\", RESULT==\"`scsi_id -g -u -s /block/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"oracle\", GROUP=\"oinstall\", MODE=\"0660\""

> done

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="SATA_VBOX_HARDDISK_VB3135e0d2-443af4bc_", NAME="asm-diskc", OWNER="oracle", GROUP="oinstall", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="SATA_VBOX_HARDDISK_VB4a191055-dd7f8a7e_", NAME="asm-diskd", OWNER="oracle", GROUP="oinstall", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="SATA_VBOX_HARDDISK_VB8ab4d9e0-3dc6fdc1_", NAME="asm-diske", OWNER="oracle", GROUP="oinstall", MODE="0660"



然后我们需要touch 一个文件

在/etc/udev/rules.d目录下

[root@vrh1 rules.d]# touch 99-oracle-asmdevices.rules

vi  99-oracle-asmdevices.rules

加入 刚才 脚本语句 列出的内容

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="SATA_VBOX_HARDDISK_VB3135e0d2-443af4bc_", NAME="asm-diskc", OWNER="oracle", GROUP="oinstall", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="SATA_VBOX_HARDDISK_VB4a191055-dd7f8a7e_", NAME="asm-diskd", OWNER="oracle", GROUP="oinstall", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="SATA_VBOX_HARDDISK_VB8ab4d9e0-3dc6fdc1_", NAME="asm-diske", OWNER="oracle", GROUP="oinstall", MODE="0660"


:wq


在此 启动 start_udev

然后 查看一下

ll /dev/asm*

brw-rw---- 1 oracle oinstall 8, 32 Sep 17 11:58 /dev/asm-diskc

brw-rw---- 1 oracle oinstall 8, 48 Sep 17 11:58 /dev/asm-diskd

brw-rw---- 1 oracle oinstall 8, 64 Sep 17 11:58 /dev/asm-diske


下一步 把两个改好的复制到第二台节点上的 相应目录下的


scp 60-raw.rules vrh2:/etc/udev/rules.d/

The authenticity of host ‘vrh2 (172.20.2.171)‘ can‘t be established.

RSA key fingerprint is 1e:b5:bb:12:53:44:90:eb:ef:01:7a:3a:5e:37:70:d6.

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

Warning: Permanently added ‘vrh2,172.20.2.171‘ (RSA) to the list of known hosts.

root@vrh2‘s password:

60-raw.rules                                                100%  528     0.5KB/s  

[root@vrh1 rules.d]# scp 99-oracle-asmdevices.rules vrh2:/etc/udev/rules.d/

root@vrh2‘s password:

Permission denied, please try again.

root@vrh2‘s password:

99-oracle-asmdevices.rules                                  100%  543     0.5KB/s   00:00


因为起初两个hosts 文件加入了 域名解析 如果你担心依然可以使用IP


节点传输完成 节点 使用start_udev

启动udev

然后再次查看

[root@vrh2 rules.d]# ll /dev/raw*

crw-rw---- 1 oracle oinstall 162, 0 Sep 17 12:00 /dev/rawctl


/dev/raw:

total 0

crw-rw---- 1 oracle oinstall 162, 1 Sep 17 12:31 raw1

crw-rw---- 1 oracle oinstall 162, 2 Sep 17 12:31 raw2

[root@vrh2 rules.d]# ll /dev/asm*

brw-rw---- 1 oracle oinstall 8, 32 Sep 17 12:31 /dev/asm-diskc

brw-rw---- 1 oracle oinstall 8, 48 Sep 17 12:31 /dev/asm-diskd

brw-rw---- 1 oracle oinstall 8, 64 Sep 17 12:31 /dev/asm-diske


到此共享存储 已经完成


我们需要两台oracle 主机可以互相访问 不要密码

这时候 我们就需要 ssh等价了 小白老师 在Kickstart的时候讲到过


以下所有 1、2节点都需要做

由于是oracle 用户使用

所以 先su — oracle

然后我需要使用 ssh-keygen -t rsa

创建 .ssh这个隐藏目录

[root@vrh1 rules.d]# su - oracle

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

Generating public/private rsa key pair.

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

Created directory ‘/home/oracle/.ssh‘.

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:

0d:0e:07:61:e3:a0:1f:af:d6:9b:9a:1e:b8:4e:ce:89 oracle@vrh1.oracle.com

然后我们需要 在使用 ssh-keygen -t dsa

创建密钥

[oracle@vrh2 ~]$ ssh-keygen -t dsa

Generating public/private dsa key pair.

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

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

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

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

The key fingerprint is:

1e:ff:96:4d:d8:fd:43:6c:a6:71:aa:e5:b8:55:1a:16 oracle@vrh2.oracle.com

主机一操作

然后 进入

cd /home/oracle/.ssh/

ll

-rw------- 1 oracle oinstall  672 Sep 17 12:48 id_dsa

-rw-r--r-- 1 oracle oinstall  612 Sep 17 12:48 id_dsa.pub

-rw------- 1 oracle oinstall 1675 Sep 17 12:44 id_rsa

-rw-r--r-- 1 oracle oinstall  404 Sep 17 12:44 id_rsa.pub

-rw-r--r-- 1 oracle oinstall  399 Sep 17 12:56 known_hosts


然后touch authorized_keys 授权key

把公钥文件追加到 授权Key 里面

cat id_dsa.pub >> authorized_keys

cat id_rsa.pub >> authorized_keys

第二台主机的公钥文件 也要追加到这个授权Key 里面

ssh vrh2 cat /home/oracle/.ssh/id_dsa.pub >> authorized_keys

ssh vrh2 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys


拷贝到第二节点相应的./ssh 目录下

scp authorized_keys vrh2:~/.ssh

这样 以后 相互登陆就不用密码了

[oracle@vrh1 .ssh]$ ssh vrh2

Last login: Tue Sep 17 13:06:28 2013 from vrh1

[oracle@vrh2 ~]$


时间同步问题

节点1:

command

[oracle@vrh1 .ssh]$ date ; ssh vrh2 date

Tue Sep 17 14:00:34 CST 2013

Tue Sep 17 14:00:35 CST 2013

[oracle@vrh1 .ssh]$ date ; ssh vrh2 date

Tue Sep 17 14:00:36 CST 2013

Tue Sep 17 14:00:36 CST 2013

[oracle@vrh1 .ssh]$ date ; ssh vrh2 date

Tue Sep 17 14:00:37 CST 2013

Tue Sep 17 14:00:37 CST 2013

[oracle@vrh1 .ssh]$ date ; ssh vrh2-priv date

Tue Sep 17 14:01:05 CST 2013

The authenticity of host ‘vrh2-priv (192.168.1.192)‘ can‘t be established.

RSA key fingerprint is 1e:b5:bb:12:53:44:90:eb:ef:01:7a:3a:5e:37:70:d6.

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

Warning: Permanently added ‘vrh2-priv,192.168.1.192‘ (RSA) to the list of known hosts.

Tue Sep 17 14:01:07 CST 2013

[oracle@vrh1 .ssh]$ date ; ssh vrh2-priv date

Tue Sep 17 14:01:09 CST 2013

Tue Sep 17 14:01:09 CST 2013

[oracle@vrh1 .ssh]$ date ; ssh vrh2-priv date

Tue Sep 17 14:01:10 CST 2013

Tue Sep 17 14:01:10 CST 2013

[oracle@vrh1 .ssh]$ date ; ssh vrh1 date

Tue Sep 17 14:01:27 CST 2013

The authenticity of host ‘vrh1 (172.20.2.169)‘ can‘t be established.

RSA key fingerprint is 1e:b5:bb:12:53:44:90:eb:ef:01:7a:3a:5e:37:70:d6.

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

Warning: Permanently added ‘vrh1,172.20.2.169‘ (RSA) to the list of known hosts.

Tue Sep 17 14:01:29 CST 2013

[oracle@vrh1 .ssh]$ date ; ssh vrh1 date

Tue Sep 17 14:01:30 CST 2013

Tue Sep 17 14:01:30 CST 2013

[oracle@vrh1 .ssh]$ date ; ssh vrh1 date

Tue Sep 17 14:01:32 CST 2013

Tue Sep 17 14:01:32 CST 2013

[oracle@vrh1 .ssh]$ date ; ssh vrh1-priv date

Tue Sep 17 14:01:44 CST 2013

The authenticity of host ‘vrh1-priv (192.168.1.191)‘ can‘t be established.

RSA key fingerprint is 1e:b5:bb:12:53:44:90:eb:ef:01:7a:3a:5e:37:70:d6.

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

Host key verification failed.

[oracle@vrh1 .ssh]$ date ; ssh vrh1-priv date

Tue Sep 17 14:01:48 CST 2013

The authenticity of host ‘vrh1-priv (192.168.1.191)‘ can‘t be established.

RSA key fingerprint is 1e:b5:bb:12:53:44:90:eb:ef:01:7a:3a:5e:37:70:d6.

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

Warning: Permanently added ‘vrh1-priv,192.168.1.191‘ (RSA) to the list of known hosts.

Tue Sep 17 14:01:49 CST 2013

[oracle@vrh1 .ssh]$ date ; ssh vrh1-priv date

Tue Sep 17 14:01:50 CST 2013

Tue Sep 17 14:01:50 CST 2013

[oracle@vrh1 .ssh]$ date ; ssh vrh1-priv date

Tue Sep 17 14:01:51 CST 2013

Tue Sep 17 14:01:51 CST 2013

[oracle@vrh1 .ssh]$ date ; ssh vrh1-priv date

Tue Sep 17 14:01:52 CST 2013

Tue Sep 17 14:01:52 CST 2013

节点2

command

[oracle@vrh2 .ssh]$ date ; ssh vrh1 date

Tue Sep 17 14:03:29 CST 2013

Tue Sep 17 14:03:29 CST 2013

[oracle@vrh2 .ssh]$ date ; ssh vrh1 date

Tue Sep 17 14:03:30 CST 2013

Tue Sep 17 14:03:30 CST 2013

[oracle@vrh2 .ssh]$ date ; ssh vrh1-priv date

Tue Sep 17 14:03:36 CST 2013

The authenticity of host ‘vrh1-priv (192.168.1.191)‘ can‘t be established.

RSA key fingerprint is 1e:b5:bb:12:53:44:90:eb:ef:01:7a:3a:5e:37:70:d6.

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

Warning: Permanently added ‘vrh1-priv,192.168.1.191‘ (RSA) to the list of known hosts.

Tue Sep 17 14:03:38 CST 2013

[oracle@vrh2 .ssh]$ date ; ssh vrh1-priv date

Tue Sep 17 14:03:39 CST 2013

Tue Sep 17 14:03:39 CST 2013

[oracle@vrh2 .ssh]$ date ; ssh vrh1-priv date

Tue Sep 17 14:03:40 CST 2013

Tue Sep 17 14:03:40 CST 2013

[oracle@vrh2 .ssh]$ date ; ssh vrh2 date

Tue Sep 17 14:03:48 CST 2013

The authenticity of host ‘vrh2 (172.20.2.171)‘ can‘t be established.

RSA key fingerprint is 1e:b5:bb:12:53:44:90:eb:ef:01:7a:3a:5e:37:70:d6.

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

Warning: Permanently added ‘vrh2,172.20.2.171‘ (RSA) to the list of known hosts.

Tue Sep 17 14:03:50 CST 2013

[oracle@vrh2 .ssh]$ date ; ssh vrh2 date

Tue Sep 17 14:03:51 CST 2013

Tue Sep 17 14:03:51 CST 2013

[oracle@vrh2 .ssh]$ date ; ssh vrh2-priv date

Tue Sep 17 14:03:56 CST 2013

The authenticity of host ‘vrh2-priv (192.168.1.192)‘ can‘t be established.

RSA key fingerprint is 1e:b5:bb:12:53:44:90:eb:ef:01:7a:3a:5e:37:70:d6.

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

Warning: Permanently added ‘vrh2-priv,192.168.1.192‘ (RSA) to the list of known hosts.

Tue Sep 17 14:03:58 CST 2013

[oracle@vrh2 .ssh]$


安装中需要的的介质 及 下载地址

10201_clusterware_linux_x86_64.cpio

http://124.202.164.14/download/30916062/38908834/2/gz/230/83/1350905190630_851/10201_clusterware_linux_x86_64.cpio.gz

10201_database_linux_x86_64.cpio

http://download.oracle.com/otn/linux/oracle10g/10201/10201_database_linux_x86_64.cpio.gz

p8202632_10205_Linux-x86-64

ftp://61.135.158.199/pub/Oracle10g-10.2.0.5/p8202632_10205_Linux-x86-64.zip

安装 oracle_10201_clusterware及 升级 10205

升级原因 因为 10201有很多bug 所以升级到 10205


使用 你习惯的方法 把文件上传到 虚拟机节点1 /s01目录下(下载的gz格式要解压的)


root 登陆

付权限 chmod 755 10201_clusterware_linux_x86_64.cpio

      chmod 755 10201_database_linux_x86_64.cpio

然后 选择System 中log out

换成oracle 用户登陆

[oracle@vrh1 s01]$ ls

10201_clusterware_linux_x86_64.cpio  p8202632_10205_Linux-x86-64.zip

10201_database_linux_x86_64.cpio

[oracle@vrh1 s01]$ mkdir 10201_crs

然后cd 10201_crs

然后解压 cpio -idvm < ../10201_clusterware_linux_x86_64.cpio

[oracle@vrh1 10201_crs]$ ls

clusterware

[oracle@vrh1 10201_crs]$ cd clusterware/

[oracle@vrh1 clusterware]$ ls

cluvfy  install   rootpre  runInstaller  upgrade

doc     response  rpm      stage         welcome.html

执行 runInstaller

报错

[oracle@vrh1 clusterware]$ ./runInstaller

********************************************************************************


Please run the script rootpre.sh as root on all machines/nodes. The script can be found at the toplevel of the CD or stage-area. Once you have run the script, please type Y to proceed


Answer ‘y‘ if root has run ‘rootpre.sh‘ so you can proceed with Oracle Clusterware installation.

Answer ‘n‘ to abort installation and then ask root to run ‘rootpre.sh‘.


********************************************************************************


Has ‘rootpre.sh‘ been run by root? [y/n] (n)


需要执行一个rootpre.sh 脚本 必须用root 用户去运行

在开一个终端 切换root


如下路径

[root@vrh1 ~]# cd /s01/10201_crs/clusterware/rootpre/

[root@vrh1 rootpre]# ll

total 4

-rwxr-xr-x 1 oracle oinstall 2981 Oct 23  2005 rootpre.sh

[root@vrh1 rootpre]# ./rootpre.sh

No OraCM running

[root@vrh1 rootpre]#


回到图形界面

Has ‘rootpre.sh‘ been run by root? [y/n] (n)

y        


Starting Oracle Universal Installer...


Checking installer requirements...


Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2

                                     Failed <<<<


Exiting Oracle Universal Installer, log for this session can be found at /tmp/OraInstall2013-09-17_04-25-11PM/installActions2013-09-17_04-25-11PM.log


依然报错 因为 10201 支持的授权版本 是 red hat linux 4.0及以下版本


所以执行 ./时候 后面加上

[oracle@vrh1 clusterware]$ ./runInstaller -ignoreSysprereqs

********************************************************************************


Please run the script rootpre.sh as root on all machines/nodes. The script can be found at the toplevel of the CD or stage-area. Once you have run the script, please type Y to proceed


Answer ‘y‘ if root has run ‘rootpre.sh‘ so you can proceed with Oracle Clusterware installation.

Answer ‘n‘ to abort installation and then ask root to run ‘rootpre.sh‘.


********************************************************************************


Has ‘rootpre.sh‘ been run by root? [y/n] (n)

y


Starting Oracle Universal Installer...


Checking installer requirements...


Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2

                                     Failed <<<<




>>> Ignoring required pre-requisite failures. Continuing...


Preparing to launch Oracle Universal Installer from /tmp/OraInstall2013-09-17_04-39-12PM. Please wait ...[oracle@vrh1 clusterware]$ Oracle Universal Installer, Version 10.2.0.1.0 Production

Copyright (C) 1999, 2005, Oracle. All rights reserved.


/runInstaller 后加上" -ignoreSysPreReqs" 参数忽略sys检测

不过不推荐这种方式,因为这可能会错过对操作系统内核参数以及oracle必需的包的检测

但是没办法


进入图形安装

第一个界面 Next

下一个修改 路径 /s01/oralnventory

在下一个修改路径 /s01/oracle/app/product/crs_1  oracle 最优路径的选择

在下一个 安装检测到的问题 还是刚才的版本问题 所以一些包也安装不到

所以 自己 勾选缺失的两个对勾

Next

Add选项 添加节点

Public Node Name: vrh2

Private Node Name: vrh2-priv

Virtual Host Name: vrh2-vip

Next

选择一个公有网络 需要修改一下

172.20.2.0 是一个public 共有网络

所以 Edit

选择 public

Next

选择 OCR

因为是裸设备 所以选择 External Redundancy  外部冗余 模式

外部冗余(external redundancy):表示Oracle不帮你管理镜像,功能由外部存储系统实现,比如通过RAID技术;有效磁盘空间是所有磁盘设备空间的大小之和。

如同RAID 效果

扩展:

、 外部冗余(external redundancy):表示Oracle不帮你管理镜像,功能由外部存储系统实现,比如通过RAID技术;有效磁盘空间是所有磁盘设备空间的大小之和。


2、 默认冗余(normal redundancy):表示Oracle提供2份镜像来保护数据,有效磁盘空间是所有磁盘设备大小之和的1/2 (使用最多)


3、 高度冗余(high redundancy):表示Oracle提供3份镜像来保护数据,以提高性能和数据的安全,最少需要三块磁盘(三个failure group);有效磁盘空间是所有磁盘设备大小之和的1/3,虽然冗余级别高了,但是硬件的代价也最高。


这里只能挂在一块裸设备

所以 /dev/raw/raw1

Next

下面 来写Voling Disk 文件路径

继续选择


External Redundancy

使用 /dev/raw/raw2

Next


最后安装 install


安装完以后需要执行两个脚本

[root@vrh1 rootpre]# /s01/oraInventory//orainstRoot.sh

Changing permissions of /s01/oraInventory to 770.

Changing groupname of /s01/oraInventory to oinstall.

The execution of the script is complete

[root@vrh1 rootpre]# /s01/oracle/app/product/crs_1/r

racg/     rdbms/    relnotes/ root.sh  

[root@vrh1 rootpre]# /s01/oracle/app/product/crs_1/r

racg/     rdbms/    relnotes/ root.sh  

[root@vrh1 rootpre]# /s01/oracle/app/product/crs_1/root.sh


节点2 执行相同的步骤

root@vrh2 rules.d]# /s01/oraInventory/orainstRoot.sh

Changing permissions of /s01/oraInventory to 770.

Changing groupname of /s01/oraInventory to oinstall.

The execution of the script is complete

You have new mail in /var/spool/mail/root

[root@vrh2 rules.d]# /s01/oracle/app/product/crs_1/root.sh


检测

[root@vrh1 rootpre]# /s01/oracle/app/product/crs_1/bin/crsctl query crs activeversion

CRS active version on the cluster is [10.1.0.2.0]

[root@vrh1 s01]# /s01/oracle/app/product/crs_1/bin/crsctl check crs

CSS appears healthy

CRS appears healthy

EVM appears healthy


安装上 10.2.0.1

把CRS 关闭


以便安装 10205

/s01/oracle/app/product/crs_1/bin/crsctl stop crs


图形界面安装

cd /s01/

mkdir 10205_patch

cd /10205_patch

unzip ../p8202632_10205_Linux-x86-64.zip

[oracle@vrh1 10205_patch]$ ls

Disk1  README.htm

[oracle@vrh1 10205_patch]$ cd Disk1/

[oracle@vrh1 Disk1]$ ls

install  patch_note.htm  response  runInstaller  stage



在此安装

[oracle@vrh1 Disk1]$ ./runInstaller

Starting Oracle Universal Installer...


Checking installer requirements...


Checking operating system version: must be redhat-3, SuSE-9, SuSE-10, redhat-4, redhat-5, redhat-6, UnitedLinux-1.0, asianux-1, asianux-2, asianux-3, enterprise-4, enterprise-5 or SuSE-11

                                     Passed



All installer requirements met.


Preparing to launch Oracle Universal Installer from /tmp/OraInstall2013-09-17_06-09-34PM. Please wait ...[oracle@vrh1 Disk1]$ Oracle Universal Installer, Version 10.2.0.5.0 Production

Copyright (C) 1999, 2010, Oracle. All rights reserved.


再一次安装 就不会出现新的错误


因为

Checking operating system version: must be redhat-3, SuSE-9, SuSE-10, redhat-4, redhat-5, redhat-6, UnitedLinux-1.0, asianux-1, asianux-2, asianux-3, enterprise-4, enterprise-5 or SuSE-11

                                     Passed

                                     兼容了 以上版本


安装 第二步的时候 要注意 home的安装目录

手动鼠标点一下 就和变回 安装时候调好的

Next 将会检测你是群集

然后开始在此检测 配置

warning 把钩选上 继续 install


/s01/oracle/app/product/crs_1/install/root102.sh

This script will automatically start the CRS daemons on the

patched node upon completion.

这点很重要 要执行一个脚本


[root@vrh1 rootpre]# cd /s01/oracle/app/product/crs_1/install/

[root@vrh1 install]# ll

total 184

-rw-rw----  1 oracle oinstall    32 Sep 17 17:23 cluster.ini

-rwxr-xr-x  1 oracle oinstall  1092 Oct 18  2005 cmdllroot.sh

-rw-rw----  1 oracle oinstall   197 Sep 17 17:23 envVars.properties

-rwxr-xr-x  1 oracle oinstall    38 Apr 19  2005 install.excl

-rwxr-xr-x  1 oracle oinstall     0 Feb 23  2005 install.incl

-rw-rw----  1 oracle oinstall  4703 Sep 17 17:23 make.log

-rw-rw----  1 oracle oinstall   461 Sep 17 17:22 paramfile.crs

drwxr-xr-x 33 oracle oinstall  4096 Sep 17 18:18 patch102

-rwxr-xr-x  1 oracle oinstall  4580 Sep 17 17:22 preupdate.sh

-rw-rw----  1 oracle oinstall   893 Sep 17 18:19 readme.txt

-rwxr-xr-x  1 oracle oinstall 34724 Sep 17 18:18 root102.sh

-r-xr-xr-x  1 oracle oinstall  4150 Aug 11  2005 rootaddnode.sbs

-r-xr-xr-x  1 oracle oinstall 32764 Sep 17 17:22 rootconfig

-r-xr-xr-x  1 oracle oinstall  8169 Sep 17 17:22 rootdeinstall.sh

-r-xr-xr-x  1 oracle oinstall  3928 Sep 17 17:22 rootdeletenode.sh

-r-xr-xr-x  1 oracle oinstall 12087 Sep 17 17:22 rootdelete.sh

-r-xr-xr-x  1 oracle oinstall  3595 Sep 17 17:22 rootinstall

-rw-rw----  1 oracle oinstall  9640 Sep 17 17:22 rootlocaladd

-r-xr-xr-x  1 oracle oinstall 17044 Sep 17 17:22 rootupgrade

-rw-rw----  1 oracle oinstall  2800 Jun  7  2005 templocal

[root@vrh1 install]# pwd

/s01/oracle/app/product/crs_1/install

[root@vrh1 install]#

[root@vrh1 install]# ./root102.sh

Creating pre-patch directory for saving pre-patch clusterware files



节点一 执行完了 执行节点二

cd /s01/oracle/app/product/crs_1/install/

./root102.sh


进入 oracle 用户 或者退回oracle 用户


修改环境变量

[oracle@vrh2 ~]$ vim .bash_profile

vim .bash_profile

# .bash_profile


# Get the aliases and functions

if [ -f ~/.bashrc ]; then

       . ~/.bashrc

fi


# User specific environment and startup programs

ORA_CRS_HOME=/s01/oracle/app/product/crs_1

PATH=$ORA_CRS_HOME/bin:$PATH


export ORA_CRS_HOME PATH

~                            

[oracle@vrh2 ~]$ scp .bash_profile vrh1:~/    

crsctl query csr activeversion

[oracle@vrh1 ~]$ crsctl query crs activeversion

CRS active version on the cluster is [10.2.0.5.0]


设置vip

我们需要退出oracle 用户

进入root用户

root 没有加 .bash_profile

所以必须绝对路径

[root@vrh1 ~]# /s01/oracle/app/product/crs_1/bin/vipca

next

next

选择 eth0

在第一个方框 填入 vrh1-vip点击ip address 下面方框

在下面的第一个方框 填入 vrh2-vip 点击 ip address 下面方框

就会出现设置过的vip

next

选择 finish

查看服务状态

[oracle@vrh1 ~]$ crs_stat -t

Name           Type           Target    State     Host        

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

ora.vrh1.gsd   application    ONLINE    ONLINE    vrh1        

ora.vrh1.ons   application    ONLINE    ONLINE    vrh1        

ora.vrh1.vip   application    ONLINE    ONLINE    vrh1        

ora.vrh2.gsd   application    ONLINE    ONLINE    vrh2        

ora.vrh2.ons   application    ONLINE    ONLINE    vrh2        

ora.vrh2.vip   application    ONLINE    ONLINE    vrh2


Last login: Tue Sep 17 18:55:20 2013 from 172.20.2.36

[root@vrh1 ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 08:00:27:18:83:3F  

         inet addr:172.20.2.169  Bcast:172.20.2.255  Mask:255.255.255.0

         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

         RX packets:3962609 errors:0 dropped:0 overruns:0 frame:0

         TX packets:1986152 errors:0 dropped:0 overruns:0 carrier:0

         collisions:0 txqueuelen:1000

         RX bytes:4883339603 (4.5 GiB)  TX bytes:1975414889 (1.8 GiB)


eth0:1    Link encap:Ethernet  HWaddr 08:00:27:18:83:3F  

         inet addr:172.20.2.170  Bcast:172.20.2.255  Mask:255.255.255.0

         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1


eth1      Link encap:Ethernet  HWaddr 08:00:27:FD:1C:69  

         inet addr:192.168.1.191  Bcast:192.168.1.255  Mask:255.255.255.0

         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

         RX packets:13612 errors:0 dropped:0 overruns:0 frame:0

         TX packets:16205 errors:0 dropped:0 overruns:0 carrier:0

         collisions:0 txqueuelen:1000

         RX bytes:5732070 (5.4 MiB)  TX bytes:10594903 (10.1 MiB)


lo        Link encap:Local Loopback  

         inet addr:127.0.0.1  Mask:255.0.0.0

         UP LOOPBACK RUNNING  MTU:16436  Metric:1

         RX packets:15478 errors:0 dropped:0 overruns:0 frame:0

         TX packets:15478 errors:0 dropped:0 overruns:0 carrier:0

         collisions:0 txqueuelen:0

         RX bytes:4124141 (3.9 MiB)  TX bytes:4124141 (3.9 MiB)


[root@vrh1 ~]#

vip 也出来了


然后安装库

节点1上用oracle 用户登陆

(图形安装)

[oracle@vrh1 s01]$ mkdir 10201_db

[oracle@vrh1 s01]$ cd 1020

10201_clusterware_linux_x86_64.cpio  10201_database_linux_x86_64.cpio     10205_patch/                        

10201_crs/                           10201_db/                            

[oracle@vrh1 s01]$ cd 10201_d

10201_database_linux_x86_64.cpio  10201_db/                        

[oracle@vrh1 s01]$ cd 10201_d

10201_database_linux_x86_64.cpio  10201_db/                        

[oracle@vrh1 s01]$ cd 10201_db

[oracle@vrh1 10201_db]$ cpio -idvm < ../10201_database_linux_x86_64.cpio

解压完以后

安装图形界面

[oracle@vrh1 ~]$ crsctl check crs

CSS appears healthy

CRS appears healthy

EVM appears healthy

[oracle@vrh1 ~]$ cd /s01/

[oracle@vrh1 s01]$ ls

10201_clusterware_linux_x86_64.cpio  10205_patch

10201_crs                            oracle

10201_database_linux_x86_64.cpio     oraInventory

10201_db                             p8202632_10205_Linux-x86-64.zip

[oracle@vrh1 s01]$ cd 10201_db/

[oracle@vrh1 10201_db]$ ls

database

[oracle@vrh1 10201_db]$ cd database/

[oracle@vrh1 database]$ ls

doc  install  response  runInstaller  stage  welcome.html

[oracle@vrh1 database]$ ./runInstaller


[oracle@vrh1 database]$ ./runInstaller -ignoreSysPrereqs


next

第二步 选择第一个 施强讲过这个 Enterprise Edition

第三步 修改安装路径 /s01/oracle/product/10.2.0/db_1

第四步 选择两个节点 Cluster Installation

第五步 检查并全部勾选

第六步 Install database Software only



安装升级 10205

[oracle@vrh1 ~]$ cd /s01/

[oracle@vrh1 s01]$ ls

10201_clusterware_linux_x86_64.cpio  10205_patch

10201_crs                            oracle

10201_database_linux_x86_64.cpio     oraInventory

10201_db                             p8202632_10205_Linux-x86-64.zip

[oracle@vrh1 s01]$ cd 10205_patch/

[oracle@vrh1 10205_patch]$ ls

Disk1  README.htm

[oracle@vrh1 10205_patch]$ cd Disk1/

[oracle@vrh1 Disk1]$ ./runInstaller

[oracle@vrh1 ~]$ su - root

Password:

[root@vrh1 ~]# cd /s01/oracle/product/10.2.0/db_1/

[root@vrh1 db_1]# ./root.sh

Running Oracle 10g root.sh script...


The following environment variables are set as:

   ORACLE_OWNER= oracle

   ORACLE_HOME=  /s01/oracle/product/10.2.0/db_1


Enter the full pathname of the local bin directory: [/usr/local/bin]:

The file "dbhome" already exists in /usr/local/bin.  Overwrite it? (y/n)

[n]:

The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)

[n]:

The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)

[n]:


Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root.sh script.

Now product-specific root actions will be performed.

修改.bash_profile

oracle用户登录

# .bash_profile


# Get the aliases and functions

if [ -f ~/.bashrc ]; then

       . ~/.bashrc

fi


# User specific environment and startup programs

ORA_CRS_HOME=/s01/oracle/app/product/crs_1

ORACLE_HOME=/s01/oracle/product/10.2.0/db_1

PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH

ORACLE_SID=WMN

ORACLE_BASE=/s01

export ORA_CRS_HOME PATH ORACLE_HOME ORACLE_SID ORACLE_BASE

:wq

source .bash_profile

log out in

再从新登录oracle 用户的图形界面

我们可以测试一下 是不是 10205版本

oracle 用户下

[oracle@vrh1 ~]$ sqlplus


SQL*Plus: Release 10.2.0.5.0 - Production on Wed Sep 18 14:07:56 2013


Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.


Enter user-name:

然后

创建库

dbca

选择第一个oracle real application clusters database

第二步 create a database

第三步看到 Select all 选择 因为是两个节点

第四步 选择General purpose

第五步 我们填写库名 和 ORACLE_SID 是对应的 所以 也就说 你在.bash_profile文件里如何填写的 SID 名字 这里就要对应上 WMN

第六步 我们选择不使用配置页

第七步 创建库密码 随意 你记得住就行 我这里使用oracle

第八步 非常重要  选择存储的方式  选择ASM 这就是开始 为什么建立ASM 三块共享裸设备

第九步 设置 ASM 密码 还有 ifile 共享盘 配置文件

第十步 选择ok

第十一步 他会自动帮你创建listen mode  选择ok

第十二步 选择添加设备 选择 Create New

第十三部 选择添加设备的路径 Change Disk Discovery Path

第十四 五步 填入路径 /dev/asm*

第十六步 磁盘组名字 还有 Redundancy 冗余模式 External 外部冗余

然后勾选 所有Disk 磁盘组 ok

第十七 十八 十九 直接 Next

第二十步 选择 Specify Flash Recovery Area 和 Enable Archiving 开启闪回 和归档日志

第二十一 选择 Sample Schemas 实例架构 勾选 NEXT

第二十二 查看你的实例名 等信息 Next

第二十三 配置信息设置

第二十四 修改Database Character Set 数据库字符集 选择UTF8  并且 National Character Set 国家字符集 UTF8

最后直接安装就可以 了

NEXT

查看个日志

[oracle@vrh1 cfgtoollogs]$ ls

cfgfw  configToolAllCommands  configToolAllCommands.bak  dbca  emca  oui

[oracle@vrh1 cfgtoollogs]$ taif -f c

cfgfw/                     configToolAllCommands      configToolAllCommands.bak  

[oracle@vrh1 cfgtoollogs]$ taif -f configToolAllCommands

-bash: taif: command not found

[oracle@vrh1 cfgtoollogs]$ ls

cfgfw  configToolAllCommands  configToolAllCommands.bak  dbca  emca  oui

[oracle@vrh1 cfgtoollogs]$ cd dbca/

[oracle@vrh1 dbca]$ ls

trace.log  WMN

[oracle@vrh1 dbca]$ cd WMN/

[oracle@vrh1 WMN]$ ls

cloneDBCreation.log   CreateClustDBViews.log  postScripts.log           tempControl.ctl

CloneRmanRestore.log  mkplug_v3_WMN1.log      rmanRestoreDatafiles.sql  tts_example_imp.log

[oracle@vrh1 WMN]$ taif -f cloneDBCreation.log

-bash: taif: command not found

[oracle@vrh1 WMN]$ tail -f cloneDBCreation.log

      162 oracle@vrh1.oracle.com (CKPT)                             1

      163 oracle@vrh1.oracle.com (LGWR)                             1

      164 oracle@vrh1.oracle.com (DBW0)                             1

      165 oracle@vrh1.oracle.com (MMAN)                             1

      166 oracle@vrh1.oracle.com (LMD0)                             1

      167 oracle@vrh1.oracle.com (LMON)                             1

      168 oracle@vrh1.oracle.com (PSP0)                             1

      169 oracle@vrh1.oracle.com (DIAG)                             1

      170 oracle@vrh1.oracle.com (PMON)                             1

AL16UTF16


安装日志 会随时变化

安装完成


当我启动sqlplus / as sysdba

startup 我们发现出现了问题



后经查询 是 两个节点的ORACLE_SID 相同了


然后使用ORACLE用户 修改.bash_profile中的ORACLE_SID=WMN1

节点二 的修改成为 ORACLE_SID=WMN2


ok 安装完成 测试一下

[oracle@vrh1 ~]$ sqlplus / as sysdba;


SQL*Plus: Release 10.2.0.5.0 - Production on Wed Sep 18 15:29:04 2013


Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.



Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production

With the Partitioning, Real Application Clusters, OLAP, Data Mining

and Real Application Testing options


SQL> select count(*) from gv$instance;


 COUNT(*)

----------

2


SQL> select * from v$vsrsion

 2  ;

select * from v$vsrsion

             *

ERROR at line 1:

ORA-00942: table or view does not exist



SQL> select * from v$version;


BANNER

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

Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi

PL/SQL Release 10.2.0.5.0 - Production

CORE10.2.0.5.0Production

TNS for Linux: Version 10.2.0.5.0 - Production

NLSRTL Version 10.2.0.5.0 - Production


SQL>


到此 oracle 10201 cluster 升级并 安装 已经完成


希望这份文档 对感兴趣的朋友有帮助


--------------------AndyK : 王孟楠


下面付一些图 如果 上述讲解 不清晰 请参照图片进行安装


wKioL1NlzQ2TrmgeAAVK4FwCsHw247.jpg

wKiom1NlzTjiWAimAAYsFlCMHRA005.jpg

wKioL1NlzQ7AztlXAATsUVdKP98685.jpg

wKiom1NlzTih-bspAAV2xNNGu_M186.jpg

wKioL1NlzQ7x2Hm5AAaF94Y76sk500.jpg

wKiom1NlzTqTgG9iAAWTvLFhY4I962.jpg

wKioL1NlzRCSUoFCAAUy0RdTYq0968.jpg

wKiom1NlzTri9jLuAATbGsnPvY4687.jpg

wKioL1NlzRGC0N4nAAVB49sDbs4514.jpg

wKioL1NlzRHydafBAAVANVLb5K4375.jpg

wKiom1NlzTyyD_VcAAWCsyf16ZM716.jpg

wKioL1NlzRKypef9AAWQK3sQPpc483.jpg

wKiom1NlzT2AYLgLAATItQ4ORVg671.jpg

wKioL1NlzRSzFgblAAXNQZ7DCwM419.jpg

wKioL1NlzRThFVUlAAQ3A2UHcDc091.jpg

wKiom1NlzT-QGCaMAAX-bDUtXmU851.jpg

wKioL1NlzRXSwPLrAAZP7YPkE40882.jpg

wKiom1NlzUCSi_2AAAVEL-Y47eU208.jpg

wKiom1NlzUGgwEeRAAURlRhHL6k300.jpg

wKioL1NlzRew5j7YAAUQeRD_3Cc458.jpg

wKioL1NlzRizRWkoAAWKmIE62Xs770.jpg

wKiom1NlzULQzKZ5AAWQaJonZPk522.jpg

wKiom1NlzUPjpCooAAXZQC87_fw117.jpg

wKioL1NlzRnCz1tRAASj9jUga-c184.jpg

wKiom1NlzUSyGX53AAPhfw5wJT8554.jpg

wKioL1NlzRrBGSu1AAUyU94XP1A080.jpg

wKioL1NlzRuSX00OAAU0ClnxrPg290.jpg

wKiom1NlzUWxt0o_AATd7P14j3s622.jpg

wKioL1NlzRyhPnNPAATJi_ZlTCM250.jpg

wKiom1NlzUagaospAAUNgNran20326.jpg

wKioL1NlzR3AEh4bAAWyjeTEEX8753.jpg

wKiom1NlzUeSdHDyAAV38P1K45w861.jpg


本文出自 “fatherhome” 博客,请务必保留此出处http://andykbrave.blog.51cto.com/6231609/1406034