【备份】RMAN备份

创建 RMAN 备份

1.1 RMAN热备之:数据库整体备份

包括:数据文件、控制文件、归档日志文件、参数文件;并且删除已备份的归档日志文件

RMAN> backup as backupset database plus archivelog delete input;

 

1.2RMAN热备之:完备

RMAN> backup as backupset database;

 

1.3级别为0的增量备份

RMAN>  backup as backupset incremental level 0 database;

 

1.4级别为1累积增量备份

RMAN> backup as backupset incremental level 1 cumulative database;

 

2.1启用块跟踪

创建存放块跟踪文件的目录

[oracle@wang app]$ ls

FRA  oracle  oraInventory

[oracle@wang app]$

[oracle@wang app]$ mkdir BCT

[oracle@wang app]$ ls

BCT  FRA  oracle  oraInventory

[oracle@wang app]$

 

启用块跟踪:

SYS@ORA11GR2>alter database enable block change tracking using file '/u01/app/BCT/rman.bct';

 

Database altered.

 

——验证:

[oracle@wang app]$ cd BCT/

[oracle@wang BCT]$ ls

rman.bct

[oracle@wang BCT]$

[oracle@wang BCT]$ pwd

/u01/app/BCT

[oracle@wang BCT]$

 

2.2监视块跟踪

——显示块跟踪文件位置、块跟踪状态(启用/停用)、该文件大小(单位字节)

SYS@ORA11GR2>col filename for a25

SYS@ORA11GR2>select filename,status,bytes from v$block_change_tracking;

(查看是否启用块跟踪)

FILENAME                  STATUS          BYTES

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

/u01/app/BCT/rman.bct     ENABLED      11599872

 

——通过查询视图来判断减少增量备份I/O,查看PCT_READ_FOR_BACKUP字段,值比较高表明RMAN在备份期间,从数据文件读取非常多的块,那么可以适当的减少增量备份的时间间隔来降低这个比率

SYS@ORA11GR2>select file#, avg(datafile_blocks), avg(blocks_read), avg(blocks_read /              

  2  datafile_blocks) * 100 as pct_read_for_backup, avg(blocks) from                      

  3  v$backup_datafile where used_change_tracking = 'yes' and incremental_level > 0       

  4  group by file#;                                                                      

 

no rows selected

 

SYS@ORA11GR2>

 

2.3停用块跟踪

SYS@ORA11GR2>alter database disable block change tracking;

 

Database altered.

 

SYS@ORA11GR2>

——验证:

[oracle@wang BCT]$ pwd

/u01/app/BCT

[oracle@wang BCT]$ ls

[oracle@wang BCT]$

——查看是否启用块跟踪:

SYS@ORA11GR2>SELECT filename, status, bytes FROM v$block_change_tracking;

FILENAME                  STATUS          BYTES

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

                          DISABLED

 

3.1单独备份所有归档

RMAN> backup as backupset archivelog all;

 

3.2备份中指定plus archivelog子句

RMAN> backup current controlfile plus archivelog;

 

4.delete input delete all input 区别

如果归档日志的目录是一个,那么delete inputdelete all input的效果是一样的,即归档备份后将已备份的归档删除,这个测试由读者自行测试。

如果归档日志保存的路径为多个,那么delete inputdelete all input就有区别了,测试如下:

 

弃用快速恢复区,启用log_archive_dest_n

——查看:

SYS@ORA11GR2>archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     39

Next log sequence to archive   41

Current log sequence           41

SYS@ORA11GR2>

SYS@ORA11GR2>show parameter recover

 

NAME                                 TYPE        VALUE

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

db_recovery_file_dest                string      /u01/app/FRA

db_recovery_file_dest_size           big integer 3G

db_unrecoverable_scn_tracking        boolean     TRUE

recovery_parallelism                 integer     0

SYS@ORA11GR2>

 

——重置快速恢复区:(重置快速恢复区需重启数据库后生效)

SYS@ORA11GR2>alter system reset db_recovery_file_dest;

 

System altered.

 

SYS@ORA11GR2>alter system reset db_recovery_file_dest_size;

 

System altered.

 

——验证:

SYS@ORA11GR2>show parameter recover

 

NAME                                 TYPE        VALUE

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

db_recovery_file_dest                string      /u01/app/FRA

db_recovery_file_dest_size           big integer 3G

db_unrecoverable_scn_tracking        boolean     TRUE

recovery_parallelism                 integer     0

SYS@ORA11GR2>

SYS@ORA11GR2>archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     39

Next log sequence to archive   41

Current log sequence           41

SYS@ORA11GR2>

——需关库重启库:

SYS@ORA11GR2>shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SYS@ORA11GR2>

SYS@ORA11GR2>startup

ORACLE instance started.

 

Total System Global Area  730714112 bytes

Fixed Size                  2256832 bytes

Variable Size             469762112 bytes

Database Buffers          255852544 bytes

Redo Buffers                2842624 bytes

Database mounted.

Database opened.

 

——验证:

SYS@ORA11GR2>archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            /u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch

Oldest online log sequence     39

Next log sequence to archive   41

Current log sequence           41

SYS@ORA11GR2>

SYS@ORA11GR2>show parameter recover

 

NAME                                 TYPE        VALUE

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

db_recovery_file_dest                string

db_recovery_file_dest_size           big integer 0

db_unrecoverable_scn_tracking        boolean     TRUE

recovery_parallelism                 integer     0

SYS@ORA11GR2>

SYS@ORA11GR

 

——设置新的归档路径:

SYS@ORA11GR2>alter system set log_archive_dest_1='location=/u01/app/arch1' scope=spfile;

 

System altered.

 

SYS@ORA11GR2>alter system set log_archive_dest_2='location=/u01/app/arch2' scope=spfile;

 

System altered.

 

[oracle@wang BCT]$ mkdir -p /u01/app/arch1

[oracle@wang BCT]$ mkdir -p /u01/app/arch2

[oracle@wang BCT]$ cd /u01/app/

[oracle@wang app]$ ls

arch1  arch2  BCT  FRA  oracle  oraInventory

[oracle@wang app]$

 

——重新启库使参数生效:

SYS@ORA11GR2>startup force;

ORACLE instance started.

 

Total System Global Area  730714112 bytes

Fixed Size                  2256832 bytes

Variable Size             469762112 bytes

Database Buffers          255852544 bytes

Redo Buffers                2842624 bytes

Database mounted.

Database opened.

SYS@ORA11GR2>

 

——查看已经生效:

SYS@ORA11GR2>archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            /u01/app/arch2

Oldest online log sequence     40

Next log sequence to archive   42

Current log sequence           42

SYS@ORA11GR2>

 

?——手工强制归档日志

我们可以看到,arch1arch2两个目录下的归档日志是完全一样的

SYS@ORA11GR2>alter system archive log current;

 

System altered.

 

SYS@ORA11GR2>

 

[oracle@wang app]$ cd arch1

[oracle@wang arch1]$ ls

1_41_923326149.dbf  1_42_923326149.dbf

[oracle@wang arch1]$

[oracle@wang arch1]$ cd ..

[oracle@wang app]$ ls

arch1  arch2  BCT  FRA  oracle  oraInventory

[oracle@wang app]$ cd arch2

[oracle@wang arch2]$ ls

1_41_923326149.dbf  1_42_923326149.dbf

[oracle@wang arch2]$

 

——备份归档日志文件,使用delete input删除已备份归档

RMAN> backup archivelog all format '/home/oracle/arch_%U.arc' delete input;

 

Starting backup at 28-SEP-16

current log archived

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=47 device type=DISK

channel ORA_DISK_1: starting archived log copy

input archived log thread=1 sequence=38 RECID=54 STAMP=923778876

output file name=/home/oracle/arch_arch_D-ORA11GR2_id-237843809_S-38_T-1_A-923326149_1orgvhjc.arc RECID=64 STAMP=923780718

channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:03

channel ORA_DISK_1: deleting archived log(s)

archived log file name=/u01/app/FRA/ORA11GR2/archivelog/2016_09_28/o1_mf_1_38_cyqjkvs0_.arc RECID=54 STAMP=923778876

channel ORA_DISK_1: starting archived log copy

input archived log thread=1 sequence=39 RECID=55 STAMP=923778877

output file name=/home/oracle/arch_arch_D-ORA11GR2_id-237843809_S-39_T-1_A-923326149_1prgvhjg.arc RECID=65 STAMP=923780720

channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01

channel ORA_DISK_1: deleting archived log(s)

archived log file name=/u01/app/FRA/ORA11GR2/archivelog/2016_09_28/o1_mf_1_39_cyqjkx2h_.arc RECID=55 STAMP=923778877

channel ORA_DISK_1: starting archived log copy

input archived log thread=1 sequence=40 RECID=57 STAMP=923778884

output file name=/home/oracle/arch_arch_D-ORA11GR2_id-237843809_S-40_T-1_A-923326149_1qrgvhji.arc RECID=66 STAMP=923780722

channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01

channel ORA_DISK_1: deleting archived log(s)

archived log file name=/u01/app/FRA/ORA11GR2/archivelog/2016_09_28/o1_mf_1_40_cyqjl4bw_.arc RECID=57 STAMP=923778884

channel ORA_DISK_1: starting archived log copy

input archived log thread=1 sequence=41 RECID=59 STAMP=923780351

output file name=/home/oracle/arch_arch_D-ORA11GR2_id-237843809_S-41_T-1_A-923326149_1rrgvhjl.arc RECID=67 STAMP=923780726

channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01

channel ORA_DISK_1: deleting archived log(s)

archived log file name=/u01/app/arch2/1_41_923326149.dbf RECID=59 STAMP=923780351

channel ORA_DISK_1: starting archived log copy

input archived log thread=1 sequence=42 RECID=61 STAMP=923780460

output file name=/home/oracle/arch_arch_D-ORA11GR2_id-237843809_S-42_T-1_A-923326149_1srgvhjn.arc RECID=68 STAMP=923780728

channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01

channel ORA_DISK_1: deleting archived log(s)

archived log file name=/u01/app/arch2/1_42_923326149.dbf RECID=61 STAMP=923780460

channel ORA_DISK_1: starting archived log copy

input archived log thread=1 sequence=43 RECID=62 STAMP=923780707

output file name=/home/oracle/arch_arch_D-ORA11GR2_id-237843809_S-43_T-1_A-923326149_1trgvhjp.arc RECID=69 STAMP=923780729

channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01

channel ORA_DISK_1: deleting archived log(s)

archived log file name=/u01/app/arch1/1_43_923326149.dbf RECID=62 STAMP=923780707

Finished backup at 28-SEP-16

 

Starting Control File and SPFILE Autobackup at 28-SEP-16

piece handle=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/c-237843809-20160928-0e comment=NONE

Finished Control File and SPFILE Autobackup at 28-SEP-16

 

——查看归档日志:

我们发现,arch2中的所有归档已经被删除了,由于备份之前自动切换了一下日志,所以,arch1中有两个归档日志,这就能说明,使用delete input,只会删除其中一个的日志。

[oracle@wang arch2]$ pwd

/u01/app/arch2

[oracle@wang arch2]$ ls

1_43_923326149.dbf

[oracle@wang arch2]$ ls

1_43_923326149.dbf$

[oracle@wang arch2]$ cd ..

[oracle@wang app]$ ls

arch1  arch2  BCT  FRA  oracle  oraInventory

[oracle@wang app]$ cd arch1/

[oracle@wang arch1]$

[oracle@wang arch1]$ ls

1_41_923326149.dbf  1_42_923326149.dbf

[oracle@wang arch1]$

 

——再次手工归档日志,让两个目录下都有归档日志存在

SYS@ORA11GR2>alter system archive log current;

 

System altered.

 

SYS@ORA11GR2>

 

[oracle@wang arch1]$ ls /u01/app/arch*

/u01/app/arch1:

1_41_923326149.dbf  1_42_923326149.dbf  1_44_923326149.dbf

 

/u01/app/arch2:

1_43_923326149.dbf  1_44_923326149.dbf

[oracle@wang arch1]$

 

——备份归档日志文件,使用delete all input删除已备份归档

RMAN> backup archivelog all format '/home/oracle/arch_all_%U' delete all input;

 

Starting backup at 28-SEP-16

current log archived

using channel ORA_DISK_1

channel ORA_DISK_1: starting archived log copy

input archived log thread=1 sequence=38 RECID=52 STAMP=923778821

output file name=/home/oracle/arch_all_arch_D-ORA11GR2_id-237843809_S-38_T-1_A-923326149_1vrgvi2s RECID=74 STAMP=923781212

channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01

channel ORA_DISK_1: deleting archived log(s)

archived log file name=/u01/app/FRA/ORA11GR2/archivelog/2016_09_28/o1_mf_1_38_cyqjj56y_.arc RECID=52 STAMP=923778821

archived log file name=/home/oracle/arch_arch_D-ORA11GR2_id-237843809_S-38_T-1_A-923326149_1orgvhjc.arc RECID=64 STAMP=923780718

channel ORA_DISK_1: starting archived log copy

input archived log thread=1 sequence=39 RECID=53 STAMP=923778875

output file name=/home/oracle/arch_all_arch_D-ORA11GR2_id-237843809_S-39_T-1_A-923326149_20rgvi2u RECID=75 STAMP=923781214

channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01

channel ORA_DISK_1: deleting archived log(s)

archived log file name=/u01/app/FRA/ORA11GR2/archivelog/2016_09_28/o1_mf_1_39_cyqjkv8h_.arc RECID=53 STAMP=923778875

archived log file name=/home/oracle/arch_arch_D-ORA11GR2_id-237843809_S-39_T-1_A-923326149_1prgvhjg.arc RECID=65 STAMP=923780720

channel ORA_DISK_1: starting archived log copy

input archived log thread=1 sequence=40 RECID=56 STAMP=923778883

output file name=/home/oracle/arch_all_arch_D-ORA11GR2_id-237843809_S-40_T-1_A-923326149_21rgvi2v RECID=76 STAMP=923781215

channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01

channel ORA_DISK_1: deleting archived log(s)

archived log file name=/u01/app/FRA/ORA11GR2/archivelog/2016_09_28/o1_mf_1_40_cyqjl3o3_.arc RECID=56 STAMP=923778883

archived log file name=/home/oracle/arch_arch_D-ORA11GR2_id-237843809_S-40_T-1_A-923326149_1qrgvhji.arc RECID=66 STAMP=923780722

channel ORA_DISK_1: starting archived log copy

input archived log thread=1 sequence=41 RECID=67 STAMP=923780726

output file name=/home/oracle/arch_all_arch_D-ORA11GR2_id-237843809_S-41_T-1_A-923326149_22rgvi32 RECID=77 STAMP=923781218

channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01

channel ORA_DISK_1: deleting archived log(s)

archived log file name=/home/oracle/arch_arch_D-ORA11GR2_id-237843809_S-41_T-1_A-923326149_1rrgvhjl.arc RECID=67 STAMP=923780726

archived log file name=/u01/app/arch1/1_41_923326149.dbf RECID=58 STAMP=923780351

channel ORA_DISK_1: starting archived log copy

input archived log thread=1 sequence=42 RECID=68 STAMP=923780728

output file name=/home/oracle/arch_all_arch_D-ORA11GR2_id-237843809_S-42_T-1_A-923326149_23rgvi34 RECID=78 STAMP=923781220

channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01

channel ORA_DISK_1: deleting archived log(s)

archived log file name=/home/oracle/arch_arch_D-ORA11GR2_id-237843809_S-42_T-1_A-923326149_1srgvhjn.arc RECID=68 STAMP=923780728

archived log file name=/u01/app/arch1/1_42_923326149.dbf RECID=60 STAMP=923780460

channel ORA_DISK_1: starting archived log copy

input archived log thread=1 sequence=43 RECID=69 STAMP=923780729

output file name=/home/oracle/arch_all_arch_D-ORA11GR2_id-237843809_S-43_T-1_A-923326149_24rgvi36 RECID=79 STAMP=923781222

channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01

channel ORA_DISK_1: deleting archived log(s)

archived log file name=/home/oracle/arch_arch_D-ORA11GR2_id-237843809_S-43_T-1_A-923326149_1trgvhjp.arc RECID=69 STAMP=923780729

archived log file name=/u01/app/arch2/1_43_923326149.dbf RECID=63 STAMP=923780707

channel ORA_DISK_1: starting archived log copy

input archived log thread=1 sequence=44 RECID=70 STAMP=923781002

output file name=/home/oracle/arch_all_arch_D-ORA11GR2_id-237843809_S-44_T-1_A-923326149_25rgvi38 RECID=80 STAMP=923781224

channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01

channel ORA_DISK_1: deleting archived log(s)

archived log file name=/u01/app/arch1/1_44_923326149.dbf RECID=70 STAMP=923781002

archived log file name=/u01/app/arch2/1_44_923326149.dbf RECID=71 STAMP=923781002

channel ORA_DISK_1: starting archived log copy

input archived log thread=1 sequence=45 RECID=72 STAMP=923781210

output file name=/home/oracle/arch_all_arch_D-ORA11GR2_id-237843809_S-45_T-1_A-923326149_26rgvi3b RECID=81 STAMP=923781227

channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01

channel ORA_DISK_1: deleting archived log(s)

archived log file name=/u01/app/arch1/1_45_923326149.dbf RECID=72 STAMP=923781210

archived log file name=/u01/app/arch2/1_45_923326149.dbf RECID=73 STAMP=923781210

Finished backup at 28-SEP-16

 

Starting Control File and SPFILE Autobackup at 28-SEP-16

piece handle=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/c-237843809-20160928-0f comment=NONE

Finished Control File and SPFILE Autobackup at 28-SEP-16

 

RMAN>

 

——查看归档日志情况(结果为两个目录都为空)

[oracle@wang arch1]$ ls /u01/app/arch*

/u01/app/arch1:

/u01/app/arch2:

[oracle@wang arch1]$

通过以上测试,我们已经验证了本章开始提到的,delete input只删除一个归档目录的内容,如果有多个目录存放归档日志,那么使用delete all input完成删除

 

5.管理备份:报告

5.1 LIST

1----概述可用的备份

RMAN> list backup summary;

2也可以具体显示某一项概述可用备份信息

RMAN> list backup of database summary;

RMAN> list backup of archivelog all summary;

RMAN> list backup of tablespace users summary;

RMAN> list backup of datafile 1,2 summary;

3列出详细备份

RMAN> list backup;

4)列出过期备份

RMAN> list expired backup;

5列出所有数据文件的备份集

RMAN> list backup of database;

6列出指定表空间的所有数据文件备份集

RMAN> list backup of tablespace users;

7列出指定数据文件备份集

RMAN> list backup of datafile 1,2,3;

8列出控制文件备份集

RMAN> list backup of controlfile;

9列出归档日志备份集详细信息

RMAN> list backup of archivelog all;

10列出归档日志备份集简要信息

RMAN> list archivelog all;

11列出SPFILE备份集

RMAN> list backup of spfile;

12列出数据文件映像副本

RMAN> list copy of datafile 5;

13列出控制文件映像副本

RMAN> list copy of controlfile;

14列出归档日志映像副本

RMAN> list copy of archivelog all;

15列出对应数据库副本;

RMAN> list incarnation;

或者

RMAN> list incarnation of database;

 

5.2REPORT

1报告目标数据库的物理结构

RMAN> report schema;

2)报告已丢弃的备份集(配置了保留策略)

RMAN> report obsolete;

3报告当前数据库中不可恢复的数据文件(即没有这个数据文件的备份、或者该数据文件的备份已经过期)

RMAN> report unrecoverable;

4报告最近N天没有被备份的数据文件;

RMAN> report need backup days=3;

5USERS表空间上N天未备份的数据文件

RMAN> report need backup days 3 tablespace users;

6报告恢复数据文件需要的增量备份个数超过N次的数据文件;

RMAN> report need backup incremental 3;

7报告备份文件低于N份的所有数据文件;

RMAN> report need backup redundancy 2 database;

 

6.管理备份:交叉检查删除
6.1CROSSCHECK

1校验所有备份集

RMAN> crosscheck backup;

2校验所有数据文件的备份集

RMAN> crosscheck backup of database;

3校验特定表空间的备份集

RMAN> crosscheck backup of tablespace users;

4校验特定数据文件的备份集

RMAN> crosscheck backup of datafile 4;

5校验控制文件的备份集

RMAN> crosscheck backup of controlfile;

6校验SPFILE的备份集

RMAN> crosscheck backup of spfile;

7校验归档日志的备份集

RMAN> crosscheck backup of archivelog sequence 3;

8校验所有映像副本

RMAN> crosscheck copy;

9校验所有数据文件的映像副本

RMAN> crosscheck copy of database;

10校验特定表空间的映像副本

RMAN> crosscheck copy of tablespace users;

11校验特定数据文件的映像副本

RMAN> crosscheck copy of datafile 6;

12校验归档日志的映像副本

RMAN> crosscheck copy of archivelog sequence 4;

13校验控制文件的映像副本

RMAN> crosscheck copy of controlfile;

14校验指定标签"MY_TAG_01"

RMAN> crosscheck backup tag='MY_TAG_01';

15校验最近两天的备份

RMAN> crosscheck backup completed after 'sysdate - 2'

16校验五天以内并且两天前的备份

RMAN> crosscheck backup completed between 'sysdate - 5' and 'sysdate -2 '

17校验所有归档

RMAN> crosscheck archivelog all;

18校验指定归档

RMAN> crosscheck archivelog like '%ARC00012.001'

RMAN> crosscheck archivelog from sequence 12;

RMAN> crosscheck archivelog until sequence 522;

 

6.2DELETE

1)删除过时备份(超出备份策略的备份)

RMAN> delete obsolete;

2)删除过期备份(校验失败的备份)

RMAN> delete expired backup;

3)删除过期副本(校验失败的副本)

RMAN> delete expired copy;

4删除特定备份集

RMAN> delete backupset 19;

5删除所有备份集

RMAN> delete backup;

6删除所有映像副本

RMAN> delete copy;

7.管理备份:动态性能视图

v$backup_set_details


视图

内容

v$backup_files

已备份的每个文件(控制文件、参数文件、归档日志文件、数据文件)的信息。

v$backup_set

v$backup_set_details

每个备份集信息

v$backup_piece

每个备份片信息

v$backup_redolog

已备份的每个归档日志信息

v$backup_spfile

Spfile构成的备份信息

v$backup_datafile

数据文件的备份信息

v$backup_device

已连接到RMANSBT设备名称

v$rman_configuration

RMAN配置设置(不包括默认设置)

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

转载于:http://blog.itpub.net/31397003/viewspace-2126512/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值