《Linux运维实战:达梦DM8数据库逻辑备份与还原(方式三)》

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:Linux运维实战总结


一、概念

逻辑备份还原是对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份还原。 逻辑导出(dexp) 逻辑导入(dimp)是 DM 数据库的两个命令行工具,分别用来实现对 DM 数据库的逻辑备份和逻辑还原。 逻辑备份 逻辑还原都是在 联机方式下完成,即在数据库服务器正常运行过程中进行的备份和还原。

逻辑导出:使用 dexp 工具可以对本地或者远程数据库进行 数据库级、用户级、模式级和表级的逻辑备份。

逻辑导入:dimp 逻辑导入工具利用 dexp 工具生成的备份文件对本地或远程的数据库进行联机逻辑还原。dimp 导入是 dexp 导出的相反过程。

导出和导入数据库对象分为四种级别, 四种级别独立互斥,不能同时存在。有:数据库级、用户级、模式级和表级。

四种级别所提供的功能:

①数据库级(FULL):导出或导入整个数据库中的所有对象。
②用户级(OWNER):导出或导入一个或多个用户所拥有的所有对象。
③模式级(SCHEMAS):导出或导入一个或多个模式下的所有对象。
④表级(TABLES):导出或导入一个或多个指定的表或表分区。

注意:用户和模式级的区别为一个用户可以拥有多个模式,创建用户会创建一个同名的模式。


二、参数详解

2.1、dexp

dexp 工具可以对本地或者远程数据库进行数据库级、用户级、模式级和表级的逻辑备份。备份的内容非常灵活,可以选择是否备份索引、数据行和权限,是否忽略各种约束(外键约束、非空约束、唯一约束等),在备份前还可以选择生成日志文件,记录备份的过程以供查看。

[dmdba@arm-03 ~]$ dexp help
dexp V8
version: 03134284132-20231226-213242-20081
格式: ./dexp  KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)

例程: ./dexp  SYSDBA/SYSDBA GRANTS=Y TABLES=(SYSDBA.TAB1,SYSDBA.TAB2,SYSDBA.TAB3)

USERID 必须是命令行中的第一个参数

关键字              说明(默认值)
--------------------------------------------------------------------------------
USERID               用户名/口令 格式:{<username>[/<password>] | /}[@<connect_identifier>][<option>] [<os_auth>]
                     <connect_identifier> : [<svc_name> | host[:port] | <unixsocket_file>]
                     <option> : #{<exetend_option>=<value>[,<extend_option>=<value>]...}
                               --此行外层{}是为了封装参数之用,书写时需要保留
                     <os_auth> : AS {SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO}
FILE                 导出文件 (dexp.dmp)
DIRECTORY            导出文件所在目录
FULL                 整库导出 (N)
OWNER                以用户方式导出 格式 (user1,user2,...)
SCHEMAS              以���式方式导出 格式 (schema1,schema2,...)
TABLES               以表方式导出 格式 (table1,table2,...)
FUZZY_MATCH          TABLES选项是否支持模糊匹配 (N)
QUERY                用于导出表的子集的select 子句
PARALLEL             用于指定导出的过程中所使用的线程数目(1-100, 默认16)
TABLE_PARALLEL       用于指定导出的过程中表内的并发线程数目,MPP模式下会转换成单线程(1-50, 默认16)
TABLE_POOL           用于指定表的缓冲区个数(1-20, 默认20)
EXCLUDE              忽略指定的对象 
                       格式 EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS,VIEWS,PROCEDURE,PACKAGE,SEQUENCE) or
                            EXCLUDE=TYPE:name1,name2 or
                            EXCLUDE=TYPE:cond,TYPE:cond 
                             TYPE:SCHEMAS,TABLES,VIEWS,PROCEDURE,PACKAGE,SEQUENCE 
INCLUDE              包含指定的对象 
                       格式 INCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS,VIEWS,PROCEDURE,PACKAGE,SEQUENCE) or 
                            INCLUDE=TYPE:name1,name2 or
                            INCLUDE=TYPE:cond,TYPE:cond 
                             TYPE:SCHEMAS,TABLES,VIEWS,PROCEDURE,PACKAGE,SEQUENCE 
CONSTRAINTS          导出约束 (Y)
TABLESPACE           导出对象带有表空间 (N)
GRANTS               导出权限 (Y)
INDEXES              导出索引 (Y)
TRIGGERS             导出触发器 (Y)
ROWS                 导出数据行 (Y)
LOG                  屏幕输出的日志文件
NOLOGFILE            不使用日志文件(N)
NOLOG                屏幕上不显示日志信息(N)
LOG_WRITE            日志信息实时写入文件: 是(Y),否(N)
DUMMY                交互信息处理: 打印(P), 所有交互都按YES处理(Y),NO(N) 
PARFILE              参数文件名
FEEDBACK             每 x 行显示进度 (0)
COMPRESS             导出数据是否压缩 (N)
COMPRESS_LEVEL       导出数据压缩等级 (0-9 默认1)
ENCRYPT              导出数据是否加密 (N)
ENCRYPT_PASSWORD     导出数据的加密密钥
ENCRYPT_NAME         加密算法的名称
FILESIZE             每个转储文件的最大大小
FILENUM              一个模板可以生成的文件数
DROP                 导出后删除原表,但不级联删除 (N)
DESCRIBE             导出数据文件的描述信息,记录在数据文件中
COL_DEFAULT_SEPARATE 是否单独导出列默认值 (Y)
WITH_UR              是否允许脏读 (N)
SIMPLE_LOG           是否使用简要日志 (N)
FLASHBACK_SCN        用于重置会话快照的LSN
FLASHBACK_TIME       用于查找最接近的相应LSN值的时间
CTRL_INFO            控制信息(1:控制分区表约束在表定义导出,默认0)
HELP                 打印帮助信息

2.2、dimp

dimp 逻辑导入工具利用 dexp 工具生成的备份文件对本地或远程的数据库进行联机逻辑还原。dimp 导入是 dexp 导出的相反过程。还原的方式可以灵活选择,例如是否忽略对象存在而导致的创建错误、是否导入约束、是否导入索引、导入时是否需要编译、是否生成日志等。

[dmdba@arm-03 dmbak]$ dimp help
dimp V8
version: 03134284132-20231226-213242-20081
格式: ./dimp KEYWORD=value 或 KEYWORD=(value1,value2,...,vlaueN)

例程: ./dimp SYSDBA/SYSDBA IGNORE=Y ROWS=Y FULL=Y

USERID 必须是命令行中的第一个参数

关键字                 说明(默认值)
--------------------------------------------------------------------------------
USERID                 用户名/口令 格式:{<username>[/<password>] | /}[@<connect_identifier>][<option>] [<os_auth>]
                       <connect_identifier> : [<svc_name> | host[:port] | <unixsocket_file>]
                       <option> : #{<exetend_option>=<value>[,<extend_option>=<value>]...}
                                  --此行外层{}是为了封装参数之用,书写时需要保留
                       <os_auth> : AS {SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO}
FILE                   导入文件名称 (dexp.dmp)
DIRECTORY              导入文件所在目录
FULL                   整库导入 (N)
OWNER                  以用户方式导入 格式 (user1,user2,...)
SCHEMAS                以模式方式导入 格式 (schema1,schema2,...)
TABLES                 以表名方式导入 格式(table1,table2,...)
PARALLEL               用于指定导入的过程中所使用的线程数目(1-100, 默认16)
TABLE_PARALLEL         用于指定导入的过程中每个表所使用的子线程数目,在FAST_LOAD为Y时有效(1-16, 默认16)
IGNORE                 忽略创建错误 (N)
TABLE_EXISTS_ACTION    需要的导入表在目标库中存在时采取的操作[SKIP | APPEND | TRUNCATE | REPLACE | TRUNCATE_CASCADE]
FAST_LOAD              是否使用dmfldr来导数据(N)
FLDR_ORDER             使用dmfldr是否需要严格按顺序来导数据(Y)
COMMIT_ROWS            批量提交的行数(5000)
EXCLUDE                忽略指定的对象 
                       格式 EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS,VIEWS,PROCEDURE,PACKAGE,SEQUENCE) or
                            EXCLUDE=TYPE:name1,name2 
                             TYPE:SCHEMAS,TABLES,VIEWS,PROCEDURE,PACKAGE,SEQUENCE 
INCLUDE                包含指定的对象 
                       格式 INCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS,VIEWS,PROCEDURE,PACKAGE,SEQUENCE) or 
                            INCLUDE=TYPE:name1,name2 
                             TYPE:SCHEMAS,TABLES,VIEWS,PROCEDURE,PACKAGE,SEQUENCE 
GRANTS                 导入权限 (Y)
CONSTRAINTS            导入约束 (Y)
INDEXES                导入索引 (Y)
TRIGGERS               导入触发器 (Y)
ROWS                   导入数据行 (Y)
LOG                    指定日志文件
NOLOGFILE              不使用日志文件(N)
NOLOG                  屏幕上不显示日志信息(N)
LOG_WRITE              日志信息实时写入文件(N): 是(Y),否(N)
DUMMY                  交互信息处理(P): 打印(P), 所有交互都按YES处理(Y),NO(N) 
PARFILE                参数文件名
FEEDBACK               每 x 行显示进度 (0)
COMPILE                编译过程, 程序包和函数... (Y)
INDEXFILE              将表的索引/约束信息写入指定的文件
INDEXFIRST             导入时先建索引(N)
REMAP_SCHEMA           格式(SOURCE_SCHEMA:TARGET_SCHEMA)
                       将SOURCE_SCHEMA中的数据导入到TARGET_SCHEMA中 
ENCRYPT_PASSWORD       数据的加密密钥
ENCRYPT_NAME           加密算法的名称
SHOW/DESCRIBE          打印出指定文件的信息(N)
TASK_THREAD_NUMBER     用于设置dmfldr处理用户数据的线程数目
BUFFER_NODE_SIZE       用于设置dmfldr读入文件缓冲区大小
TASK_SEND_NODE_NUMBER  用于设置dmfldr发送节点个数[16,65535]
LOB_NOT_FAST_LOAD      如果一个表含有大字段,那么不使用dmfldr,因为dmfldr是一行一行提交的(N)
PRIMARY_CONFLICT       主键冲突的处理方式[IGNORE|OVERWRITE|OVERWRITE2],默认报错
TABLE_FIRST            是否先导入表(N):是(Y),否(N)
SHOW_SERVER_INFO       是否打印服务器信息(N):是(Y),否(N)
IGNORE_INIT_PARA       忽略建库参数差异(0): CASE_SENSITIVE(1),LENGTH_IN_CHAR(2)
AUTO_FREE_KEY          导入数据完成后, 是否释放密钥(N):是(Y), 否(N)
REMAP_TABLE            格式(SOURCE_SCHEMA.SOURCE_TABLE:TARGET_TABLE)
                       将SOURCE_TABLE中的数据导入到TARGET_TABLE中 
REMAP_TABLESPACE       格式(SOURCE_TABLESPACE:TARGET_TABLESPACE)
                       将SOURCE_TABLESPACE表空间映射到TARGET_TABLESPACE表空间中 
SIMPLE_LOG             是否使用简要日志 (N)
DATA_ONLY              仅导入数据 (N)
INDEX_OPTION           索引选项 (2)
                       1 不刷新二级索引,数据按照索引先排序,装载完后再
                       将排序的数据插入索引
                       2 不刷新二级索引,数据装载完成后重建所有二级索引
                       3 刷新二级索引, 数据装载的同时将数据插入二级索引
CTRL_INFO              控制信息(1:导入表空间,默认0)
HELP                   打印帮助信息

三、SQL方式逻辑导入导出

环境说明:部署完dm8单机版,SYSDBA为管理用户,密码位bp7QamyGuzXD#4zE,创建一个用户POSSECU,密码为FmbNcTY74abapS7#,默认表空间位lolaage,所有业务的表的数据都在POSSECU用户下。

1、建表空间

create tablespace "lolaage" datafile '/dmdata/data/lolaage.dbf' size 128 ;

2、创建用户,并设置默认表空间及授权

create user "POSSECU" identified by "FmbNcTY74abapS7#" hash with SHA512 salt
encrypt by "FmbNcTY74abapS7#"
default tablespace "lolaage"
default index tablespace "lolaage";
grant "DBA","PUBLIC","SOI" to "POSSECU";

3、在模式 POSSECU下创建表 CITY,并插入数据

CREATE TABLE POSSECU.city
(
 city_id CHAR(3) NOT NULL,
 city_name VARCHAR(40) NULL,
 region_id INT NULL
);

4、插入数据

INSERT INTO POSSECU.city(city_id,city_name,region_id) VALUES('BJ','北京',1);
INSERT INTO POSSECU.city(city_id,city_name,region_id) VALUES('SJZ','石家庄',1);
INSERT INTO POSSECU.city(city_id,city_name,region_id) VALUES('SH','上海',2);
INSERT INTO POSSECU.city(city_id,city_name,region_id) VALUES('NJ','南京',2);
INSERT INTO POSSECU.city(city_id,city_name,region_id) VALUES('GZ','广州',3);
INSERT INTO POSSECU.city(city_id,city_name,region_id) VALUES('HK','海口',3);
INSERT INTO POSSECU.city(city_id,city_name,region_id) VALUES('WH','武汉',4);
INSERT INTO POSSECU.city(city_id,city_name,region_id) VALUES('CS','长沙',4);
INSERT INTO POSSECU.city(city_id,city_name,region_id) VALUES('SY','沈阳',5);
INSERT INTO POSSECU.city(city_id,city_name,region_id) VALUES('XA','西安',6);
INSERT INTO POSSECU.city(city_id,city_name,region_id) VALUES('CD','成都',7);

3.1、数据库级(FULL)

说明:数据库级(FULL):导出或导入整个数据库中的所有对象。

情形一:不带表空间备份恢复整库

1、不带表空间备份整库下所有对象

# 不带表空间备份整库
[dmdba@arm-03 dmbak]$ dexp USERID=SYSDBA/'"bp7QamyGuzXD#4zE"'@localhost:5236 DIRECTORY=/dmdata/dmbak FILE=db_exp_full_2024_04_03_09_50_22.dmp FULL=Y TABLESPACE=N DROP=N LOG=db_exp_full_2024_04_03_09_50_22.log LOG_WRITE=N

2、不带表空间恢复整库下所有对象

# 1、创建表空间
create tablespace "lolaage" datafile '/dmdata/data/lolaage.dbf' size 128 ;

# 2、修改POSSECU用户默认表空间为lolaage(与备份前一样)
alter user "POSSECU" default tablespace "lolaage" default index tablespace "lolaage";

# 3、不带表空间恢复整库
[dmdba@arm-03 dmbak]$ dimp USERID=SYSDBA/'"bp7QamyGuzXD#4zE"'@localhost:5236 DIRECTORY=/dmdata/dmbak FILE=db_exp_full_2024_04_03_09_50_22.dmp FULL=Y IGNORE=N COMPILE=Y INDEXFIRST=N TABLE_FIRST=N COMMIT_ROWS=5000 FAST_LOAD=N LOG=db_imp_full_2024_04_03_09_50_22.log LOG_WRITE=N

注意:如果备份整库的时候没有导出表空间,恢复时需提前创建好表空间,并设置好与之对应的用户,与备份前保持一样。


情形二:带表空间备份恢复整库

1、带表空间备份整库下所有对象

# 带表空间备份整库
[dmdba@arm-03 dmbak]$ dexp USERID=SYSDBA/'"bp7QamyGuzXD#4zE"'@localhost:5236 DIRECTORY=/dmdata/dmbak FILE=db_exp_full_2024_04_03_09_50_22.dmp FULL=Y TABLESPACE=Y DROP=N LOG=db_exp_full_2024_04_03_09_50_22.log LOG_WRITE=N

2、带表空间恢复整库下所有对象

# 带表空间恢复整库
[dmdba@arm-03 dmbak]$ dimp USERID=SYSDBA/'"bp7QamyGuzXD#4zE"'@localhost:5236 DIRECTORY=/dmdata/dmbak FILE=db_exp_full_2024_04_03_09_50_22.dmp FULL=Y IGNORE=N COMPILE=Y INDEXFIRST=N TABLE_FIRST=N COMMIT_ROWS=5000 FAST_LOAD=N CTRL_INFO=1 LOG=db_imp_full_2024_04_03_09_50_22.log LOG_WRITE=N

3.2、用户级(OWNER)

说明:用户级(OWNER):导出或导入一个或多个用户所拥有的所有对象。

1、备份用户POSSECU下所有对象

# 不带表空间备份
[dmdba@arm-03 dmbak]$ dexp USERID=SYSDBA/'"bp7QamyGuzXD#4zE"'@localhost:5236 DIRECTORY=/dmdata/dmbak FILE=db_user_exp_2024_04_08_17_36_20.dmp OWNER=POSSECU TABLESPACE=N DROP=N LOG=db_user_exp_2024_04_08_17_36_20.log LOG_WRITE=N

2、恢复用户POSSECU下所有对象

# 1、创建表空间(如果存在就不创建)
create tablespace "lolaage" datafile '/dmdata/data/lolaage.dbf' size 128;

# 2、创建用户,设置默认表空间,并授予权限(如果存在就不创建)
create user "POSSECU" identified by "FmbNcTY74abapS7#" hash with SHA512 salt
encrypt by "FmbNcTY74abapS7#"
default tablespace "lolaage"
default index tablespace "lolaage";
grant "DBA","PUBLIC","SOI" to "POSSECU";

# 3、恢复用户POSSECU下所有对象
[dmdba@arm-03 dmbak]$ dimp USERID=SYSDBA/'"bp7QamyGuzXD#4zE"'@localhost:5236 DIRECTORY=/dmdata/dmbak FILE=db_user_exp_2024_04_08_17_36_20.dmp OWNER=POSSECU IGNORE=N COMPILE=Y INDEXFIRST=N TABLE_FIRST=N COMMIT_ROWS=5000 FAST_LOAD=N LOG=db_user_imp_2024_04_08_17_36_20.log LOG_WRITE=N

注意:如果恢复的是用户POSSECU下所有对象,前提该POSSECU用户、lolaage表空间需提前创建并授予权限,否则恢复会报错。


3.3、模式级(SCHEMAS)

说明:模式级(SCHEMAS):导出或导入一个或多个模式下的所有对象。

情形一:不带表空间备份恢复模式下所有对象

# 不带表空间备份模式下所有对象
[dmdba@arm-03 dmbak]$ dexp USERID=SYSDBA/'"bp7QamyGuzXD#4zE"'@localhost:5236 DIRECTORY=/dmdata/dmbak FILE=db_schema_exp_2024_04_08_17_36_20.dmp SCHEMAS="POSSECU" TABLESPACE=N DROP=N LOG=db_schema_exp_2024_04_08_17_36_20.log LOG_WRITE=N

# 带表空间备份模式下所有对象
[dmdba@arm-03 dmbak]$ dimp USERID=SYSDBA/'"bp7QamyGuzXD#4zE"'@localhost:5236 DIRECTORY=/dmdata/dmbak FILE=db_schema_exp_2024_04_08_17_36_20.dmp SCHEMAS="POSSECU" IGNORE=N COMPILE=Y INDEXFIRST=N TABLE_FIRST=N COMMIT_ROWS=5000 FAST_LOAD=N LOG=db_schema_imp_2024_04_08_17_36_20.log LOG_WRITE=N

注意:如果备份模式的时候没有导出表空间,恢复是即使指定了导入表空间参数,也没意义。

情形二:带表空间备份恢复模式下所有对象

# 带表空间恢复模式下所有对象
[dmdba@arm-03 dmbak]$ dexp USERID=SYSDBA/'"bp7QamyGuzXD#4zE"'@localhost:5236 DIRECTORY=/dmdata/dmbak FILE=db_schema_exp_2024_04_08_17_36_20.dmp SCHEMAS="POSSECU" TABLESPACE=Y DROP=N LOG=db_schema_exp_2024_04_08_17_36_20.log LOG_WRITE=N

# 带表空间恢复模式下所有对象
[dmdba@arm-03 dmbak]$ dimp USERID=SYSDBA/'"bp7QamyGuzXD#4zE"'@localhost:5236 DIRECTORY=/dmdata/dmbak FILE=db_schema_exp_2024_04_08_17_36_20.dmp SCHEMAS="POSSECU" IGNORE=N COMPILE=Y INDEXFIRST=N TABLE_FIRST=N COMMIT_ROWS=5000 FAST_LOAD=N CTRL_INFO=1 LOG=db_schema_imp_2024_04_08_17_36_20.log LOG_WRITE=N

3.4、表级(TABLES)

说明:表级(TABLES):导出或导入一个或多个指定的表或表分区。

1、大小写敏感

# 备份表
[dmdba@arm dmbak]$ dexp USERID=SYSDBA/'"bp7QamyGuzXD#4zE"'@localhost:5236 DIRECTORY=/data/dmdata/dmbak FILE=db_tables_exp_2024_04_08_17_36_20.dmp TABLES="POSSECU".'"t_cmm_server_info"' TABLESPACE=N DROP=N LOG=db_tables_exp_2024_04_08_17_36_20.log LOG_WRITE=N
# 表不存在,无需创建,如果存在该表,则需删除该表,使用如下命令即可恢复
[dmdba@arm-03 dmbak]$ dimp USERID=SYSDBA/'"bp7QamyGuzXD#4zE"'@localhost:5236 DIRECTORY=/dmdata/dmbak FILE=db_tables_exp_2024_04_08_17_36_20.dmp TABLES="POSSECU".'"t_cmm_server_info"' IGNORE=N COMPILE=Y INDEXFIRST=N TABLE_FIRST=N COMMIT_ROWS=5000 FAST_LOAD=N LOG=db_tables_imp_2024_04_08_17_36_20.log LOG_WRITE=N

2、大小写不敏感

# 备份表
[dmdba@arm-03 dmbak]$ dexp USERID=SYSDBA/'"bp7QamyGuzXD#4zE"'@localhost:5236 DIRECTORY=/dmdata/dmbak FILE=db_tables_exp_2024_04_08_17_36_20.dmp TABLES="POSSECU"."file_seq" TABLESPACE=N DROP=N LOG=db_tables_exp_2024_04_08_17_36_20.log LOG_WRITE=N
# 表不存在,无需创建,如果存在该表,则需删除该表,使用如下命令即可恢复
[dmdba@arm-03 dmbak]$ dimp USERID=SYSDBA/'"bp7QamyGuzXD#4zE"'@localhost:5236 DIRECTORY=/dmdata/dmbak FILE=db_tables_exp_2024_04_08_17_36_20.dmp TABLES="POSSECU"."file_seq" IGNORE=N COMPILE=Y INDEXFIRST=N TABLE_FIRST=N COMMIT_ROWS=5000 FAST_LOAD=N LOG=db_tables_imp_2024_04_08_17_36_20.log LOG_WRITE=N

四、图形化方式逻辑导入导出

4.1、数据库级(FULL)

1、备份库

在这里插入图片描述
2、恢复库
在这里插入图片描述


4.2、用户级(OWNER)

1、备份用户
在这里插入图片描述

2、恢复用户
在这里插入图片描述


4.3、模式级(SCHEMAS)

1、备份模式
在这里插入图片描述

2、恢复模式
在这里插入图片描述


4.4、表级(TABLES)

1、备份表
在这里插入图片描述

2、恢复表
在这里插入图片描述


总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:Linux运维实战总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东城绝神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值