oracle11g内存数据库,Oracle11g 物理standby数据库的搭建

一、实验环境

主库配置:

操作系统:win7 64bit

Oracle数据库: Oracle 11.2.0.1

IP地址:127.0.0.1

db_unique_name:orcl

oracle_sid:orcl

备库配置:

操作系统:win7 64bit

ORACLE数据库: Oracle 11.2.0.1

IP地址:127.0.0.1

oracle_sid: pdb

db_unique_name:pdb_orcl

注意:主库和备库的DB_NAME必须一致,即orcl

二、主库配置

1.归档模式

SQL> archive log list

数据库日志模式            存档模式

自动存档            启用

存档终点            E:\ora_arch

最早的联机日志序列    4

下一个存档日志序列  6

当前日志序列          6

2.查看db_unqie_name

SQL> show parameter db_unique_name

NAME                                TYPE                  VALUE

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

db_unique_name                      string                orcl

3.force logging模式

SQL> select force_logging from v$database;

FORCE_

------

YES

如果是NO,需要进行修改

SQL>alter database force logging;

4.配置tnsnames.ora

ORCL =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = kermart)(PORT = 1521))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

PDB =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = kermart)(PORT = 1521))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = pdb)

)

)

5.参数文件

通过pfile的方式批量修改需要配置的参数,添加如下参数:

*.db_file_name_convert='D:\oradata\pdb','C:\app\Administrator\oradata\orcl'

*.fal_client='pdb'

*.fal_server='orcl'

*.log_archive_config='DG_CONFIG=(orcl,pdb_orcl)'

*.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl'

*.log_archive_dest_2='SERVICE=pdb LGWR VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=pdb_orcl'

*.log_file_name_convert='D:\oradata\pdb','C:\app\Administrator\oradata\orcl'

*.standby_file_management='AUTO'

6.通过pfile创建spfile

SQL>shutdown immediate

SQL> create spfile from pfile;

文件已创建。

SQL> startup

ORACLE 例程已经启动。

Total System Global Area 1235959808 bytes

Fixed Size                  2175288 bytes

Variable Size            989859528 bytes

Database Buffers          234881024 bytes

Redo Buffers                9043968 bytes

数据库装载完毕。

数据库已经打开。

SQL>

三、备库配置

1.创建配置的instance service

C:\>oradim -NEW -SID pdb -startmode manual

实例已创建。

2.配置tnsnames.ora

ORCL =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = kermart)(PORT = 1521))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

PDB =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = kermart)(PORT = 1521))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = pdb)

)

)

主库和备库的tnsnames.ora保持一致。

3.配置监听

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = CLRExtProc)

(ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)

(PROGRAM = extproc)

(ENVS = "EXTPROC_DLLS=ONLY:C:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")

)

--添加静态静态

(SID_DESC =

(GLOBAL_DBNAME = pdb)

(ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)

(SID_NAME = pdb)

)  )

4.创建必要的目录

C:\>mkdir -p C:\app\Administrator\admin\pdb

C:\>mkdir -p C:\app\Administrator\admin\pdb\adump

C:\>mkdir -p D:\oradata\archlog

C:\>mkdir -p C:\app\Administrator\flash_recovery_area\pdb

5.配置参数文件

将主库的pfile复制一份就行修改

*.db_create_file_dest='D:\oradata\pdb'

*.db_unique_name='pdb_orcl'

*.db_file_name_convert='C:\app\Administrator\oradata\orcl','D:\oradata\pdb'

*.fal_client='pdb'

*.fal_server='orcl'

*.log_archive_config='DG_CONFIG=(pdb_orcl,orcl)'

*.log_archive_dest_1='LOCATION=D:\oradata\archlog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=pdb_orcl'

*.log_archive_dest_2='SERVICE=orcl LGWR VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl'

*.log_file_name_convert='C:\app\Administrator\oradata\orcl','D:\oradata\pdb'

*.standby_file_management='AUTO'

6.创建口令文件

将主库下的口令文件拷贝一份,重命名即可,当然也可以创建,注意密码要跟主库保持一致。

mv PWDorcl.ora PWDpdb.ora

三、创建physical standby database

创建物理standby有两种方式:

1)基于备份集创建

2)从活动的主库直接复制

选择2)直接复制

1.查看监听状态

C:\>lsnrctl status

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 28-4月 -2014 11:14:04

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=kermart)(PORT=1521)))

LISTENER 的 STATUS

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

别名                      LISTENER

版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production

启动日期                  28-4月 -2014 11:13:43

正常运行时间              0 天 0 小时 0 分 22 秒

跟踪级别                  off

安全性                    ON: Local OS Authentication

SNMP                      OFF

监听程序参数文件          C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora

监听程序日志文件          c:\app\administrator\diag\tnslsnr\kermart\listener\alert\log.xml

监听端点概要...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=kermart)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))

服务摘要..

服务 "CLRExtProc" 包含 1 个实例。

实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

服务 "orcl" 包含 1 个实例。

实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...

服务 "orclXDB" 包含 1 个实例。

实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...

服务 "pdb" 包含 1 个实例。

实例 "pdb", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

命令执行成功

2.通过pfile将备库启动到NOMOUNT状态

SQL> startup nomount pfile='C:\app\Administrator\product\11.2.0\dbhome_1\database\initpdb.ora';

ORACLE 例程已经启动。

Total System Global Area 1235959808 bytes

Fixed Size                  2175288 bytes

Variable Size            989859528 bytes

Database Buffers          234881024 bytes

Redo Buffers                9043968 bytes

3.进行复制

C:\>rman target / auxiliary sys/oracle@pdb

恢复管理器: Release 11.2.0.1.0 - Production on 星期一 4月 28 11:15:53 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

连接到目标数据库: ORCL (DBID=1364729008)

已连接到辅助数据库: ORCL (未装载)

RMAN> duplicate target database for standby from active database nofilenamecheck dorecover;

启动 Duplicate Db 于 28-4月 -14

使用目标数据库控制文件替代恢复目录

分配的通道: ORA_AUX_DISK_1

通道 ORA_AUX_DISK_1: SID=10 设备类型=DISK

内存脚本的内容:

{

backup as copy reuse

targetfile  'C:\app\Administrator\product\11.2.0\dbhome_1\DATABASE\PWDorcl.ORA' auxiliary format

'C:\app\Administrator\product\11.2.0\dbhome_1\DATABASE\PWDpdb.ORA'  ;

}

正在执行内存脚本

启动 backup 于 28-4月 -14

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=20 设备类型=DISK

完成 backup 于 28-4月 -14

内存脚本的内容:

{

backup as copy current controlfile for standby auxiliary format  'D:\ORADATA\PDB\CONTROL01.CTL';

restore clone controlfile to  'C:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\PDB\CONTROL02.CTL' from

'D:\ORADATA\PDB\CONTROL01.CTL';

}

正在执行内存脚本

启动 backup 于 28-4月 -14

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 启动数据文件副本

复制备用控制文件

输出文件名=C:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\SNCFORCL.ORA 标记=TAG20140428T111659 RECID=6 STAMP=846069421

通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:04

完成 backup 于 28-4月 -14

启动 restore 于 28-4月 -14

使用通道 ORA_AUX_DISK_1

通道 ORA_AUX_DISK_1: 已复制控制文件副本

完成 restore 于 28-4月 -14

内存脚本的内容:

{

sql clone 'alter database mount standby database';

}

正在执行内存脚本

sql 语句: alter database mount standby database

内存脚本的内容:

{

set newname for tempfile  1 to

"D:\ORADATA\PDB\TEMP01.DBF";

switch clone tempfile all;

set newname for datafile  1 to

"D:\ORADATA\PDB\SYSTEM01.DBF";

set newname for datafile  2 to

"D:\ORADATA\PDB\SYSAUX01.DBF";

set newname for datafile  3 to

"D:\ORADATA\PDB\UNDOTBS01.DBF";

set newname for datafile  4 to

"D:\ORADATA\PDB\USERS01.DBF";

set newname for datafile  5 to

"D:\ORADATA\PDB\EXAMPLE01.DBF";

set newname for datafile  6 to

"D:\ORADATA\PDB\TBS01.DBF";

set newname for datafile  7 to

"D:\ORADATA\PDB\UNDOTBS02.DBF";

set newname for datafile  8 to

"D:\ORADATA\PDB\RMAN_TBS01.DBF";

backup as copy reuse

datafile  1 auxiliary format

"D:\ORADATA\PDB\SYSTEM01.DBF"  datafile

2 auxiliary format

"D:\ORADATA\PDB\SYSAUX01.DBF"  datafile

3 auxiliary format

"D:\ORADATA\PDB\UNDOTBS01.DBF"  datafile

4 auxiliary format

"D:\ORADATA\PDB\USERS01.DBF"  datafile

5 auxiliary format

"D:\ORADATA\PDB\EXAMPLE01.DBF"  datafile

6 auxiliary format

"D:\ORADATA\PDB\TBS01.DBF"  datafile

7 auxiliary format

"D:\ORADATA\PDB\UNDOTBS02.DBF"  datafile

8 auxiliary format

"D:\ORADATA\PDB\RMAN_TBS01.DBF"  ;

sql 'alter system archive log current';

}

正在执行内存脚本

正在执行命令: SET NEWNAME

临时文件 1 在控制文件中已重命名为 D:\ORADATA\PDB\TEMP01.DBF

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

启动 backup 于 28-4月 -14

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 启动数据文件副本

输入数据文件: 文件号=00006 名称=C:\APP\ADMINISTRATOR\ORADATA\ORCL\TBS01.DBF

输出文件名=D:\ORADATA\PDB\TBS01.DBF 标记=TAG20140428T111715

通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:55

通道 ORA_DISK_1: 启动数据文件副本

输入数据文件: 文件号=00001 名称=C:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF

输出文件名=D:\ORADATA\PDB\SYSTEM01.DBF 标记=TAG20140428T111715

通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:55

通道 ORA_DISK_1: 启动数据文件副本

输入数据文件: 文件号=00002 名称=C:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF

输出文件名=D:\ORADATA\PDB\SYSAUX01.DBF 标记=TAG20140428T111715

通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:35

通道 ORA_DISK_1: 启动数据文件副本

输入数据文件: 文件号=00003 名称=C:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF

输出文件名=D:\ORADATA\PDB\UNDOTBS01.DBF 标记=TAG20140428T111715

通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:35

通道 ORA_DISK_1: 启动数据文件副本

输入数据文件: 文件号=00007 名称=C:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS02.DBF

输出文件名=D:\ORADATA\PDB\UNDOTBS02.DBF 标记=TAG20140428T111715

通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:35

通道 ORA_DISK_1: 启动数据文件副本

输入数据文件: 文件号=00005 名称=C:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF

输出文件名=D:\ORADATA\PDB\EXAMPLE01.DBF 标记=TAG20140428T111715

通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:07

通道 ORA_DISK_1: 启动数据文件副本

输入数据文件: 文件号=00008 名称=C:\APP\ADMINISTRATOR\ORADATA\ORCL\RMAN_TBS01.DBF

输出文件名=D:\ORADATA\PDB\RMAN_TBS01.DBF 标记=TAG20140428T111715

通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:07

通道 ORA_DISK_1: 启动数据文件副本

输入数据文件: 文件号=00004 名称=C:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF

输出文件名=D:\ORADATA\PDB\USERS01.DBF 标记=TAG20140428T111715

通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:07

完成 backup 于 28-4月 -14

sql 语句: alter system archive log current

内存脚本的内容:

{

backup as copy reuse

archivelog like  "C:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_04_28\O1_MF_1_8_9OVL1Z3C_.ARC" auxiliary format

"D:\ORADATA\ARCHLOG\ARC0000000008_0844855394.0001"  archivelog like

"C:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_04_28\O1_MF_1_9_9OVL9CLM_.ARC" auxiliary format

"D:\ORADATA\ARCHLOG\ARC0000000009_0844855394.0001"  ;

catalog clone archivelog  "D:\ORADATA\ARCHLOG\ARC0000000008_0844855394.0001";

catalog clone archivelog  "D:\ORADATA\ARCHLOG\ARC0000000009_0844855394.0001";

switch clone datafile all;

}

正在执行内存脚本

启动 backup 于 28-4月 -14

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在开始复制归档日志

输入归档日志线程=1 序列=8 RECID=165 STAMP=846069440

输出文件名=D:\ORADATA\ARCHLOG\ARC0000000008_0844855394.0001 RECID=0 STAMP=0

通道 ORA_DISK_1: 归档日志复制完成, 经过时间: 00:00:01

通道 ORA_DISK_1: 正在开始复制归档日志

输入归档日志线程=1 序列=9 RECID=166 STAMP=846069675

输出文件名=D:\ORADATA\ARCHLOG\ARC0000000009_0844855394.0001 RECID=0 STAMP=0

通道 ORA_DISK_1: 归档日志复制完成, 经过时间: 00:00:01

完成 backup 于 28-4月 -14

已编目的归档日志

归档日志文件名=D:\ORADATA\ARCHLOG\ARC0000000008_0844855394.0001 RECID=1 STAMP=846069680

已编目的归档日志

归档日志文件名=D:\ORADATA\ARCHLOG\ARC0000000009_0844855394.0001 RECID=2 STAMP=846069680

数据文件 1 已转换成数据文件副本

输入数据文件副本 RECID=6 STAMP=846069680 文件名=D:\ORADATA\PDB\SYSTEM01.DBF

数据文件 2 已转换成数据文件副本

输入数据文件副本 RECID=7 STAMP=846069681 文件名=D:\ORADATA\PDB\SYSAUX01.DBF

数据文件 3 已转换成数据文件副本

输入数据文件副本 RECID=8 STAMP=846069681 文件名=D:\ORADATA\PDB\UNDOTBS01.DBF

数据文件 4 已转换成数据文件副本

输入数据文件副本 RECID=9 STAMP=846069681 文件名=D:\ORADATA\PDB\USERS01.DBF

数据文件 5 已转换成数据文件副本

输入数据文件副本 RECID=10 STAMP=846069681 文件名=D:\ORADATA\PDB\EXAMPLE01.DBF

数据文件 6 已转换成数据文件副本

输入数据文件副本 RECID=11 STAMP=846069682 文件名=D:\ORADATA\PDB\TBS01.DBF

数据文件 7 已转换成数据文件副本

输入数据文件副本 RECID=12 STAMP=846069682 文件名=D:\ORADATA\PDB\UNDOTBS02.DBF

数据文件 8 已转换成数据文件副本

输入数据文件副本 RECID=13 STAMP=846069682 文件名=D:\ORADATA\PDB\RMAN_TBS01.DBF

内存脚本的内容:

{

set until scn  2918155;

recover

standby

clone database

delete archivelog

;

}

正在执行内存脚本

正在执行命令: SET until clause

启动 recover 于 28-4月 -14

使用通道 ORA_AUX_DISK_1

正在开始介质的恢复

线程 1 序列 8 的归档日志已作为文件 D:\ORADATA\ARCHLOG\ARC0000000008_0844855394.0001 存在于磁盘上

线程 1 序列 9 的归档日志已作为文件 D:\ORADATA\ARCHLOG\ARC0000000009_0844855394.0001 存在于磁盘上

归档日志文件名=D:\ORADATA\ARCHLOG\ARC0000000008_0844855394.0001 线程=1 序列=8

归档日志文件名=D:\ORADATA\ARCHLOG\ARC0000000009_0844855394.0001 线程=1 序列=9

介质恢复完成, 用时: 00:00:03

完成 recover 于 28-4月 -14

完成 Duplicate Db 于 28-4月 -14

4.检查standby数据库

set oracle_sid=pdb

SQL>sqlplus / as sysdba

SQL> select status from v$instance;

STATUS

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

MOUNTED

SQL> select member from v$logfile;

MEMBER

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

D:\ORADATA\PDB\REDO03.LOG

D:\ORADATA\PDB\REDO02.LOG

D:\ORADATA\PDB\REDO01.LOG

SQL> select * from v$dbfile;

FILE# NAME

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

4 D:\ORADATA\PDB\USERS01.DBF

3 D:\ORADATA\PDB\UNDOTBS01.DBF

2 D:\ORADATA\PDB\SYSAUX01.DBF

1 D:\ORADATA\PDB\SYSTEM01.DBF

5 D:\ORADATA\PDB\EXAMPLE01.DBF

6 D:\ORADATA\PDB\TBS01.DBF

7 D:\ORADATA\PDB\UNDOTBS02.DBF

8 D:\ORADATA\PDB\RMAN_TBS01.DBF

已选择8行。

SQL> select name from v$tempfile;

NAME

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

D:\ORADATA\PDB\TEMP01.DBF

SQL> show parameter control

NAME                                TYPE                  VALUE

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

control_file_record_keep_time        integer                14

control_files                        string                D:\ORADATA\PDB\CONTROL01.CTL,

C:\APP\ADMINISTRATOR\FLASH_REC

OVERY_AREA\PDB\CONTROL02.CTL

control_management_pack_access      string                DIAGNOSTIC+TUNING

SQL> show parameter spfile

NAME                                TYPE                  VALUE

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

spfile                              string

5. 创建备库standby logfile

standby的redo log日志要比主库的redo log多一组。

主库的redo log

SQL> select group#,thread#,sequence#,members,archived,status from v$log;

GROUP#    THREAD#  SEQUENCE#    MEMBERS ARCHIV STATUS

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

1          1        10          1 YES    INACTIVE

2          1        11          1 NO    CURRENT

3          1          9          1 YES    INACTIVE

主库是3组,每组一个,那么备库就应该建立4组,每组一个。

SQL> alter database add standby logfile group 4 'D:\oradata\pdb\redo04.log' size 50M;

数据库已更改。

SQL> alter database add standby logfile group 5 'D:\oradata\pdb\redo05log' size 50M;

数据库已更改。

SQL> alter database add standby logfile group 6 'D:\oradata\pdb\redo06log' size 50M;

数据库已更改。

SQL> alter database add standby logfile group 7 'D:\oradata\pdb\redo07log' size 50M;

数据库已更改。

6.在主库添加standby日志

SQL> alter database add standby logfile group 4 'C:\app\Administrator\oradata\orcl\redo04.log' size 50M;

数据库已更改。

SQL> alter database add standby logfile group 5 'C:\app\Administrator\oradata\orcl\redo05.log' size 50M;

数据库已更改。

SQL> alter database add standby logfile group 6 'C:\app\Administrator\oradata\orcl\redo06.log' size 50M;

数据库已更改。

SQL> alter database add standby logfile group 7 'C:\app\Administrator\oradata\orcl\redo07.log' size 50M;

数据库已更改。

四、 测试

1. 主库的归档日志情况

SQL> archive log list;

数据库日志模式            存档模式

自动存档            启用

存档终点            USE_DB_RECOVERY_FILE_DEST

最早的联机日志序列    9

下一个存档日志序列  11

当前日志序列          11

2. 备库的归档情况

SQL> archive log list;

数据库日志模式            存档模式

自动存档            启用

存档终点            D:\oradata\archlog

最早的联机日志序列    11

下一个存档日志序列  0

当前日志序列          11

3.备库上开启redo apply

SQL>alter database recover managed standby database disconnect from session;

数据库已更改。

4.在主库端切换日志,查看同步

SQL> alter system switch logfile;

系统已更改。

SQL> select max(SEQUENCE#) from v$archived_log;

MAX(SEQUENCE#)

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

156

备库端:

SQL> select max(SEQUENCE#) from v$archived_log;

MAX(SEQUENCE#)

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

156

至此,Oracle11gR2的physical standby database搭建完成。

0b1331709591d260c1c78e86d0c51c18.png

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值