ORACLE实例的进程结构和内存结构

将Keil中的变量数组导出 首先,写好导出数据的函数。 阅读详情
导读:
   <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
1. ORACLE实例的进程结构和内存结构
  1) 进程结构
  进程是操作系统中的一种机制,它可执行一系列的操作步。在有些操作系统中使
  用作业(JOB)或任务(TASK)的术语。一个进程通常有它自己的专用存储区。ORACL
  E进程的体系结构设计使性能最大。
  ORACLE实例有两种类型:单进程实例和多进程实例。
  单进程ORACLE(又称单用户ORACLE)是一种数据库系统,一个进程执行全部ORAC
  LE代码。由于ORACLE部分和客户应用程序不能分别以进程执行,所以ORACLE的代
  码和用户的数据库应用是单个进程执行。
  在单进程环境下的ORACLE 实例,仅允许一个用户可存取。例如在MS-DOS上运行O
  RACLE 。
  多进程ORACLE实例(又称多用户ORACLE)使用多个进程来执行ORACLE的不同部分
  ,对于每一个连接的用户都有一个进程。
  在多进程系统中,进程分为两类:用户进程和ORACLE进程。当一用户运行一应用
  程序,如PRO*C程序或一个ORACLE工具(如SQL*PLUS),为用户运行的应用建立一
  个用户进程。ORACLE进程又分为两类:服务器进程和后台进程。服务器进程用于
  处理连接到该实例的用户进程的请求。当应用和ORACELE是在同一台机器上运行,
  而不再通过网络,一般将用户进程和它相应的服务器进程组合成单个的进程,可
  降低系统开销。然而,当应用和ORACLE运行在不同的机器上时,用户进程经过一
  个分离服务器进程与ORACLE通信。它可执行下列任务:
   对应用所发出的SQL语句进行语法分析和执行。
   从磁盘(数据文件)中读入必要的数据块到SGA的共享数据库缓冲区(
  该块不在缓冲区时)。
   将结果返回给应用程序处理。
  系统为了使性能最好和协调多个用户,在多进程系统中使用一些附加进程,称为
  后台进程。在许多操作系统中,后台进程是在实例启动时自动地建立。一个ORAC
  LE实例可以有许多后台进程,但它们不是一直存在。后台进程的名字为:
  DBWR 数据库写入程序
  LGWR 日志写入程序
  CKPT 检查点
  SMON 系统监控
  PMON 进程监控
  ARCH 归档
  RECO 恢复
  LCKn 封锁
  Dnnn 调度进程
  Snnn 服务器
  每个后台进程与ORACLE数据库的不同部分交互。
  下面对后台进程的功能作简单介绍:
  DBWR进程:该进程执行将缓冲区写入数据文件,是负责缓冲存储区管理的一个OR
  ACLE后台进程。当缓冲区中的一缓冲区被修改,它被标志为“弄脏”,DBWR的主
  要任务是将“弄脏”的缓冲区写入磁盘,使缓冲区保持“干净”。由于缓冲存储
  区的缓冲区填入数据库或被用户进程弄脏,未用的缓冲区的数目减少。当未用的
  缓冲区下降到很少,以致用户进程要从磁盘读入块到内存存储区时无法找到未用
  的缓冲区时,DBWR将管理缓冲存储区,使用户进程总可得到未用的缓冲区。
  ORACLE采用LRU(LEAST RECENTLY USED)算法(最近最少使用算法)保持内存中
  的数据块是最近使用的,使I/O最小。在下列情况预示DBWR 要将弄脏的缓冲区写
  入磁盘:
   当一个服务器进程将一缓冲区移入“弄脏”表,该弄脏表达到临界长度
  时,该服务进程将通知DBWR进行写。该临界长度是为参数DB-BLOCK-WRITE-BATCH
  的值的一半。
   当一个服务器进程在LRU表中查找DB-BLOCK-MAX-SCAN-CNT缓冲区时,没
  有查到未用的缓冲区,它停止查找并通知DBWR进行写。
   出现超时(每次3秒),DBWR 将通知本身。
   当出现检查点时,LGWR将通知DBWR
  在前两种情况下,DBWR将弄脏表中的块写入磁盘,每次可写的块数由初始化参数
  DB-BLOCK-WRITE-BATCH所指定。如果弄脏表中没有该参数指定块数的缓冲区,DB
  WR从LUR表中查找另外一个弄脏缓冲区。
  如果DBWR在三秒内未活动,则出现超时。在这种情况下DBWR对LRU表查找指定数目
  的缓冲区,将所找到任何弄脏缓冲区写入磁盘。每当出现超时,DBWR查找一个新
  的缓冲区组。每次由DBWR查找的缓冲区的数目是为寝化参数DB-BLOCK-WRITE-BAT
  CH的值的二倍。如果数据库空运转,DBWR最终将全部缓冲区存储区写入磁盘。
  在出现检查点时,LGWR指定一修改缓冲区表必须写入到磁盘。DBWR将指定的缓冲
  区写入磁盘。
  在有些平台上,一个实例可有多个DBWR。在这样的实例中,一些块可写入一磁盘
  ,另一些块可写入其它磁盘。参数DB-WRITERS控制DBWR进程个数。
  LGWR进程:该进程将日志缓冲区写入磁盘上的一个日志文件,它是负责管理日志
  缓冲区的一个ORACLE后台进程。LGWR进程将自上次写入磁盘以来的全部日志项输
  出,LGWR输出:
   当用户进程提交一事务时写入一个提交记录。
   每三秒将日志缓冲区输出。
   当日志缓冲区的1/3已满时将日志缓冲区输出。
   当DBWR将修改缓冲区写入磁盘时则将日志缓冲区输出。
  LGWR进程同步地写入到活动的镜象在线日志文件组。如果组中一个文件被删除或
  不可用,LGWR 可继续地写入该组的其它文件。
  日志缓冲区是一个循环缓冲区。当LGWR将日志缓冲区的日志项写入日志文件后,
  服务器进程可将新的日志项写入到该日志缓冲区。LGWR 通常写得很快,可确保日
  志缓冲区总有空间可写入新的日志项。
  注意:有时候当需要更多的日志缓冲区时,LWGR在一个事务提交前就将日志项写
  出,而这些日志项仅当在以后事务提交后才永久化。
  ORACLE使用快速提交机制,当用户发出COMMIT语句时,一个COMMIT记录立即放入
  日志缓冲区,但相应的数据缓冲区改变是被延迟,直到在更有效时才将它们写入
  数据文件。当一事务提交时,被赋给一个系统修改号(SCN),它同事务日志项一
  起记录在日志中。由于SCN记录在日志中,以致在并行服务器选项配置情况下,恢
  复操作可以同步。
  CKPT进程:该进程在检查点出现时,对全部数据文件的标题进行修改,指示该检
  查点。在通常的情况下,该任务由LGWR执行。然而,如果检查点明显地降低系统
  性能时,可使CKPT进程运行,将原来由LGWR进程执行的检查点的工作分离出来,
  由CKPT进程实现。对于许多应用情况,CKPT进程是不必要的。只有当数据库有许
  多数据文件,LGWR在检查点时明显地降低性能才使CKPT运行。CKPT进程不将块写
  入磁盘,该工作是由DBWR完成的。
  初始化参数CHECKPOINT-PROCESS控制CKPT进程的使能或使不能。缺省时为FALSE,
  即为使不能。
  SMON进程:该进程实例启动时执行实例恢复,还负责清理不再使用的临时段。在
  具有并行服务器选项的环境下,SMON对有故障CPU或实例进行实例恢复。SMON进程
  有规律地被呼醒,检查是否需要,或者其它进程发现需要时可以被调用。
  PMON进程:该进程在用户进程出现故障时执行进程恢复,负责清理内存储区和释
  放该进程所使用的资源。例:它要重置活动事务表的状态,释放封锁,将该故障
  的进程的ID从活动进程表中移去。PMON还周期地检查调度进程(DISPATCHER)和
  服务器进程的状态,如果已死,则重新启动(不包括有意删除的进程)。
  PMON有规律地被呼醒,检查是否需要,或者其它进程发现需要时可以被调用。
  RECO进程:该进程是在具有分布式选项时所使用的一个进程,自动地解决在分布
  式事务中的故障。一个结点RECO后台进程自动地连接到包含有悬而未决的分布式
  事务的其它数据库中,RECO自动地解决所有的悬而不决的事务。任何相应于已处
  理的悬而不决的事务的行将从每一个数据库的悬挂事务表中删去。
  当一数据库服务器的RECO后台进程试图建立同一远程服务器的通信,如果远程服
  务器是不可用或者网络连接不能建立时,RECO自动地在一个时间间隔之后再次连
  接。
  RECO后台进程仅当在允许分布式事务的系统中出现,而且DISTRIBUTED – TRANS
  ACTIONS参数是大于0。
  ARCH进程:该进程将已填满的在线日志文件拷贝到指定的存储设备。当日志是为
  ARCHIVELOG使用方式、并可自动地归档时ARCH进程才存在。
  LCKn进程:是在具有并行服务器选件环境下使用,可多至10个进程(LCK0,LCK1
  ……,LCK9),用于实例间的封锁。
  Dnnn进程(调度进程):该进程允许用户进程共享有限的服务器进程(SERVER P
  ROCESS)。没有调度进程时,每个用户进程需要一个专用服务进程(DEDICATEDS
  ERVER PROCESS)。对于多线索服务器(MULTI-THREADED SERVER)可支持多个用
  户进程。如果在系统中具有大量用户,多线索服务器可支持大量用户,尤其在客
  户_服务器环境中。
  在一个数据库实例中可建立多个调度进程。对每种网络协议至少建立一个调度进
  程。数据库管理员根据操作系统中每个进程可连接数目的限制决定启动的调度程
  序的最优数,在实例运行时可增加或删除调度进程。多线索服务器需要SQL*NET版
  本2或更后的版本。在多线索服务器的配置下,一个网络接收器进程等待客户应用
  连接请求,并将每一个发送到一个调度进程。如果不能将客户应用连接到一调度
  进程时,网络接收器进程将启动一个专用服务器进程。该网络接收器进程不是OR
  ACLE实例的组成部分,它是处理与ORACLE有关的网络进程的组成部分。在实例启
  动时,该网络接收器被打开,为用户连接到ORACLE建立一通信路径,然后每一个
  调度进程把连接请求的调度进程的地址给予于它的接收器。当一个用户进程作连
  接请求时,网络接收器进程分析请求并决定该用户是否可使用一调度进程。如果
  是,该网络接收器进程返回该调度进程的地址,之后用户进程直接连接到该调度
  进程。有些用户进程不能调度进程通信(如果使用SQL*NET以前的版本的用户),
  网络接收器进程不能将如此用户连接到一调度进程。在这种情况下,网络接收器
  建立一个专用服务器进程,建立一种合适的连接。
  2)、ORACLE内存结构
  ORACLE在内存存储下列信息:
   执行的程序代码。
   连接的会话信息
   程序执行期间所需数据和共享的信息
   存储在外存储上的缓冲信息。
  ORACLE具有下列基本的内存结构:
   软件代码区
   系统全局区,包括数据库缓冲存储区、日志缓冲区和共享池.
   程序全局区,包括栈区和数据区.
   排序区
  软件代码区
  用于存储正在执行的或可以执行的程序代码。
  软件区是只读,可安装成共享或非共享。ORACLE系统程序是可共享的,以致多个
  ORACLE用户可存取它,而不需要在内存有多个副本。用户程序可以共享也可以不
  共享。
  系统全局区
  为一组由ORACLE分配的共享的内存结构,可包含一个数据库实例的数据或控制信
  息。如果多个用户同时连接到同一实例时,在实例的SGA中数据可为多个用户所共
  享,所以又称为共享全局区。当实例起动时,SGA的存储自动地被分配;当实例关
  闭时,该存储被回收。所有连接到多进程数据库实例的全部用户可自动地被分配
  ;当实例关闭时,该存储被回收。所有连接到多进程数据库实例的全部用户可使
  用其SGA中的信息,但仅仅有几个进程可写入信息。在SGA中存储信息将内存划分
  成几个区:数据库缓冲存储区、日志缓冲区、共享池、请求和响应队列、数据字
  典存储区和其它各种信息。
  程序全局区
  PGA是一个内存区,包含单个进程的数据和控制信息,所以又称为进程全局区(P
  ROCESS GLOBAL AREA)。
  排序区
  排序需要内存空间,ORACLE利用该内存排序数据,这部分空间称为排序区。排序
  区存在于请求排序的用户进程的内存中,该空间的大小为适就排序数据量的大小
  ,可增长,但受初始化参数SORT-AREA-SIZER所限制。
  (http://www.fanqiang.com)

本文转自
http://fanqiang.chinaunix.net/db/oracle/2001-05-14/1367.shtml
Calibre LVS 问题解析 LVS常见问题与解决办法 阅读详情

相关推荐

DirectX修复工具使用技巧之二——手动修复C++创建失败的文件

最后更新:2021-2-25 随着V4.0正式版的发布,近来有部分用户来咨询如何解决C++文件创建失败的问题。在此我将以解决最常见的C++2015-2019文件创建失败为例,向大家演示一下在线修复的方法,其他C++或文件的方法大同小异。此次操作以Windows 7为例,其他系统相应参考即可。 首先,如果希望程序能手动在线修复创建失败的失败,请首先确定您使用的V4.0.2版或更高版本,老版本不支持此功能。查看程序版本的方式可以把鼠标放在DirectX Repair.e...

VBcom的专栏 6万+

ORACLE实例的进程结构和内存

1. ORACLE实例的进程结构和内存结构 1) 进程结构 进程是操作系统中的一种机制,它可执行一系列的操作步。在有些操作系统中使 用作业(JOB)或任务(TASK)的术语。一个进程通常有它自己的专用存储区。ORACL E进程的...

ciqian8449的博客 284

Autodesk激活无无网络选项?许可类型与脱机激活排查修复指南

软件许可激活是保障正版授权正常使用的核心环节,常见的授权模式包括单机版许可和网络版许可,两者在认证机制和应用场景上有所区别。单机版离线授权依托 FlexNet Licensing Service 等底层服务组件,在断网或内网环境下为用户提供可靠的技术支持与授权验证路径。然而在实际部署中,激活窗口并不总是显示“无网络激活方式”入口,这可能与许可类型选择、网络环境干扰、组件安装残留或系统时间偏差有关。理解入口的动态呈现逻辑与排查顺序,有助于在 AutoCAD、Revit 等 Autodesk 产品中高效解决脱机

weixin_28709649的博客 355

再述oracle数据库体系结构 之三:内存结构与动态内存管理

第七篇 再述oracle数据库体系结构 之三:内存结构与动态内存管理  内存是影响数据库性能的重要因素。  oracle8i使用静态内存管理,即,SGA内是预先在参数中配置好的,数据库启动时就按这些配置来进行内在分配,oracle10g引入了动态内存管理,即在数据库运行过程中,内存大小可以在线修改与自动配置。  oracle数据库的内存可以分为:系统全局区、程序全局区、排序区、大池、java池。一

风之去向 874

[多智能体强化学习] 王树森YouTube课程笔记

前言 近期在设计V2X资源分配任务下的状态空间和动作空间,可以说是一筹莫展,是自己菜,现在看来可能也是涉及到一些关于多智能体强化学习实现过程中过于细节的点,目前的知识储备还不够。因此打算用半周到一周的时间重电,希望之后能有进展。 本文内容来自于友人LX所推荐的油管教程,链接如下:多智能体强化学习,一共两节课40min左右。教程废话不多干货不少,老师的声音还好听,推荐直接去看原教程。 这里还要多一嘴,那就是对于强化学习来说,单主体和多主体的界限,在某种程度上来说是很模糊的,并不是场景中有多个主体需要..

观林望实的博客 3364

ENVI-met新手必看:从零开始创建城市微气候模型(附详细步骤+底图制作技巧)

本文为ENVI-met新手提供从零开始创建城市微气候模型的详细指南,包括环境准备、参数配置、底图制作技巧和三维模型构建步骤。特别针对常见问题提供解决方案,帮助初学者快速掌握城市微气候模拟技术,提升建模效率。

weixin_29269441的博客 407

oracle内存结构概述,详解Oracle实例内存结构和进程结构

由于内存结构和进程结构关系较紧密,进程会作用到对应的内存区域,比如数据库写入器作用到数据库缓冲区缓存中,日志写入器会作用到日志缓冲区,所以在这里我把内存结构和进程结构会相互配合地进行描述~Oracle实例内存结构的组成结构:实例内存结构oracle实例内存结构由两部分组成SGA(系统全局区)和PGA(用户全局区)组成,SGA是一块共享的内存区域,也是***的一块内存区域;PGA则是用户会话专有的内...

weixin_42400970的博客 1214

基于改进YOLOv5的小目标检测 | 添加CBAM注意机制 + 更换Neck网络之BiFPN + 增加高分辨率检测头

本文针对图像中小目标难以检测的问题,提出了一种基于YOLOv5的改进模型。在主干网络中,加入CBAM注意力模块增强网络特征提取能力;在颈部网络部分,使用BiFPN结构替换PANet结构,强化底层特征利用;在检测头部分,增加高分辨率检测头,改善对于微小目标的检测能力。本文算法在无人机数据集VisDrone2019数据集上进行了多次对比实验,结果表明本文算法可以有效地检测小目标。🌈

小哥谈 2937

ORACLE实例的进程结构和内存结构(转)

ORACLE实例的进程结构和内存结构[@more@]1. ORACLE实例的进程结构和内存结构 1) 进程结构 进程是操作系统中的一种机制,它可执行一系列的操作步。在有些操作系统中使 用作业(JOB)或任务(TASK)的术语...

congwan5321的博客 97

博途S7-1500T 使用工艺对象驱动液压轴(含SimaHydTO库)

利用工艺对象控制液压轴位置含PLC控制和仿真程序文档资料下载地址如下:液压比例伺服阀的相关应用知识请参看下面的博客文章:液压位置闭环控制(比例伺服阀应用)_RXXW_Dor的博客-优快云博客。

RXXW_Dor的博客 2899

SAP PI 系统复制,不只是把数据库拷过去,而是一次集成拓扑的重新落位

文章摘要:SAP PI/PO系统刷新生产数据到测试环境时,标准系统复制无法自动处理集成中枢特有的环境绑定问题。系统复制后,PI仍保留生产环境的连接配置,可能导致测试系统向生产环境发送消息。SAP提供的CTC模板可自动化部分后续配置,但无法替代人工对接口风险的全面评估。关键在于系统复制前绘制接口风险地图,复制后进行分层次验证:禁用生产连接、重定向测试接口、复核安全配置,并通过代表性链路测试确保系统行为符合预期。这需要结合SAP标准流程与业务语义判断,形成完整的治理闭环。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 84

Oracle数据库实例的内存和进程结构

 Oracle数据库实例的内存和进程结构<!--google_ad_client = "pub-0660578626274101";/* 300x250, 创建于 07-12-13 */google_ad_slot = "5846816625";google_ad_width = 300;google_ad_height =

haihaihai399的专栏 787

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Oracle体系结构:内存结构和进程结构

(一)内存结构和进程结构 Oracle数据库的总体结构如下图:  1:Oracle实例(Instance)           在一个服务器中,每一个运行的Oracle数据库都与一个数据库实例相联系,实例是我们 访问数据库的手段。  实例在操作系统中用ORACLE_SID来标识,在Oracle中用参数INSTANCE_NAME来标识, 它们两个的值是相同的。数据库启动时,系统首先在服务器内

风之去向 1340

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Oracle数据库体系结构(内存结构和进程结构)

   Oracle数据库体系结构(oracle 10g)         (一)内存结构和进程结构Oracle数据库的总体结构如下图: 1:Oracle实例(Instance)           在一个服务器中,每一个运行的Oracle数据库都与一个数据库实例相联系,实例是我们 访问数据库的手段。  实例在操作系统中用ORACLE_SID来标识,在Oracle中用

ruixj的专栏 6451

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Oracle每个会话使用的pga,Oracle系统结构概述二(实例结构)

一.概述Oracle实例的构成:Oracle数据库实例(Oracle Instance)主要包括Oracle进程结构和Oracle内存结构两种。二.ORACLE的内存结构内存结构是Oracle数据库系统结构中最为重要的一部分,内存也是影响数据库性能的第一因素。按照对内存的使用方法的不同,Oracle数据库的内存可以分为:系统全局区SGA(System Global Area)程序全局区PGA(Pr...

weixin_35836574的博客 406

ORACLE数据库学习之体系结构

Oracle 体系结构 ORACLE数据库体系结构决定了oracle如何使用网络、磁盘和内存。包括实例(instance),文件(file)和进程(process不包括后台进程)三部分。 实例:每一个运行的ORACLE数据库与一个ORACLE实例(INSTANCE)相联系。每一次在数据库服务器上启动一数据库时,称为系统全局区(SYSTEMGLOBAL AREA)的一内

淡 1950

oracle实例进程结构

实例后台进程在启动实例时启动,在终止实例时终止运行。有这样5个后台进程,oracle使用它们历史长久,系统监视器(System Monitor,SMON)、进程监视器(Process Monitor,PMON)、数据库写入器(Database Writer,DBWn)、日志写入器(Log Writer,LGWR)和检查点进程(Checkpoint Process,CKPT)。在更新的产品版本中,引

热恋oracle的博客 2646

Oracle体系结构:内存结构和进程结构(转)

http://bbs.cnw.cn/viewthread.php?tid=52707(一)内存结构和进程结构 Oracle数据库的总体结构如下图:[@more@] screen.width*0.7) {this.resized=...

crhr0990的博客 221

干货分享 | 史上最全Oracle体系结构整理

本文对Oracle体系结构做了详细的整理汇总,供大家参考学习。一、Oracle组成oracle分两块,oracle数据库软件和oracle数据库。oracle数据库软件位...

Enmotech的博客 659

Oracle体系结构:内存结构和进程结构-体系架构

<br />Oracle体系结构:内存结构和进程结构-体系架构<br />(一)内存结构和进程结构 Oracle数据库的总体结构如下图:<br /><br />1:Oracle实例(Instance)   <br />在一个服务器中,每一个运行的Oracle数据库都与一个数据库实例相联系,实例是我们访问数据库的手段。<br />实例在操作系统中用ORACLE_SID来标识,在Oracle中用参数INSTANCE_NAME来标识,它们两个的值是相同的。数据库启动时, 系统首先在服务器内存中分配系统全局区(S

ajian005的专栏 1767

Oracle数据库系统结构二(实例结构)

一.概述 Oracle实例的构成: Oracle数据库实例(Oracle Instance)主要包括Oracle进程结构和Oracle内存结构两种。 二.ORACLE的内存结构 内存结构是Oracle数据库系统结构中最为重要的一部分,内存也是影响数据库性能的第一因素。 按照对内存的使用方法的不同,Oracle数据库的内存可以分为:系统全局区SGA(System Global Area)程序全......

CX的博客 1140

了解Oracle体系结构(超详细)

学习oracle的目的: 一致性 性能 一致性的要求优先于性能 处理模型 C/S模型 客户端:用户和用户进程 服务器端:服务器进程、实例和数据库本身 概念: 实例/instance: 后台进程+共享内存 用于管理和控制数据库 数据库/database: 物理文件的集合 为实例提供数据,如数据文件,控制文件,参数文件,日志文件等 数据库服务器/databas...

angelxf520的博客 3万+
上一篇: 睡眠理发师问题
下一篇: PE教程1: PE文件格式一览
Xviewee
博客等级 码龄20年 78粉丝 236原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值