4节点RAC安装建库总结

 

以一个四节点为例详细讲解RAC的安装和建库:

安装规划:
1,本地磁盘规划
GDGZ-DCS-SV01C-RAC01:~ # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              19G  2.7G   16G  15% /
udev                   12G  152K   12G   1% /dev
/dev/sda5              51G   33M   50G   1% /home
/dev/sda6              43G   15G   28G  36% /opt
/dev/sda7              11G   33M   10G   1% /temp
shm                    29G  5.9G   24G  21% /dev/shm

需要在opt下新建/opt/oracle /opt/orabak /opt/oracrs三个目录

2,各节点IP规划
#RAC01
172.26.1.85  GDGZ-DCS-SV01C-RAC01
172.26.250.85    GDGZ-DCS-SV01C-RAC01_base
172.26.1.185  GDGZ-DCS-SV01C-RAC01_vip

#RAC02
172.26.1.86  GDGZ-DCS-SV02C-RAC01
172.26.250.86    GDGZ-DCS-SV02C-RAC01_base
172.26.1.186  GDGZ-DCS-SV02C-RAC01_vip


#RAC03
172.26.1.87  GDGZ-DCS-SV03C-RAC01
172.26.250.87    GDGZ-DCS-SV03C-RAC01_base
172.26.1.187  GDGZ-DCS-SV03C-RAC01_vip

#RAC04
172.26.1.88  GDGZ-DCS-SV04C-RAC01
172.26.250.88    GDGZ-DCS-SV04C-RAC01_base
172.26.1.188  GDGZ-DCS-SV04C-RAC01_vip

上面的别名建议简化成rac01,rac01_private,rac01_vip

3,扩展磁盘规划(或者说DG规划)
Disk /dev/sdb: 1275.6 GB, 1275605286912 bytes
255 heads, 63 sectors/track, 155083 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/sdc: 418.7 GB, 418759311360 bytes
255 heads, 63 sectors/track, 50911 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdc doesn't contain a valid partition table

Disk /dev/sdd: 98.7 GB, 98784247808 bytes
255 heads, 63 sectors/track, 12009 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdd doesn't contain a valid partition table


规划sdb-datadg sdc-idxdg sdd-系统用
sdd1-ocr disk(CRS 集群注册信息盘)1G即可
sdd2-voting disk(CRS锁盘)1G即可
sdd3-dg_ora(系统库表空间)
sdb-dg_data(业务库数据表空间)
sdc- dg_idx(业务库索引表空间)

fdisk /dev/sdd
Disk /dev/sdd: 98.7 GB, 98784247808 bytes
255 heads, 63 sectors/track, 12009 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1               1         123      987966   83  Linux
/dev/sdd2             124         246      987997+  83  Linux
/dev/sdd3             247       12009    94486297+  83  Linux

其中系统库表空间规划如下(单位:M)
system 16384
sysaux 8192
temp 4096
undo1 6820
undo2 6820
undo3 6820
undo4 6820
users  1024
log1 4096
log2 4096
log3 4096
log4 4096
log5 4096
log6 4096
log7 4096
log8 4096
因 为有4个节点,所以有4个undo表空间,每个节点2个log文件。

 

安装准备:
1,由于需要使用图形终端安装CRS/ASM实例/建库等,需要开通xmanager图形服务

# yast remote
弹出“remote administrator”管理界面,移动光标选中“Allow Remote Administration”,然后点击ALT+F组合键,完成设置。

手工执行一次“rcxdm restart”命令
# rcxdm restart

2,用户和组的创建设置

2.1  创建名为dba的操作系统组
以root用户登陆,分别在RAC各节点上执行。
【检查命令】
# grep dba /etc/group
无输出则表示dba组不存在。如果dba组已存在,则使用以下命令删除dba组。
【删除命令】
# groupdel dba
【创建命令】
# groupadd -g 200 dba
2.2  创建名为oinstall的操作系统组
以root用户登陆,分别在RAC各节点上执行。
【检查命令】
# grep oinstall /etc/group
无输出则表示oinstall组不存在。如果oinstall组已存在,则使用以下命令删除 oinstall组。
【删除命令】
# groupdel oinstall
【创建命令】
# groupadd -g 201 oinstall
2.3  创建名为oracle的操作系统用户
以root用户登陆,分别在RAC各节点上执行。
【检查 命令】
# grep oracle /etc/passwd
无输出则表示Oracle用户不存在。如果Oracle用户已存在,则使用以 下命令删除Oracle用户。
【删除命令】
# userdel -rf oracle
【创建命令】
# useradd -u 300 -g oinstall -G dba -d /home/oracle -s /bin/bash -m oracle
【命令说 明】
用户名为oracle,隶属于dba组。
2.4  为oracle用户建立密码
以root用户登陆,分别在RAC各节点上执 行。
【命令】
# passwd oracle
Changing password for oracle.
New Password:
Reenter New Password:
Password changed.
2.5  赋予目录正确的权限
以root用户登陆,分别在RAC各节点上执行
【命令】
# chown -R oracle:dba /opt/oracle
# chmod -R 770 /opt/oracle
# chown -R oracle:dba /opt/oracrs
# chmod -R 770 /opt/oracrs
# chown -R oracle:dba /opt/orabak
# chmod -R 770 /opt/orabak


3,设置oracle用户环境变量

vi /home/oracle/.profile添加

# Oracle Environment
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11g/db
export ORA_CRS_HOME=/opt/oracrs
export ORACLE_SID=ORA1
export ORACLE_TERM=xterm
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$ORACLE_HOME/rdbms/lib
export LD_LIBRARY_PATH
SHLIB_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/rdbms/lib32
export SHLIB_PATH
# Set shell search paths:
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/usr/sbin:$PATH:/usr/local/bin:$ORA_CRS_HOME/bin
# CLASSPATH must include the following JRE locations:
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export NLS_LANG=AMERICAN_AMERICA.UTF8

export TNS_ADMIN=/opt/oracle/product/11g/db/network/admin(方便后面建ASM实例时建立监听服务)
export DISPLAY=172.26.250.121:0.0(方便使用图形终端,避免反复设置)

4,配置/etc/hosts文件,将前面规划的各节点IP写进去,方便各节点安装设置同步
添加如下内容
#RAC01
172.26.1.85  GDGZ-DCS-SV01C-RAC01
172.26.250.85    GDGZ-DCS-SV01C-RAC01_base
172.26.1.185  GDGZ-DCS-SV01C-RAC01_vip

#RAC02
172.26.1.86  GDGZ-DCS-SV02C-RAC01
172.26.250.86    GDGZ-DCS-SV02C-RAC01_base
172.26.1.186  GDGZ-DCS-SV02C-RAC01_vip


#RAC03
172.26.1.87  GDGZ-DCS-SV03C-RAC01
172.26.250.87    GDGZ-DCS-SV03C-RAC01_base
172.26.1.187  GDGZ-DCS-SV03C-RAC01_vip

#RAC04
172.26.1.88  GDGZ-DCS-SV04C-RAC01
172.26.250.88    GDGZ-DCS-SV04C-RAC01_base
172.26.1.188  GDGZ-DCS-SV04C-RAC01_vip

5,建立RAC各节点信任关系
在各RAC节点生成密钥文件
su - oracle
ssh-keygen -t rsa
ssh-keygen -t dsa
RAC1节点制作RAC1的RSA/DSA合成密钥文件
cd .ssh
cat id_rsa.pub >> authorized_keys
cat id_dsa.pub >> authorized_keys

将RAC1合成密钥文件上传到RAC2
scp authorized_keys GDSZ-DCS-SV02C-RAC01:/home/oracle/.ssh/
将RAC2的RSA/DSA密钥文件分别合成到 authorized_keys
cd .ssh
cat id_rsa.pub >> authorized_keys
cat id_dsa.pub >> authorized_keys

将RAC2合成密钥文件上传到RAC3
scp authorized_keys GDSZ-DCS-SV03C-RAC01:/home/oracle/.ssh/
将RAC3的RSA/DSA密钥文件分别合成到 authorized_keys
cd .ssh
cat id_rsa.pub >> authorized_keys
cat id_dsa.pub >> authorized_keys

将rac3上的authorized_keys文件复制到rac1、rac2
scp authorized_keys GDSZ-DCS-SV01C-RAC01:/home/oracle/.ssh/
scp authorized_keys GDSZ-DCS-SV02C-RAC01:/home/oracle/.ssh/

更新rac1的主机列表known_hosts
ssh GDSZ-DCS-SV01C-RAC01
ssh GDSZ-DCS-SV01C-RAC01_base

ssh GDSZ-DCS-SV02C-RAC01
ssh GDSZ-DCS-SV02C-RAC01_base

ssh GDSZ-DCS-SV03C-RAC01
ssh GDSZ-DCS-SV03C-RAC01_base


将rac1上的known_hosts文件拷贝至其他节点
cd .ssh
scp known_hosts GDSZ-DCS-SV02C-RAC01:/home/oracle/.ssh/
scp known_hosts GDSZ-DCS-SV03C-RAC01:/home/oracle/.ssh/

 

6,时钟同步
先选一个节点做时钟服务器(也可以选局域网内的其他节点)
再在其他节点做客户端配置

选定172.26.250.100(uoa)做本地时钟服务器
chkconfig ntp on
service ntp start
(上面的效果和/etc/rc.d/ntp stop/start 关闭/启动ntp服务

/etc/init.d/ntp stop/start关闭/启动ntp服务

一样)
GDGZ-DCS-SV01S-UOA:~ # /etc/init.d/ntp status
Checking for network time protocol daemon (NTPD):                     running

四个RAC节点作为客户端执行
ntpdate 172.26.250.100

同时修改/etc/ntp.conf中的server地址为172.26.250.100

再执行
chkconfig ntp on
service ntp start

 

7,调整操作系统参数(可选)

8,DG的划分
fdisk /dev/sdx
# vi /etc/init.d/after.local
modprobe raw
raw /dev/raw/raw1 /dev/sdd1
raw /dev/raw/raw2 /dev/sdd2
raw /dev/raw/raw3 /dev/sdd3
raw /dev/raw/raw4 /dev/sdb
raw /dev/raw/raw5 /dev/sdc

sleep 5

chown root:oinstall /dev/raw/raw1
chown oracle:oinstall /dev/raw/raw2
chown oracle:dba /dev/raw/raw3
chown oracle:dba /dev/raw/raw4
chown oracle:dba /dev/raw/raw5

sleep 5

chmod 775 /dev/raw/raw1
chmod 775 /dev/raw/raw2
chmod 775 /dev/raw/raw3
chmod 775 /dev/raw/raw4
chmod 775 /dev/raw/raw5

# chmod u+x /etc/init.d/after.local
# /etc/init.d/after.local

三,安装CRS
1,上传安装介质
将安装软件上传到rac1的/opt/orabak中,目录结构如下:
/opt/orabak/linux.x64_11gR1_clusterware.zip
解 压缩安装文件,并赋予权限。
【命令】
# cd /opt/orabak
# unzip /opt/orabak/linux.x64_11gR1_clusterware.zip
# chmod 777 -R /opt/orabak/clusterware
# chown oracle:dba -R /opt/orabak/clusterware
2, 创建Inventory目录
在RAC各节点上创建目录/opt/oracle/oraInventory,并使oracle:dba为其所有者。
【命 令】
# mkdir /opt/oracle/oraInventory
# chown oracle:dba /opt/oracle/oraInventory
# chmod 755 /opt/oracle/oraInventory
3,设置 DISPLAY环境变量
(1) 切换到oracle用户
# su - oracle
(2) 设置DISPLAY环境变量
如 果是直接连接到主机的终端上进行安装,执行:
$ export DISPLAY=localhost:0.0
本次,我通过在远程终端上进 行安装,执行:
$ export DISPLAY=172.27.250.247:0.0
4,集群安装校验(rac1上oracle执 行)
 cd /opt/orabak/clusterware
./runcluvfy.sh stage -pre crsinst -n GDSZ-DCS-SV01C-RAC01,GDSZ-DCS-SV02C-RAC01,GDSZ-DCS-SV03C-RAC01

5,启动Universal Installer安装界面
用oracle用户登陆节点1启动OUI进行安装
/opt/orabak/clusterware/runInstaller

安装过程中涉及填写各RAC节点信息,OCR/VOTING DISK盘位置指定(所以要求在其他两个节点也激活raw1/raw2)。
安 装即将结束时,会提示用root用户执行orainstRoot.sh和root.sh脚本。
新开一个SHELL窗口,在Rac中所有的节点下, 依次执行以下命令。
$ su – root
# cd /opt/oracle/oraInventory/
# ./orainstRoot.sh
# cd /opt/oracrs/
# ./root.sh


启动crs服务(以root用户在所有rac节点执行)
/etc/init.d/init.crs start

检查CRS是否安装成功
cd /opt/oracrs/bin
./crs_stat -t

GDSZ-DCS-SV01C-RAC01:/opt/oracrs # cd /opt/oracrs/bin
GDSZ-DCS-SV01C-RAC01:/opt/oracrs/bin # ./crs_stat -t
Name           Type           Target    State     Host
------------------------------------------------------------
ora....c01.gsd application    ONLINE    ONLINE    gdsz...ac01
ora....c01.ons application    ONLINE    ONLINE    gdsz...ac01
ora....c01.vip application    ONLINE    ONLINE    gdsz...ac01
ora....c01.gsd application    ONLINE    ONLINE    gdsz...ac01
ora....c01.ons application    ONLINE    ONLINE    gdsz...ac01
ora....c01.vip application    ONLINE    ONLINE    gdsz...ac01
ora....c01.gsd application    ONLINE    ONLINE    gdsz...ac01
ora....c01.ons application    ONLINE    ONLINE    gdsz...ac01
ora....c01.vip application    ONLINE    ONLINE    gdsz...ac01


每个host节点必须有gsd/ons/vip三个资源,如果gsd、ons、vip这3个节点应用资源已经成功的在RAC各个节点上启动 了,则表明CRS已经安装成功。


四,ORACLE安装
1,上传安装介质
将安装软件上传到rac1的/opt/orabak中,目录结构如下:
/opt/orabak/linux.x64_11gR1_database.zip
解 压缩安装文件,并赋予权限。
【命令】
# cd /opt/orabak
# unzip /opt/orabak/linux.x64_11gR1_database.zip
# chmod 777 -R /opt/orabak/database
# chown oracle:dba -R /opt/orabak/database

2,启动Universal Installer安装界面
涉及到选择其他RAC节点,安装时不要建库,只需安装软件。快结束时执行 root.sh
新开一个SHELL窗口,在Rac中所有的节点下,依次执行以下命令。
$ su – root
# cd /opt/oracle/product/11g/db/
# ./root.sh


五,安装oracle补丁
1,上传介质
将安装软件拷贝到RAC各节点的/opt/orabak中:
/opt /orabak/p6890831_111070_Linux-x86-64.zip--crs补丁(解压后生成Disk1目录)
/opt /orabak/p9207257_111070_Linux-x86-64.zip--oracle补丁(解压后生成9207257目录)
/opt/orabak/p6880880_111000_Linux-x86-64.zip---Opatch
2, 安装crs补丁
2.1  停止CRS
以root用户登陆RAC各节点,执行以下命令。
# cd /opt/oracrs/install
# ./preupdate.sh

GDSZ-DCS-SV03C-RAC01:/opt/oracrs/install # ./preupdate.sh
Shutting down Oracle Cluster Ready Services (CRS):
Aug 07 16:04:21.338 | INF | daemon shutting down
Stopping resources.
This could take several minutes.
Successfully stopped Oracle Clusterware resources
Stopping Cluster Synchronization Services.
Shutting down the Cluster Synchronization Services daemon.
Shutdown request successfully issued.
Shutdown has begun. The daemons should exit soon.
Checking to see if Oracle CRS stack is down...
Oracle CRS stack is down now.

GDSZ-DCS-SV03C-RAC01:/opt/oracrs/bin # ./crs_stat -t
CRS-0184: Cannot communicate with the CRS daemon.

 

2.2  安装CRS补丁
以oracle用户登陆rac1,进入/opt/orabak/Disk1目录,执行安装程序。
$ export ORACLE_HOME=/opt/oracrs
$ cd /opt/orabak
$ cd Disk1
$./runInstaller

快结束时
新开一个SHELL窗口,在Rac中所有的节点下,依次执行以下命令。
$ su – root
# /opt/oracrs/bin/crsctl stop crs
# /opt/oracrs/install/root111.sh

 

3,安装Oracle 11.1.0.7.2补丁
3.1 升级opatch到11.1.0.8.1
安装/opt/orabak /p6880880_111000_Linux-x86-64.zip
 $opatch lsinventory
Invoking OPatch 11.1.0.8.1

Oracle Interim Patch Installer version 11.1.0.8.1
Copyright (c) 2010, Oracle Corporation.  All rights reserved.


3.2 安装9207257补丁
【以下操作需要在RAC所有节点上执行】
以root用户登陆各节点,在安装补丁前,需要将 RAC停掉。
# /etc/init.d/init.crs stop
# /opt/orabak/9207257/custom/scripts/prerootpatch.sh -crshome /opt/oracrs -crsuser oracle

GDSZ-DCS-SV01C-RAC01:/opt/orabak # /opt/orabak/9207257/custom/scripts/prerootpatch.sh -crshome /opt/oracrs -crsuser oracle
Checking to see if Oracle CRS stack is down...
Oracle CRS stack is down now.

scp p9207257_111070_Linux-x86-64.zip GDSZ-DCS-SV02C-RAC01:/opt/orabak
scp p9207257_111070_Linux-x86-64.zip GDSZ-DCS-SV03C-RAC01:/opt/orabak

以oracle用户登陆各节点,执行下列操作。
# su – oracle
$ cd /opt/orabak/9207257
$ custom/scripts/prepatch.sh -crshome /opt/oracrs
$ custom/server/9207257/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME
$ opatch napply -local -oh /opt/oracrs -id 9207257
$ opatch napply custom/server/ -local -oh $ORACLE_HOME -id 9207257
$ custom/scripts/postpatch.sh -crshome /opt/oracrs
$ custom/server/9207257/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME
以 root用户登陆各节点,执行以下命令。
# custom/scripts/postrootpatch.sh -crshome /opt/oracrs
此时RAC将被启动。


六,建立ASM实例
1,检查CRS是否启动正常
2,使用操作系统oracle用户调用DBCA进行安装
$ dbca
选择“Oracle Real Application Clusters database”
下面出现“Create a Database”和“Configure Automatic Storage Management”选择界面时选择“Configure Automatic Storage Management”

后面涉及选择所有RAC节点,设置SYS密码,选择裸设备创建DG时,按前面的规划建立dg_ora(/dev/raw /raw3),dg_data(/dev/raw/raw4),dg_idx(/dev/raw/raw5)

 

七,建立数据库

1,检查CRS是否启动正常
2,使用操作系统oracle用户调用DBCA进行安装
$ dbca
选择“Oracle Real Application Clusters database”
下面出现“Create a Database”和“Configure Automatic Storage Management”选择界面时选择“Create a database”

后面涉及选择所有RAC节点,选择“Custom Database”,指定数据库全局名和SID前缀,两个名字请保持一致,设置SYS/SYSTEM密码,选择ASM管理等


3,建库完成后所有节点的状态:
oracle@GDSZ-DCS-SV03C-RAC01:~> crs_stat -t
Name           Type           Target    State     Host
------------------------------------------------------------
ora....01.inst application    ONLINE    ONLINE    gdsz...ac01
ora....02.inst application    ONLINE    ONLINE    gdsz...ac01
ora....03.inst application    ONLINE    ONLINE    gdsz...ac01
ora.ORA0.db    application    ONLINE    ONLINE    gdsz...ac01
ora....SM1.asm application    ONLINE    ONLINE    gdsz...ac01
ora....01.lsnr application    ONLINE    ONLINE    gdsz...ac01
ora....c01.gsd application    ONLINE    ONLINE    gdsz...ac01
ora....c01.ons application    ONLINE    ONLINE    gdsz...ac01
ora....c01.vip application    ONLINE    ONLINE    gdsz...ac01
ora....SM2.asm application    ONLINE    ONLINE    gdsz...ac01
ora....01.lsnr application    ONLINE    ONLINE    gdsz...ac01
ora....c01.gsd application    ONLINE    ONLINE    gdsz...ac01
ora....c01.ons application    ONLINE    ONLINE    gdsz...ac01
ora....c01.vip application    ONLINE    ONLINE    gdsz...ac01
ora....SM3.asm application    ONLINE    ONLINE    gdsz...ac01
ora....01.lsnr application    ONLINE    ONLINE    gdsz...ac01
ora....c01.gsd application    ONLINE    ONLINE    gdsz...ac01
ora....c01.ons application    ONLINE    ONLINE    gdsz...ac01
ora....c01.vip application    ONLINE    ONLINE    gdsz...ac01

4,增加service_srv
su - oracle
$ cd $ORA_CRS_HOME
$ cd bin
$ ./srvctl add service -d ORA -s service_ora -r "ORA1,ORA2,ORA3,ORA4" -P BASIC

./srvctl start service -d ORA -s service_ora


5,修改spfile保存位置为dg_ora(默认装在+DG_DATA/ORA/spfileORA.ora)

 

$ sqlplus /nolog
sql> conn /as sysdba;
sql> create pfile ='/opt/oracle/initora.ora' from spfile;
sql> exit
$ cd /opt/oracle
$ vi initora.ora
.......
*.remote_listener=''                                   //修改此参数,设置为空
*._optim_peek_user_binds='false'                        //增加隐含参数
*._b_tree_bitmap_plans='false'                          //增加隐含参数
........e
--保存退出
$ sqlplus /nolog
sql> conn /as sysdba;
--在新的路径下创建spfile
sql> create spfile = '+DG_ORA/ORA/spfileORA.ora' from pfile = '/opt/oracle/initora.ora';
File Created

--在RAC节点1上执行:
$ srvctl stop database -d ora
--查看各节点实例状态,需要确保实例各 节点实例全部关闭
$ /opt/oracrs/bin/crs_stat -t|grep inst


Name           Type           Target    State     Host
------------------------------------------------------------
ora.ora11g.db  application    OFFLINE    OFFLINE    rac1
ora....g1.inst application    OFFLINE    OFFLINE    rac1
ora....g2.inst application    OFFLINE    OFFLINE    rac2
ora....g3.inst application    OFFLINE    OFFLINE    rac3
ora....g4.inst application    OFFLINE    OFFLINE    rac4
……………
--分别登陆 rac1,rac2,rac3,rac4,修改$ORACLE_HOME/dbs目录下的initora1.ora、initora2.ora、 initora3.ora、initora4.ora。
$ cd $ORACLE_HOME/dbs
$ vi initora1.ora
SPFILE='+DG_ORA/ora/spfileora.ora'
-- 保存退出
--在rac1上执行:
$ srvctl modify database -d ora -p +DG_ORA/ORA/spfileORA.ora
(此语句作用是临时指定启动时从哪个路径读取参数文件)
正因为这样,如果设置过程出 错导致无法启动DB,可以从默认的DG_DATA下的spfile临时启动
(srvctl modify database -d ora -p +DG_DATA/ORA/spfileORA.ora)


--在rac1上重新启动实例
$ srvctl start database -d ora
$ sqlplus /nolog
sql> conn /as sysdba;
sql> show parameter spfile ;
NAME      TYPE    VALUE
------- ------- ------------------------------
spfile   string  +DG_ORA/ora/spfileora.ora

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值