表空间&数据文件

/*

一、概念

表空间:是一个或多个数据文件的逻辑集合

表空间逻辑存储对象:

Ø  永久段-->如表与索引

Ø  临时段-->如临时表数据与排序段

Ø  回滚段-->用于事物回滚或闪回内存的撤销数据

表空间分类:系统表空间(systemsysaux),非系统表空间

      一个表空间至少包含一个数据文件,一个数据文件只能属于一个表空间。

不可或缺的几个表空间:

SYSTEM --->字典表空间,不能被损坏

UNDO  --->dml把数据快照到此,数据提交即消失(用于恢复),只能有一个undo表空间起作用

SYSAUX      --->10g 高并发系统繁忙时,会造成system争用,将工具放到SYSAUX,减轻system的压力,SYSAUX不影响系统(影响性能),存储awr,和system一样不可或缺,否则数据库不能正常运行

TEMP  --->临时数据相关的内容,比如hashjoin,排序,pga容量不足是占用,只能有一个临时表空间起作用

USERS --->10g用户数据从system拨离出来,如果创建用户没有使用表空间所指定的默认表空间

      Undotemp表空间最好是分组,这样减少不同session出现争用。

      从逻辑的角度来看,一个数据库(database)下面可以分多个表空间(tablespace);一个表空间下面又可以分多个段(segment);一个数据表要占一个段(segment),一个索引也要占一个段(segment)。一个段(segment)由多个区间(extent)组成,那么一个区间又由一组连续的数据块(data block)组成。这连续的数据块是在逻辑上是连续的,有可能在物理磁盘上是分散。

二、Oracle的存储结构

1.Schema: 用户--->创建相关对象、表、视图、序列、函数、存储过程、包等,其实你创建了用户,也就对应创建了这个用户的schema

2.逻辑结构:database数据库--->tablespace表空间---> segment--->extent区间----> block

逻辑结构是Oracle内部管理数据库中对象的方式

3.物理结构:OS block --->datafile物理结构通常是一系列数据文件    

--查看scott用户的默认表空间及数据文件

      SQL> select username,default_tablespace,temporary_tablespace from dba_users    where username='XXX';

     

      SQL> colname format a50

      SQL>select t1.name,t2.name--查看表空间及数据文件

       2 from v$tablespace t1,v$datafile t2

       3 where t1.ts#= t2.ts#;

      NAMENAME

/*

      XXX--> table-->数据定义(位于)-->system表空间

                             数据(位于) -->user表空间(逻辑存储)-->表段-->区间-->内存块

                                                           -->索引段等-->区间-->内存块

                             user表空间(物理存储)-->user01.dbf

                             -->采用本地管理,包含头部信息,可用、已用等位图信息

                                                           

      databuffer缓冲区满则调用dbwr进程将数据写入到物理文件当中 */

      /*

三、创建表空间     

      --创建表空间的条件

      1.具有create tablespace的权限,DBA角色具有该权限,sysdba,sysoper

      2.创建的是bigfiel,还是smallifle超过T级别应考虑bigfile

      3.新建的表空间的I/O,是否会导致磁盘I/O不够用

      4.datafile后跟的路径应该具备写的权限 */

     

      --查看缺省是BIGFILE还是SMALLFILE,当缺省为SMALLFILE,创建表空间不指定表空间类型则为SMALLFILE

      SQL>select PROPERTY_NAME,PROPERTY_VALUEfrom database_propertieswhere PROPERTY_NAME like'%TBS%';

PROPERTY_NAME PROPERTY_VALUE

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

DEFAULT_TBS_TYPE SMALLFILE

     

      --修改创建表空间为大或小表空间的默认值

      SQL>alterdatabaseset default bigfile tablespace;

Database altered.

SQL> select PROPERTY_NAME,PROPERTY_VALUE from database_properties where PROPERTY_NAMElike'%TBS%';

PROPERTY_NAME PROPERTY_VALUE

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

DEFAULT_TBS_TYPE BIGFILE

     

      --改回为缺省值

      SQL>alterdatabaseset default smallfile tablespace;

Database altered.

     

      --建议创建表空间时最好带上[BIGFILE | SMALLFILE]参数,以免参数设置导致创建了不合理的表空间

      /*

      注意:

      大表文件(bigfile)最大可以存放个T的容量。头文件的大小达到了G-->block,普通的头文件大小为M---->block

      create bigfile tablespace <> datafile <>........;

            好处:减少了数据文件的个数,管理方便,大的对象的存放得到了优化。减少了control文件的信息,控制文件定义了datafile的个数。

            bigfile只能存在一个数据文件,所以要保证分配的的磁盘具有足够的空间。 */

      创建表空间最好是统一区大小,另外使用自动段管理,减少碎片

      --演示创建表空间

      SQL>create tablespace TBS1 datafile'/u01/app/oracle/oradata/orcl/tbs_1.dbf'size 100m;

      SQL>select t1.name,t2.namefrom v$tablespace t1,v$datafile t2

      where t1.ts#= t2.ts#; 

      /*

      创建临时表空间:

      创建临时表空间,不能使用非标准数据块,另临时表空间不能存放永久对象。*/

      CREATE TMEPORARY TABLESPACE tablespace_name

      TEMPFILE '...'SIZE n

      CREATE TEMPORARY TABLESPACE T2 TEMPFILE'/opt/oracle/oradata/orcl/t2.dbf'

      size 100m;

      /*

      临时表空间具有以下特征:

            临时数据文件不能置为只读

            临时数据文件不能重命名

            监时数据文件的日志方式总是NOLOGGING

           

      临时表空间扩容:*/

      --(1)重置临时文件大小

            alterdatabase tempfile'/opt/oracle/oradata/orcl/t2.dbf' resize 150m;

      --(2)让临时文件能自动扩展

            alterdatabase tempfile'/opt/oracle/oradata/orcl/t2.dbf'

            autoextend on next 10m maxsize 50m;

      --(3)增加临时文件

            alter tablespace t2add tempfile'/disk8/oracle/t2b.dbf'size 50m;

      --查看临时文件

            select TABLESPACE_NAME,FILE_NAME,BYTES/1024/1024 "SIZE(MB)"

            from dba_temp_files;

      --默认临时表空间:

             select*from database_properties;

      --修改默认临时表空间:

            ALTERDATABASEDEFAULT TEMPORARY TABLESPACE T2;

            /*

            默认临时表空间最好要指定一下,如果没有指定默认的临时表空间,那么将使用system表空间作为排序区----这个在10g之后已经用temp临时表空间取代,因为创建数据库的时候自动创建了一个

            默认临时表空间有一定的限制:

                 默认临时表空间不能删除

                 默认临时表空间不能脱机

                 

      获得创建表空间的语句:*/

            SELECT dbms_metadata.get_ddl('TABLESPACE','SYSTEM')FROM dual;

/*

      临时表空间组:

            10G引入的,是一组临时表空间,只能由临时表空间组成。组名不能与临时表空间同名

            临时表空间不能显示的创建和删除,当把第一个临时表空间分配给某个临时表空间组的时候,自动创建

            临时表空间组,将最后一个临时表空间,删除时,组也将自动删除。

      创建临时表空间组:

            1、创建临时表空间的时候 */

             CREATE TEMPORARY TABLESPACE tablespace_name TEMPFILE'...'SIZE n

             TABLESPACE GROUP group_name;

             ALTER TABLESPACE tablespace_name TABLESPACEGROUP group_name;

                  ALTER TABLESPACE T3 TABLESPACE GROUP TEMP_GRP;

      --查看临时表空间组的信息:

            dba_tablespace_groups

            SELECT*FROM DBA_TABLESPACE_GROUPS;

      --将临时表空间组成员移除:

            ALTER TABLESPACE tablespace_name TABLESPACEGROUP'';

      --删除临时表空间:

            --将所有成员全移出去,便自动删除

      --创建UNDO表空间(还原表空间):

/*

SQL> show parameter undo;
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string      AUTO
undo_retention                       integer     900
undo_tablespace                      string      UNDOTBS1
 
SQL> alter tablespace undotbs1 retention guarantee;
 
Tablespace altered

      创建语法:*/

            CREATE UNDO TABLESPACE tablespace_name DATAFILE'...'SIZE n

      SQL>CREATE UNDO TABLESPACE undo2

            DATAFILE '/opt/oracle/oradata/orcl/undo2_01.dbf' SIZE 200M,

            '/opt/oracle/oradata/orcl/undo2_02.dbf'size 100m;

      --修改当前系统的UNDO表空间:

            ALTER SYSTEMSET UNDO_TABLESPACE=tablespace_name

      /*   

      UNDO表空间扩容:

            ()重置DATAFILE大小

            ()让DATAFILEAUTOEXTEND

            ()添加数据文件

      删除UNDO表空间 */

            DROP TABLESPACE tablespace_name

       /*

            注:当前的UNDO表空间不能删除

             系统只能使用一个UNDO表空间 */

      --创建表空间的详细语法:

      /*

四、表空间的管理方式:

      字典管理:oracle 8i(不包括i),只存在一种表空间的管理模式,即字典管理表空间(DMT

            DMT是指oracle的空间分配或回收是通过数据库中的数据字典表来记录和管理的

            用于管理的两个数据字典表分别是:UET$used extents)FET$(freeextents)

            其工作方式是:当建立一个新的段或者段在表空间时,oracle通过一系列的SQL语句来完成这个工作且和前面的两个字典表有关,在繁忙的系统中会造成竞争和等待(另一个DMT会带来的问题是空间碎片)

           

      本地管理(LMT):   iR2版本后成了默认的选项,可以使用extent management local uniform size 1M选项制定

            LMT在表空间的数据文件头部加入了一个位图区域,在其中记录每个extent的使用状况当extent被使用或者被释放,oracle会更新头部的记录来反映这个变化,不产生回滚信息因为仅仅操作数据文件头部的几个数据块,不用操作数据字典,LMTDMT要快,尤其是在繁忙的时候更明显

      --查看表空间使用的管理方式: */

另外段的管理方式默认会使用自动,也可以制定

SEGMENT SPACE MANAGEMENT AUTO;这样就使用位图数组,而非之前的freelist链接列表管理了。避免了大并发的性能瓶颈

 

      SQL>select TABLESPACE_NAME,EXTENT_MANAGEMENT,BLOCK_SIZE,STATUS,CONTENTS,FORCE_LOGGING,BIGFILEfrom dba_tablespaces;

      --DMT LMT 的相互转换

            --将字典管理的表空间转换为本地管理

            exec dbms_space_admin.tablespace_migrate_to_local('表空间名')--表空间名用大写

            --将本地管理的表空间转换为字典管理

            exec dbms_space_admin.tablespace_migrate_from_local('表空间名')

      --表空间改名:

       --必须在open状态下,system , sysaux不能改名

            ALTER TABLESPACE XXX RENAMETO YYY

      --表空间的扩容:

       /*

       表空间的大小由组成它的所有数据文件的大小之和来决定

       扩容的方法:*/

       --(1)重置数据文件大小

             ALTERDATABASE DATAFILE'...'| FileNo RESIZE XX

             --(2)设置数据文件能自动增长

                  ALTER DATABASE DATAFILE '... '| FileNo AUTOEXTEND ON | OFF NEXT 20MMAXSIZE 300M;

                   --查看哪些表空间为自动增长

                  SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLEFROM dba_data_files;

                 

            /* (3)添加数据文件

                 增加到表空间中的数据文件不能直接从表空间中删除,除非删掉整个表空间

                 增加数据文件将有助于均衡I/O

                 一个表空间文件最多为个,文件越多,执行一次检查点的代价越高 */

                  ALTER TABLESPACE tablespace_name ADD DATAFILE'...'SIZE XX;

       

             ALTER TABLESPACE tbs2ADD DATAFILE'/u01/app/oracle/oradata/orcl/tbs2.dbf'size 200m autoextendon;

                 

      --表空间的四种状态:

            online

            offline

            read only

            read write 

            /*

      offline

            一个表空间的正常状态是联机(ONLINE),有时需要将某一个表空间进行脱机,以进行数据库维护

            如:

                 在数据库打开的状态下移动数据文件

                 在数据库打开的情况下恢复一个表空间或数据文件

                 执行表空间的脱机备份(虽然可以进行进行联机备份)

                 使数据库某一部分不可访问,让其它部分能正常访问。

            表空间脱机的时候,将产生检查点事件,该表空间上的数据是不能访问的

            命令:*/

            ALTER TABLESPACE tablespace_name OFFLINE;

            --联机命令:

            ALTER TABLESPACE tablespace_name ONLINE;

           

            --在脱机后,有可能无法再联机,这时要做数据的介质恢复

            ALTERDATABASE RECOVER TABLESPACE tablespace_name

            ALTER TABLESPACE tablespace_name ONLINE;

            /*

      read only:

       不能执行DML语句,可以使用的为DDLDQL语句 */

            ALTER TABLESPACE tablespace_nameREAD ONLY;

      read write:

            ALTER TABLESPACE tablespace_nameREAD WRITE;

     

      --一些表空间的特殊状态

       tablespacename onlie read only

             system 必须online 必须read write

             sysaux 可以offline 不能read only

             undo 不能offline 不能read only

       

--查看表空间的状态

      SQL>select tablespace_name,file#,v.status,v.enabledfrom dba_data_files d,

       2 v$datafile v

       3 where d.file_id= v.file#;

      TABLESPACE_NAME FILE# STATUS ENABLED

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

      SYSTEM 1 SYSTEM READ WRITE

      UNDOTBS1 2 ONLINE READ WRITE

      SYSAUX 3 ONLINE READ WRITE

      USERS 4 ONLINE READ WRITE

      EXAMPLE 5 ONLINE READ WRITE

      TBS1 6 ONLINE READ WRITE           

     

      --几种状态的相互转换的演示

      --将表空间置为只读

      SQL>alter tablespace usersread only;

      Tablespace altered.

      SQL>update scott.empset sal= sal + 50where ename='SCOTT';--置为只读后不可更新

      update scott.empset sal= sal+ 50 where ename = 'SCOTT'

                         *

      ERROR at line 1:

      ORA-00372:file 4 cannot be modified at thistime

      ORA-01110: datafile 4:'/u01/app/oracle/oradata/orcl/users01.dbf'

      SQL>select tablespace_name,file#,v.status,v.enabledfrom dba_data_files d,

       2 v$datafile v

       3 where d.file_id= v.file#and tablespace_name ='USERS';

      TABLESPACE_NAME FILE# STATUS ENABLED

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

      USERS 4 ONLINE READ ONLY

     

      --将表空间置为脱机

      SQL>alter tablespace users offline;

      Tablespace altered.

      SQL>update scott.empset sal= sal + 100where ename= 'SCOTT';/*置为脱机后不可更新*/

      update scott.empset sal= sal+ 100 where ename= 'SCOTT'

                         *

      ERROR at line 1:

      ORA-00376:file 4 cannot beread at thistime

      ORA-01110: datafile 4:'/u01/app/oracle/oradata/orcl/users01.dbf'

     

      --将表空间置为联机

      SQL>alter tablespace users online;

     

      Tablespace altered.

      SQL>select tablespace_name,file#,v.status,v.enabledfrom dba_data_files d,

       2 v$datafile v

       3 where d.file_id= v.file#and tablespace_name ='USERS';

      TABLESPACE_NAME FILE# STATUS ENABLED

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

      USERS 4 ONLINE READ ONLY

     

      --注意,readonly状态下的表空间可以删除数据,仅仅是不能插入或更新数据,如下

      SQL>deletefrom scott.empwhere ename='SCOTT';

      SQL>rollback;

      Rollback complete.

      --将表空间置为读写状态

      SQL>alter tablespace usersread write;  

      --表空间数据文件的重命名或重定位

      --方法一,在open状态下且处于archive模式:

            --1、查出数据文件位置和所属的表空间

                  select TABLESPACE_NAME,FILE_NAME,BYTES/1024/1024 "SIZE(MB)"

                  from dba_data_files;

            --2、将数据文件所在的表空间离线

                  alter tablespace uu offline;

            --3、在操作系统下将文件移动到另外一个位置,或重命名(建议使用cp)

                  host mv /opt/oracle/oradata/orcl/tt.dbf/disk9/uu1.dbf

           

            --4、修改控制文件,将数据文件的指针重新指向到另一个位置(执行rename)

                  alter tablespace uu rename datafile '/opt/oracle/oradata/orcl/tt.dbf'

                  to '/disk9/uu1.dbf';

            --5、表空间在线

                  alter tablespace uu online

            例如:

 

-- tbs
alter tablespace TBS offline;
host mv
alter tablespace tbs rename datafile 'C:\ORADATA\TBS_DATA03.DBF' to  'E:\oradata\TBS_DATA03.DBF';
alter tablespace TBS  online;

-- datafile&tempfile
alter database tempfile 'C:\ORADATA\TEMP01.DBF' offline;
host mv
alter database rename file 'C:\ORADATA\TEMP02.DBF' to 'D:\ORADATA\ORCL\TEMP02.DBF';
alter database tempfile 'D:\ORADATA\TEMP02.DBF' offline;

 

 

 

 

 

      --方法二,不能脱机的表空间  如果非归档模式,只能脱机表空间,脱机单独数据文件时候将出错 alter database datafile xxx offline;

            --1、关闭数据库,再启动到mount状态

                  startup mount

            --2、在操作系统下,移动或重命名文件

                  host mv /opt/oracle/oradata/orcl/tt.dbf/disk9/uu1.dbf

            --3、修改控制文件

                  alter database rename file '/disk8/uu.dbf' to '/disk8/uu2.dbf';

           

            --4、打开数据库

                  alter database open;

      /*   

      删除表空间: 

            意味着表空间和数据文件的信息从数据库中删除,同时也应该将相应的操作系统文件删除

            不能删除的表空间

                 系统表空间

                 有活动回滚段的表空间

                 默认临时/永久表空间

            命令:*/

                  DROP TABLESPACE tablespace_name [INCLUDING CONTENTS [AND DATAFILES]]

                   INCLUDING CONTENTS -- 删除表空间及所有段

                        INCLUDING CONTENTS [AND DATAFILES] CASCADE CONSTRAINT--删除表空间、所有段、数据文件、同时删除系统中的物理文件

      删除损坏的临时表空间

如果临时表空间中有一个文件坏块或者文件误删,可以新增一个文件在删除错误的临时表空间文件即可,比如temp表空间下的文件'D:/oracle/oradata/temp01.dbf'损坏可以执行如下步骤替换
  

alter tablespace temp add tempfile 'E:/oracle/oradata/temp02.dbf' size 50m;
alter tablespace temp drop tempfile 'D:/oracle/oradata/temp01.dbf';

      --限制某个用户对表空间的使用:

      ALTERUSERuser_name QUOTA nON tablespace_name;

      ALTERUSER scott QUOTA 10mon UU;

      --取消限制

      ALTERUSERuser_name QUOTA UNLIMITEDON tablespace_name;

      GRANT UNLIMITED TABLESPACETOuser_name;

      --单个数据文件离线:

            --1、查看有哪些数据文件

                  SELECT name FROM v$datafile;

            --2、离线

                  ALTER DATABASE DATAFILE '...' OFFLINE;

            --3、在线   

                  ALTER DATABASE DATAFILE '... ' ONLINE

            --   有可能提示要进行介质恢复:

                  RECOVER DATAFILE '...'

                  ALTER DATABASE RECOVER TABLESPACE tablespace_name;

            --   之后再将文件再线

      --重命名数据文件(同前面移动数据文件一样) 

--获取表空间和数据文件信息

            --表空间信息

                  dba_tablespaces

                  v$tablespace

            --数据文件信息

             dba_data_files

                  v$datafile

            --临时数据文件信息

             dba_temp_files

                  v$tempfile

           

      --查看系统默认的表空间及临时表空间:   

            SQL>select PROPERTY_NAME,PROPERTY_VALUEfrom database_properties

            2 where PROPERTY_NAMElike'DEFAULT%';

      --修改改系统的默认表空间:

            SQL>ALTERDATABASEDEFAULT TABLESPACE tablespace_name

      --修改系统的默认临时表空间:

            SQL>ALTERDATABASEDEFAULT TEMPORARY TABLESPACE tablespace_name

      --查看用户默认表空间:

            SQL>select USERNAME,USER_ID,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACEfrom dba_users;

      --修改用户默认表空间:

            SQL>ALTERUSERuser_nameDEFAULT TABLESPACE tablespace_name

           

      --查看表空间的使用情况:

            dba_data_files;

            dba_free_space;

                 

            --例:查每个表空间的剩余空间

            SQL>select tablespace_name,sum(bytes/1024/1024)

             2 from dba_free_space group by tablespace_name;

/*

五、数据文件

      数据文件是数据库中最重要的一个要求,是所有的数据库内容存放的地方

      datafile是按照表空间为组织单位,表空间的构成是按照段区块为层次---数据文件的逻辑结构

      datafile就是表空间的物理文件。

      datafile中的内容是通过dbwrdata buffer cache中的dirty buffer data 写入的

      dbwr触发:

       ckpt触发,dirty buffer到一定量的时候,data buffer caceh的内存空间快用完了

            查询空闲内存空间超时,表空间offline/read only,表的drop, truncate开始执备份表空间的时候 */

           

      --查看数据文件

      SQL>select file#,name,status,enabled,bytes/1024/1024 M from v$datafile;

                   

      SQL>select tablespace_name,file_name,user_bytes/1024/1024 Mfrom dba_data_files;

--数据文件的增加与删除

      --TBS1增加一个数据文件

      SQL>alter tablespace tbs1add datafile'/u01/app/oracle/oradata/orcl/tbs1_3.dbf'size 10m autoextend on;

--还有一种创建表空间时不指定大小,而是重用一个存在的dbf要用resue参数,reuse是把原有的结构拿来用,里面的数据是用不了的,因为早都没有了。

     

      --删表空间中的数据文件,g以后的版本才用以下功能,在之前版本的就只能把表空间给干掉。

      SQL>alter tablespace tbs1drop datafile'/u01/app/oracle/oradata/orcl/tbs1_3.dbf';

     

      --有数据的数据文件不能删。第一个不能删,如果要删就把表空间干掉,数据文件中有数据写入的文件也不能删除,如下

      SQL>alter tablespace tbs1drop datafile 7;--7v$datafile中的file#.

      alter tablespace tbs1drop datafile 7

      *

      ERROR at line 1:

      ORA-03262: thefileis non-empty

     

      /*

      数据文件的日志记录

            只有temp表空间是nologing别的都是logging

日志记录的几种模式        

             nologin 并不是不记录日志而是记录的很少

                 logging正常记录日志信息

             force logging 记录的日志比logging还详细记录信息非常多用于DG data guard容灾的情况 */

      SQL>select tablespace_name,logging,force_loggingfrom dba_tablespaces;

      TABLESPACE_NAME LOGGING FOR

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

      SYSTEM LOGGING NO

      UNDOTBS1 LOGGING NO

      SYSAUX LOGGING NO

      TEMP NOLOGGING NO

      USERS01 LOGGING NO

      EXAMPLE NOLOGGING NO

      TBS1 LOGGING NO

     

      --修改表空间中日志文件记录的方式

            SQL>alter tablespace tablespace_name nologging| logging| force logging;

     

      SQL>alter tablespace example logging;

      Tablespace altered.

      SQL>alter tablespace tbs1 force logging;

      Tablespace altered.

      SQL>select tablespace_name,logging,force_loggingfrom dba_tablespaces;

      TABLESPACE_NAME LOGGING FOR

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

      SYSTEM LOGGING NO

      UNDOTBS1 LOGGING NO

      SYSAUX LOGGING NO

      TEMP NOLOGGING NO

      USERS01 LOGGING NO

      EXAMPLE LOGGING NO

      TBS1 LOGGING YES

 本文参考了http://blog.csdn.net/leshami/article/details/5611738,也添加修改了一些的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

朝闻道-夕死可矣

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

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

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

打赏作者

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

抵扣说明:

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

余额充值