您的位置:首页 > 数据库 > Oracle

Oracle12cR1 RAC安装CRS

2013-07-21 14:01 113 查看
Oracle12cR1 RAC install

此文当包含Oracle12cR1 RAC真正应用集群的CRS安装

后续还会有DATABASE安装,NETCA及DBCA的整个过程 for 12cR1的RAC

本文只介绍CRS的安装过程

实验环境硬件介绍

华硕A43S笔记本

系统RHEL6.4_amd64

    虚拟化解决方案:QEMU-KVM

    节点(3个)配置如下:

        系统:RHEL6.4_amd64

        内存:1.8G

        cpu:2

        网卡:2

        硬盘:40G

    存储配置如下:

        系统:RHEL6.4_amd64

        内存:256M

        cpu:1

        网卡:1

        硬盘:sda(10G,系统)

             sdb(50G,共享)

             sdc(60G,共享)

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

注意:RHEL6.4在256M内存的环境下是安装不了的

笔者用的KVM虚拟化,所以安装的时候给512M的内存

安装完成后给其256M.

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

系统架构描述如下:

    节点(3个):CRS DATABASE 存储客户端 实例

        提供ORACLE的实例和CRS的集群架构,共享存储从存储服务器挂载

    存储:存储服务 DHCP DNS

        提供共享存储服务供各个节点挂载,提供DNCP服务分发IP,提供DNS服务,解决SCAN的单客户端的解析。

系统规划如下:

hosts配置如下:

192.168.0.70 racst #存储服务器

192.168.0.71 rac1  #255.255.255.0

192.168.0.72 rac2

192.168.0.73 rac3

192.168.10.71 priv1 #255.255.255.0

192.168.10.72 priv2

192.168.10.73 priv3

共享磁盘配置如下:

由racst主机共享sdb和sdc两块磁盘

分区规划如下:

    每个磁盘都分一个逻辑分区,在逻辑分区中分出5个主分区,详情如下

        sda

            adb5 4G

            sdb6 4G

            sdb7 10G

            sdb8 10G

            sdb9 20G

        sdb

            sdc5 4G

            sdc6 5G

            sdc7 10G

            sdc8 20G

            sdc9 20G

DHCP配置IP范围

    必须和public接口的IP在同一段配置192.168.0.40~49/24

用户配置

    笔者比较讨厌用户太多,所有从RAC创建到dbca结束,笔者打算只用两个组一个用户来解决问题

        用户:oracle

        群组:oinstall

             dba

下边正式进行racst主机的配置

[root@racst ~]# sed -i s/"SELINUX=aaa"/"SELINUX=disabled"/g /etc/sysconfig/selinux && setenforce 0

[root@racst ~]# /etc/init.d/iptables stop && chkconfig iptables off

[root@racst ~]# mount /dev/cdrom /media/ #将系统盘挂载media目录下配置yum,以便安装所需的包

[root@racst ~]# cat /etc/yum.repos.d/rhel-source.repo |grep -v ^#|grep -v ^$ #配置repo文件如下即可

[rhel-source]

name=Red Hat Enterprise Linux $releasever - $basearch - Source

baseurl=file:///media

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

1.配置存储

[root@racst ~]# yum -y install iscsi-initiator-utils.x86_64 scsi-target-utils.x86_64 #安装iscsi的服务包

[root@racst ~]# tail -n 6 /etc/tgt/targets.conf  #修改配置文件

<target iqn.rac:san.sdb>

backing-store /dev/vdb #共享存储为vdb

</target>

<target iqn.rac:san.sdc>

backing-store /dev/vdc #共享存储为vdc

</target>

[root@racst ~]# /etc/init.d/tgtd start    #启动iscsi服务

正在启动 SCSI target daemon:                              [确定]

[root@racst ~]# tgtadm --mode target --op show #查看已经共享的磁盘信息

Target 1: iqn.rac:san.sdb

    System information:

        Driver: iscsi

        State: ready

    I_T nexus information:

    LUN information:

        LUN: 0

            Type: controller

            SCSI ID: IET     00010000

            SCSI SN: beaf10

            Size: 0 MB, Block size: 1

            Online: Yes

            Removable media: No

            Prevent removal: No

            Readonly: No

            Backing store type: null

            Backing store path: None

            Backing store flags:

        LUN: 1

            Type: disk

            SCSI ID: IET     00010001

            SCSI SN: beaf11

            Size: 53689 MB, Block size: 512

            Online: Yes

            Removable media: No

            Prevent removal: No

            Readonly: No

            Backing store type: rdwr

            Backing store path: /dev/vdb

            Backing store flags:

    Account information:

    ACL information:

        ALL

Target 2: iqn.rac:san.sdc

    System information:

        Driver: iscsi

        State: ready

    I_T nexus information:

    LUN information:

        LUN: 0

            Type: controller

            SCSI ID: IET     00020000

            SCSI SN: beaf20

            Size: 0 MB, Block size: 1

            Online: Yes

            Removable media: No

            Prevent removal: No

            Readonly: No

            Backing store type: null

            Backing store path: None

            Backing store flags:

        LUN: 1

            Type: disk

            SCSI ID: IET     00020001

            SCSI SN: beaf21

            Size: 64427 MB, Block size: 512

            Online: Yes

            Removable media: No

            Prevent removal: No

            Readonly: No

            Backing store type: rdwr

            Backing store path: /dev/vdc

            Backing store flags:

    Account information:

    ACL information:

        ALL

[root@racst ~]# chkconfig --level 3 tgtd on

存储配置已经OK!

2.配置DHCP

[root@racst ~]# yum -y install dhcp

[root@racst ~]# cat /etc/dhcp/dhcpd.conf

ddns-update-style        none;

default-lease-time        259200;

max-lease-time            518400;

option broadcast-address    192.168.0.255; #广播地址

option domain-name-servers    192.168.0.70; #DNS服务器

subnet 192.168.0.0 netmask 255.255.255.0 {

    range 192.168.0.40    192.168.0.59;    #按以上规划40~49的范围

    option subnet-mask    255.255.255.0; #子网掩码

    option nis-domain    "rac.com"; #域

    option domain-name    "rac.com";

}

[root@racst ~]# /etc/init.d/dhcpd start

正在启动 dhcpd:                                           [确定]

[root@racst ~]# chkconfig --level 3 dhcpd on

至此DHCP服务配置成功!

3.配置DNS

[root@racst ~]# yum -y install bind-libs bind.x86_64 bind-utils.x86_64 bind-chroot.x86_64 #安装bind,以支持SCAN

[root@racst named]# cat /etc/named.conf |grep -v ^"//"|grep -v ^"$"    #配置这个文件和笔者的相同(需要修改的笔者会注释出来)

options {

    listen-on port 53 { any; };    #此处需要设置DNS所监听的本机IP,any是监听所有本机的IP地址

    listen-on-v6 port 53 { ::1; };

    directory     "/var/named";

    dump-file     "/var/named/data/cache_dump.db";

        statistics-file "/var/named/data/named_stats.txt";

        memstatistics-file "/var/named/data/named_mem_stats.txt";

    allow-query     { 192.168.0.0/24; };    #允许处理来自这段IP的DNS请求

    recursion yes;

    dnssec-enable yes;

    dnssec-validation yes;

    dnssec-lookaside auto;

    /* Path to ISC DLV key */

    bindkeys-file "/etc/named.iscdlv.key";

    managed-keys-directory "/var/named/dynamic";

};

logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

};

zone "." IN {

    type hint;

    file "named.ca";

};

################以下都是新添加的内容#################

zone "rac.com" IN {

    type master;

    file "rac.com.zone";    #此处的文件名省去了路径,应该是/var/named/rac.com.zone,正向解析区域。

    allow-update { none; };

};

zone "0.168.192.in-addr.arpa" IN {

    type master;

    file "0.168.192.aptr";    #此处的文件名省去了路径,应该是/var/named/0.168.192.aptr,PTR方向解析区域。

    allow-update { none; };

};

[root@racst ~]# cat /var/named/rac.com.zone #正向区域解析文件

$TTL 1D

@       IN SOA  @ rname.invalid. (

                    0    ; serial

                    1D    ; refresh

                    1H    ; retry

                    1W    ; expire

                    3H )    ; minimum

    NS    @

    A    192.168.0.69

    AAAA    ::1

racst    A    192.168.0.70

rac1    A    192.168.0.71

rac2    A    192.168.0.72

rac3    A    192.168.0.73

cluster    IN    1H    A    192.168.0.69

    IN    1H    A    192.168.0.71

    IN    1H    A    192.168.0.72

    IN    1H    A    192.168.0.73

[root@racst ~]# cat /var/named/0.168.192.aptr  #反向区域解析文件

$TTL 1D

@    IN SOA    @ rname.invalid. (

                    0    ; serial

                    1D    ; refresh

                    1H    ; retry

                    1W    ; expire

                    3H )    ; minimum

    NS    rac.com.

    A    192.168.0.69

    AAAA    ::1

70    PTR    racst.rac.com.

71    PTR    rac1.rac.com.

72    PTR    rac2.rac.com.

73    PTR    rac3.rac.com.

69    PTR    cluster.rac.com.

71      PTR     cluster.rac.com.

72      PTR     cluster.rac.com.

73      PTR     cluster.rac.com.

[root@racst ~]# rndc-confgen -r /dev/urandom -a

wrote key file "/etc/rndc.key"

[root@racst ~]# /etc/init.d/named start

启动 named:                                               [确定]

[root@racst ~]# chkconfig --level 3 named on

DNS服务至此已经配置成功!

节点配置

首先配置所有节点的通用配置

1.网络参数

DNS配置192.168.0.70

添加host文件如下:

192.168.0.70 racst

192.168.0.71 rac1

192.168.0.72 rac2

192.168.0.73 rac3

192.168.10.71 priv1

192.168.10.72 priv2

192.168.10.73 priv3

2.安装依赖包

[root@RAC1 ~]# mount /dev/cdrom /media/

mount: block device /dev/sr0 is write-protected, mounting read-only

[root@RAC1 ~]# cat /etc/yum.repos.d/rhel-source.repo

[rhel-source]

name=Red Hat Enterprise Linux $releasever - $basearch - Source

baseurl=file:///media

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[root@RAC1 ~]# yum -y install libXp.x86_64 libXp.i686 elfutils-libelf.x86_64 elfutils-libelf-devel.x86_64 compat-db.i686 compat-db.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 openmotif22.i686 openmotif22.x86_64 libaio-devel.i686 libaio-devel.x86_64 control-center.x86_64
make.x86_64 gcc.x86_64 sysstat.x86_64 libaio.i686 gcc-c++.x86_64 compat-libf2c-34.x86_64 compat-libf2c-34.i686 unixODBC.i686 unixODBC.x86_64 unixODBC-devel.i686 unixODBC-devel.x86_64  libgomp.x86_64 compat-libstdc++-33.x86_64 compat-libstdc++-33.i686 glibc.i686
glibc.x86_64 glibc-common.x86_64 glibc-devel.i686 glibc-devel.x86_64 glibc-headers.x86_64 libXmu.i686 libXmu.x86_64 libgcc.i686 libgcc.x86_64 kernel-headers.x86_64 libstdc++.i686 binutils.x86_64 libstdc++.x86_64 compat-libcap1.x86_64 ompat-libcap1.i686 smartmontools
iscsi-initiator-utils

3.存储配置

[root@RAC1 ~]# iscsiadm --mode discovery -t sendtargets --portal 192.168.0.70

[root@RAC1 ~]# fdisk -l|grep sd    #至此共享磁盘已经成功挂载

Disk /dev/sdb: 53.7 GB, 53689188352 bytes

Disk /dev/sda: 64.4 GB, 64426606592 bytes

按以上系统规划中的共享磁盘规划参数进行对磁盘分区如下

[root@RAC1 ~]# fdisk -l

Disk /dev/sda: 53.7 GB, 53689188352 bytes

64 heads, 32 sectors/track, 51202 cylinders

Units = cylinders of 2048 * 512 = 1048576 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xe375c85f

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1               1       51202    52430832    5  Extended

/dev/sda5               1        4097     4195296   83  Linux

/dev/sda6            4098        8194     4195312   83  Linux

/dev/sda7            8195       18435    10486768   83  Linux

/dev/sda8           18436       28676    10486768   83  Linux

/dev/sda9           28677       49157    20972528   83  Linux

Disk /dev/sdb: 64.4 GB, 64426606592 bytes

64 heads, 32 sectors/track, 61442 cylinders

Units = cylinders of 2048 * 512 = 1048576 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xf853f7a6

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1       61442    62916592    5  Extended

/dev/sdb5               1        4097     4195296   83  Linux

/dev/sdb6            4098        9218     5243888   83  Linux

/dev/sdb7            9219       19459    10486768   83  Linux

/dev/sdb8           19460       39940    20972528   83  Linux

/dev/sdb9           39941       60421    20972528   83  Linux

将共享的分区映射成raw磁盘文件

[root@RAC1 ~]# tail -n 20 /etc/udev/rules.d/60-raw.rules

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

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

ACTION=="add",KERNEL=="sda7",RUN+="/bin/raw /dev/raw/raw3 %N"

ACTION=="add",KERNEL=="sda8",RUN+="/bin/raw /dev/raw/raw4 %N"

ACTION=="add",KERNEL=="sda9",RUN+="/bin/raw /dev/raw/raw5 %N"

ACTION=="add",KERNEL=="sdb5",RUN+="/bin/raw /dev/raw/raw6 %N"

ACTION=="add",KERNEL=="sdb6",RUN+="/bin/raw /dev/raw/raw7 %N"

ACTION=="add",KERNEL=="sdb7",RUN+="/bin/raw /dev/raw/raw8 %N"

ACTION=="add",KERNEL=="sdb8",RUN+="/bin/raw /dev/raw/raw9 %N"

ACTION=="add",KERNEL=="sdb9",RUN+="/bin/raw /dev/raw/raw10 %N"

KERNEL=="raw1", OWNER=="oracle", GROUP="oinstall", MODE="644"

KERNEL=="raw2", OWNER=="oracle", GROUP="oinstall", MODE="644"

KERNEL=="raw3", OWNER=="oracle", GROUP="oinstall", MODE="660"

KERNEL=="raw4", OWNER=="oracle", GROUP="oinstall", MODE="660"

KERNEL=="raw5", OWNER=="oracle", GROUP="oinstall", MODE="660"

KERNEL=="raw6", OWNER=="oracle", GROUP="oinstall", MODE="660"

KERNEL=="raw7", OWNER=="oracle", GROUP="oinstall", MODE="660"

KERNEL=="raw8", OWNER=="oracle", GROUP="oinstall", MODE="660"

KERNEL=="raw9", OWNER=="oracle", GROUP="oinstall", MODE="660"

KERNEL=="raw10", OWNER=="oracle", GROUP="oinstall", MODE="660"

[root@RAC1 ~]# start_udev     #启动UDEV生成raw存储文件

正在启动 udev:                                            [确定]

[root@RAC1 ~]# ll /dev/raw/raw* #已经生成

crw-r--r--. 1 root root 162,  1 7月  21 09:12 /dev/raw/raw1

crw-rw----. 1 root root 162, 10 7月  21 09:12 /dev/raw/raw10

crw-r--r--. 1 root root 162,  2 7月  21 09:12 /dev/raw/raw2

crw-rw----. 1 root root 162,  3 7月  21 09:12 /dev/raw/raw3

crw-rw----. 1 root root 162,  4 7月  21 09:12 /dev/raw/raw4

crw-rw----. 1 root root 162,  5 7月  21 09:12 /dev/raw/raw5

crw-rw----. 1 root root 162,  6 7月  21 09:12 /dev/raw/raw6

crw-rw----. 1 root root 162,  7 7月  21 09:12 /dev/raw/raw7

crw-rw----. 1 root root 162,  8 7月  21 09:12 /dev/raw/raw8

crw-rw----. 1 root root 162,  9 7月  21 09:12 /dev/raw/raw9

crw-rw----. 1 root disk 162,  0 7月  21 09:12 /dev/raw/rawctl

4.用户,用户环境变量和目录配置

[root@RAC1 ~]# groupadd -g 1001 dba && groupadd -g 1002 oinstall && useradd -u 1001 -g oinstall -G dba oracle && passwd oracle && id nobody

[root@RAC1 ~]# su - oracle

[oracle@RAC1 ~]$ tail -n 20 .bash_profile

export ORACLE_BASE=/oracle
#export ORACLE_HOME=/oracle/12.0.1/dbsexport ORACLE_HOME=/oracle/12.0.1/dbsexport ORACLE_HOME=/oracle/12.0.1/dbs

export ORACLE_HOME=/crs/12.0.1/crs #安装的时候用这个变量,这个变量在配置grid实例的时候可以调用sqlplus

export ORACLE_SID=+ASM1 #这个变量在配置grid实例的时候自动配置asm的时候需要链接asm实例

export GRID_HOME=/crs/12.0.1/crs                        #从crs整合到GRID后,ORA_CRS_HOME变量好像失效了,用GRID_HOME,后来dbca的时候才发现的

export ORACLE_PATH=$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin

export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin

export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin

export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin

export ORACLE_TERM=xterm

export TNS_ADMIN=$ORACLE_HOME/network/admin

export ORA_NLS10=$ORACLE_HOME/nls/data

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib:/lib64:/usr/lib64:/usr/local/lib64

export CLASSPATH=$ORACLE_HOME/JRE

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib

export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib

export THREADS_FLAG=native

export TEMP=/tmp

export TMPDIR=/tmp

[oracle@RAC1 ~]$ mkdir ~/.ssh && chmod 700 ~/.ssh #创建ssh密钥目录

[oracle@RAC1 ~]$ exit

logout

[root@RAC1 ~]# mkdir /oracle && mkdir /crs

[root@RAC1 ~]# chown -R oracle.oinstall /oracle && chown -R oracle.oinstall /crs

5.系统参数和环境变量设置

[root@12CRACST ~]# echo "session  required   /lib64/security/pam_limits.so" >>/etc/pam.d/login    #修改登录验证方式

[root@RAC1 ~]# cat >> /etc/sysctl.conf << EOF      #修改内核参数

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 536870912

kernel.shmmni = 4096

# semaphores: semmsl, semmns, semopm, semmni

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default=262144

net.core.rmem_max=4194304

net.core.wmem_default=262144

net.core.wmem_max=1048586      

EOF

[root@RAC1 ~]# sysctl -p    #内核参数生效

[root@RAC1 ~]# cat >> /etc/security/limits.conf << EOF    #修改文件打开的句柄数

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

EOF

[root@12CRACST ~]# tail -8 /etc/profile    #此文件添加如下内容

if [ $USER = "oracle" ]; then

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

        ulimit -p 16384

        ulimit -n 65536

    else

    ulimit -u 16384 -n 65536

    fi

fi

系统配置完毕!!!

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

注意:以上均属于通用配置(除了racst,在所有节点上),笔者

由于用的是KVM虚拟机,所有笔者先安装了一个节点,让和做完上

述操作后,将虚拟机关机,然后克隆其他两个节点,然后修改IP和

主机名。

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

配置ssh互信

每个节点执行

[root@RAC1 ~]# su - oracle

[oracle@RAC1 ~]$ cd ~/.ssh && ssh-keygen -t rsa  #创建ssh密钥

在某个节点上执行(笔者以RAC1为例)

[oracle@RAC1 .ssh]$ ssh rac1 cat ~/.ssh/id_rsa.pub >> authorized_keys    #将密钥收集到一起

[oracle@RAC1 .ssh]$ ssh rac2 cat ~/.ssh/id_rsa.pub >> authorized_keys

[oracle@RAC1 .ssh]$ ssh rac3 cat ~/.ssh/id_rsa.pub >> authorized_keys

[oracle@RAC1 .ssh]$ scp authorized_keys known_hosts rac2:~/.ssh/ #然后分发下去(和known_hosts一起拷贝过去,第一次就不会提示是否接受密钥了)

[oracle@RAC1 .ssh]$ scp authorized_keys known_hosts rac3:~/.ssh/

测试

RAC1

[oracle@RAC1 .ssh]$ ssh rac3 date

2013年 07月 21日 星期日 10:29:39 CST

[oracle@RAC1 .ssh]$ ssh rac2 date

2013年 07月 21日 星期日 10:29:45 CST

RAC2

[oracle@RAC2 .ssh]$ ssh rac1 date

2013年 07月 21日 星期日 10:31:18 CST

[oracle@RAC2 .ssh]$ ssh rac3 date

2013年 07月 21日 星期日 10:31:22 CST

RAC3

[oracle@RAC3 .ssh]$ ssh rac1 date

2013年 07月 21日 星期日 10:29:54 CST

[oracle@RAC3 .ssh]$ ssh rac2 date

2013年 07月 21日 星期日 10:30:01 CST

拷贝grid安装包,然后解压,安装rpm

[oracle@RAC1 .ssh]$ exit

logout

[root@RAC1 src]# unzip linuxamd64_12c_grid_1of2.zip

[root@RAC1 src]# unzip linuxamd64_12c_grid_2of2.zip

[root@RAC1 src]# chown -R oracle.oinstall grid/

给其中一个节点安装图行界面,以方便安装,我这个将grid的包拷贝到RAC1了,所有我就给它安装图像界面

yum -y groupinstall "X Windows System"

yum -y groupinstall "Desktop"

init 5

如果有win,可以启一个Xmanage就省去这一步了,在允许runIstaller脚本之前设置环境变量

export DISPLAY=hostip:n.n 即可,hostip是指运行Xmanage的主机IP,n.n是指当启动xmanage的时候,将鼠标箭头放xmanage的右下角任务栏的托盘中会出现这个n.n的标识。

检测安装环境

./runcluvfy.sh stage -pre crsinst -n rac1,rac2,rac3  -fixup -fixupnoexec

报错:

ERROR:

引用数据不可用于验证此操作系统分发的先决条件

验证无法继续

NOTE:

没有要修复的可修复验证故障

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

注意:此错误在错误汇总里会有详细描述

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

运行runIstaller

xhost +;

su - oracle

/usr/src/grid/runIstaller

开始安装

集群名称:rac-cluster(随便起)

scan名称:dns服务器里设置的轮循解析域名cluster.rac.com

scan端口:1521

配置GNS

配置由动态分配节点虚拟IP

新建GNS

GNS的VIP:192.168.0.69

GNS子域:rac.com

下一步

添加节点(rac1,rac2,rac3)

下一步

192.168.0.0/24锻ip为公用

192.168.10.0/24段ip为SAM和专用

下一步

选是

下一步

更改搜索路经为/dev/raw

磁盘组名:QDSk

冗余:普通

分配单元大小1M

选择磁盘raw1,raw2,raw6

下一步

选择对着下账户使用同一口令输入

下一步

不使用智能平台接口

下一步

oracle asm管理员 DBA

oracle asm OSDBA组 OINSTALL

oracle asm osoper组 OINSTALL

下一步

oracle基本目录 /oracle

软件位置/oracle/12.0.1/rac_db

下一步

产品清单目录 /oracle/oraInventory

下一步

自动运行配置脚本 不打勾选手动(如果有错误容易陪查)

下一步

概要

下一步

开始安装

执行root配置脚本

在每个节点,以root身份运行两个脚本,必须一个节点一个节点执行,一个节点运行完毕后方可执行下一个节点的配置如下:

[root@RAC1 ~]# /oracle/oraInventory/orainstRoot.sh

更改权限/oracle/oraInventory.

添加组的读取和写入权限。

删除全局的读取, 写入和执行权限。

更改组名/oracle/oraInventory 到 oinstall.

脚本的执行已完成。

[root@RAC1 ~]# /crs/12.0.1/crs/root.sh

Performing root user operation for Oracle 12c

The following environment variables are set as:

    ORACLE_OWNER= oracle

    ORACLE_HOME=  /crs/12.0.1/crs

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

   Copying dbhome to /usr/local/bin ...

   Copying oraenv to /usr/local/bin ...

   Copying coraenv to /usr/local/bin ...

Creating /etc/oratab file...

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

Now product-specific root actions will be performed.

Using configuration parameter file: /crs/12.0.1/crs/crs/install/crsconfig_params

OLR initialization - successful

  root wallet

  root wallet cert

  root cert export

  peer wallet

  profile reader wallet

  pa wallet

  peer wallet keys

  pa wallet keys

  peer cert request

  pa cert request

  peer cert

  pa cert

  peer root cert TP

  profile reader root cert TP

  pa root cert TP

  peer pa cert TP

  pa peer cert TP

  profile reader pa cert TP

  profile reader peer cert TP

  peer user cert

  pa user cert

2013/07/21 21:04:09 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.conf'

CRS-4133: Oracle 高可用性服务已停止。

CRS-4123: Oracle 高可用性服务已启动。

CRS-4133: Oracle 高可用性服务已停止。

CRS-4123: Oracle 高可用性服务已启动。

CRS-2673: 尝试停止 'ora.drivers.acfs' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.drivers.acfs' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.evmd' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.mdnsd' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.mdnsd' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.evmd' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.gpnpd' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.gpnpd' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.cssdmonitor' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.gipcd' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.cssdmonitor' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.gipcd' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.cssd' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.diskmon' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.diskmon' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.cssd' (在 'rac1' 上)

已成功创建并启动 ASM。

已成功创建磁盘组QDSK。

CRS-2672: 尝试启动 'ora.crf' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.storage' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.storage' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.crf' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.crsd' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.crsd' (在 'rac1' 上)

CRS-4256: 更新概要文件

已成功添加表决磁盘 4a1541af13064f43bf8ec698b430678e。

已成功添加表决磁盘 c464a8f48de34fb0bf6bb99992a1c218。

已成功添加表决磁盘 35ec9972ab514f2fbff347b19d65a688。

已成功将表决磁盘组替换为 +QDSK。

CRS-4256: 更新概要文件

CRS-4266: 已成功替换表决文件

##  STATE    File Universal Id                File Name Disk group

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

 1. ONLINE   4a1541af13064f43bf8ec698b430678e (/dev/raw/raw1) [QDSK]

 2. ONLINE   c464a8f48de34fb0bf6bb99992a1c218 (/dev/raw/raw2) [QDSK]

 3. ONLINE   35ec9972ab514f2fbff347b19d65a688 (/dev/raw/raw6) [QDSK]

找到了 3 个表决磁盘。

CRS-2791: 正在启动用于关闭 'rac1' 上 Oracle 高可用性服务管理的资源的操作

CRS-2673: 尝试停止 'ora.crsd' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.crsd' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.ctssd' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.evmd' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.storage' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.mdnsd' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.gpnpd' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.drivers.acfs' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.storage' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.asm' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.drivers.acfs' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.gpnpd' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.mdnsd' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.evmd' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.ctssd' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.asm' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.cluster_interconnect.haip' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.cluster_interconnect.haip' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.cssd' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.cssd' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.crf' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.crf' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.gipcd' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.gipcd' (在 'rac1' 上)

CRS-2793: 关闭 'rac1' 上 Oracle 高可用性服务管理的资源的操作已完成

CRS-4133: Oracle 高可用性服务已停止。

CRS-4123: 正在启动 Oracle 高可用性服务管理的资源

CRS-2672: 尝试启动 'ora.mdnsd' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.evmd' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.mdnsd' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.evmd' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.gpnpd' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.gpnpd' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.gipcd' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.gipcd' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.cssdmonitor' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.cssdmonitor' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.cssd' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.diskmon' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.diskmon' (在 'rac1' 上)

CRS-2789: 由于资源 'ora.diskmon' 未在服务器 'rac1' 上运行, 无法停止该资源

CRS-2676: 成功启动 'ora.cssd' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.cluster_interconnect.haip' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.ctssd' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.ctssd' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.cluster_interconnect.haip' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.asm' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.asm' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.storage' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.storage' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.crf' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.crf' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.crsd' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.crsd' (在 'rac1' 上)

CRS-6023: 正在启动 Oracle 集群就绪服务管理的资源

CRS-6017: 正在处理以下服务器的资源自动启动: rac1

CRS-6016: 服务器 rac1 的资源自动启动已完成

CRS-6024: 已完成启动 Oracle 集群就绪服务管理的资源

CRS-4123: Oracle 高可用性服务已启动。

2013/07/21 21:12:51 CLSRSC-343: Successfully started Oracle clusterware stack

CRS-2672: 尝试启动 'ora.net1.network' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.net1.network' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.gns.vip' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.gns.vip' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.gns' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.gns' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.ASMNET1LSNR_ASM.lsnr' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.ASMNET1LSNR_ASM.lsnr' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.asm' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.asm' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.QDSK.dg' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.QDSK.dg' (在 'rac1' 上)

CRS-2791: 正在启动用于关闭 'rac1' 上 Oracle 高可用性服务管理的资源的操作

CRS-2673: 尝试停止 'ora.crsd' (在 'rac1' 上)

CRS-2790: 正在启动关闭 'rac1' 上集群就绪服务管理的资源的操作

CRS-2673: 尝试停止 'ora.cvu' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.rac1.vip' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.oc4j' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.QDSK.dg' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.LISTENER_SCAN3.lsnr' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.LISTENER_SCAN2.lsnr' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.LISTENER_SCAN1.lsnr' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.gns' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.LISTENER_SCAN3.lsnr' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.scan3.vip' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.LISTENER_SCAN2.lsnr' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.scan2.vip' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.LISTENER_SCAN1.lsnr' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.scan1.vip' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.cvu' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.rac1.vip' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.scan2.vip' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.scan3.vip' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.scan1.vip' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.gns' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.gns.vip' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.oc4j' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.gns.vip' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.QDSK.dg' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.asm' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.asm' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.ASMNET1LSNR_ASM.lsnr' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.ASMNET1LSNR_ASM.lsnr' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.ons' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.ons' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.net1.network' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.net1.network' (在 'rac1' 上)

CRS-2792: 关闭 'rac1' 上集群就绪服务管理的资源的操作已完成

CRS-2677: 成功停止 'ora.crsd' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.drivers.acfs' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.ctssd' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.evmd' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.storage' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.gpnpd' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.mdnsd' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.drivers.acfs' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.storage' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.asm' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.mdnsd' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.gpnpd' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.evmd' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.ctssd' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.asm' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.cluster_interconnect.haip' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.cluster_interconnect.haip' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.cssd' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.cssd' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.crf' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.crf' (在 'rac1' 上)

CRS-2673: 尝试停止 'ora.gipcd' (在 'rac1' 上)

CRS-2677: 成功停止 'ora.gipcd' (在 'rac1' 上)

CRS-2793: 关闭 'rac1' 上 Oracle 高可用性服务管理的资源的操作已完成

CRS-4133: Oracle 高可用性服务已停止。

CRS-4123: 正在启动 Oracle 高可用性服务管理的资源

CRS-2672: 尝试启动 'ora.mdnsd' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.evmd' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.evmd' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.mdnsd' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.gpnpd' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.gpnpd' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.gipcd' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.gipcd' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.cssdmonitor' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.cssdmonitor' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.cssd' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.diskmon' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.diskmon' (在 'rac1' 上)

CRS-2789: 由于资源 'ora.diskmon' 未在服务器 'rac1' 上运行, 无法停止该资源

CRS-2676: 成功启动 'ora.cssd' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.cluster_interconnect.haip' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.ctssd' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.ctssd' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.cluster_interconnect.haip' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.asm' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.asm' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.storage' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.storage' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.crf' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.crf' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.crsd' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.crsd' (在 'rac1' 上)

CRS-6023: 正在启动 Oracle 集群就绪服务管理的资源

CRS-6017: 正在处理以下服务器的资源自动启动: rac1

CRS-2672: 尝试启动 'ora.ons' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.cvu' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.oc4j' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.cvu' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.ons' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.scan3.vip' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.scan2.vip' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.scan1.vip' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.rac1.vip' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.scan2.vip' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.LISTENER_SCAN2.lsnr' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.oc4j' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.rac1.vip' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.scan1.vip' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.LISTENER_SCAN1.lsnr' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.LISTENER_SCAN2.lsnr' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.scan3.vip' (在 'rac1' 上)

CRS-2672: 尝试启动 'ora.LISTENER_SCAN3.lsnr' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.LISTENER_SCAN1.lsnr' (在 'rac1' 上)

CRS-2676: 成功启动 'ora.LISTENER_SCAN3.lsnr' (在 'rac1' 上)

CRS-6016: 服务器 rac1 的资源自动启动已完成

CRS-6024: 已完成启动 Oracle 集群就绪服务管理的资源

CRS-4123: Oracle 高可用性服务已启动。

2013/07/21 21:22:08 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded

三个节点全部执行完配置脚本之后点确定

然后完成最后的安装!

在任意一个节点用oracle用户执行如下脚本查看CRS的状态

[oracle@RAC1 oracle]$ crs_stat -t

Name           Type           Target    State     Host        

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

ora....SM.lsnr ora....er.type ONLINE    ONLINE    rac1        

ora....ER.lsnr ora....er.type ONLINE    ONLINE    rac1        

ora....AF.lsnr ora....er.type OFFLINE   OFFLINE               

ora....N1.lsnr ora....er.type ONLINE    ONLINE    rac2        

ora....N2.lsnr ora....er.type ONLINE    ONLINE    rac3        

ora....N3.lsnr ora....er.type ONLINE    ONLINE    rac1        

ora.MGMTLSNR   ora....nr.type OFFLINE   OFFLINE               

ora.QDSK.dg    ora....up.type ONLINE    ONLINE    rac1        

ora.asm        ora.asm.type   ONLINE    ONLINE    rac1        

ora.cvu        ora.cvu.type   ONLINE    ONLINE    rac1        

ora.gns        ora.gns.type   ONLINE    ONLINE    rac1        

ora.gns.vip    ora....ip.type ONLINE    ONLINE    rac1        

ora....network ora....rk.type ONLINE    ONLINE    rac1        

ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    rac1        

ora.ons        ora.ons.type   ONLINE    ONLINE    rac1        

ora.proxy_advm ora....vm.type ONLINE    ONLINE    rac1        

ora....C1.lsnr application    ONLINE    ONLINE    rac1        

ora.rac1.ons   application    ONLINE    ONLINE    rac1        

ora.rac1.vip   ora....t1.type ONLINE    ONLINE    rac1        

ora....C2.lsnr application    ONLINE    ONLINE    rac2        

ora.rac2.ons   application    ONLINE    ONLINE    rac2        

ora.rac2.vip   ora....t1.type ONLINE    ONLINE    rac2        

ora....C3.lsnr application    ONLINE    ONLINE    rac3        

ora.rac3.ons   application    ONLINE    ONLINE    rac3        

ora.rac3.vip   ora....t1.type ONLINE    ONLINE    rac3        

ora.scan1.vip  ora....ip.type ONLINE    ONLINE    rac2        

ora.scan2.vip  ora....ip.type ONLINE    ONLINE    rac3        

ora.scan3.vip  ora....ip.type ONLINE    ONLINE    rac1

#######################错误汇总##############################

错误install log显示如下

SEVERE: CVU do not support target environment..

Refer associated stacktrace #oracle.install.ivw.common.validator.SupportedOSValidator:423

INFO: Completed verification of target environment.

WARNING: Verification of target environment returned with errors.

WARNING: [WARNING] [INS-13001] 环境不满足最低要求。

   原因: 此环境不满足最低要求

   操作: 请查看日志以了解详细信息, 或者检查此产品的支持配置。

此错误是可以忽略的笔者此处由于是测试安装所有忽略了打这个补丁。

解决:
http://blog.chinaunix.net/uid-28887495-id-3753991.html ############################################################

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

本文由笔者原创

作者:john

转载请注明出处
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息