GaussDB运维问题解决:服务器扩容后监控与调度决策错误

数据库GaussDB管理平台(TPOPS)如何重启实例? 摘要:云数据库GaussDB管理平台(TPOPS)提供实例重启功能,需在业务低峰期操作以避免影响。操作时禁止后台同时执行相似操作,重启过程实例不可用且会释放内存缓存。具体步骤包括:登录TPOPS→进入实例列表→选择实例→确认重启→等待完成。详细说明可参考华为云GaussDB官方文档。(143字) 阅读详情

小亦平台会持续给大家科普一些运维过程中常见的问题解决案例,运维朋友们可以在常见问题及解决方案专栏查看更多案例。

1. 问题概述

DN节点服务器内存从128G扩容至256G后,管控平台(tpops)仍显示原配置(128G),导致资源监控与调度决策基于错误数据,影响运维准确性。

(变更前服务器和管控平台信息)

(变更后服务器和管控平台信息)

变更后服务器实际内存(256G)与管控平台显示(128G)不一致,tpops 上面内存信息没有变化。

2. 问题分析

服务器信息是在纳管时存到tpops的配置库里面了:

gsql -h 127.0.0.1 -q core -p 8635 -U core -W DBS_guass12#$

select * from core.dbs_host_specification_info limit 2;

3. 解决方案与优化建议

优化措施:

手动更新配置库:

UPDATE core.dbs_host_specification_info 

SET memory = '256'  -- 修正为实际内存值 

WHERE id = 'b5413038-26d2-43c3-9431-c76c61c4ff08'; -- 目标主机ID 

运维工作中遇到难题?立即提交工单! 小亦平台工程师火速响应,助您快速修复故障!

解锁小亦平台的更多功能:

小亦平台AI巡检Agent现已正式开放!🌟三步实现智能运维,get专业巡检报告

AI代理工作流云上部署:架构选型、成本控制与实战指南 在当今的软件工程实践中,构建自动化、智能化的业务流程是提升效率的关键。其核心原理在于将复杂任务分解为独立的、可复用的服务单元,并通过编排引擎协调执行,从而实现任务的串行、并行或条件触发。这种架构模式的技术价值在于实现了系统的高内聚、低耦合,提升了可维护性和扩展性。在应用场景上,它广泛服务于数据处理流水线、智能客服、内容生成等需要多步骤协同的领域。本文聚焦于如何将这一模式与云服务结合,特别是部署AI代理工作流。通过分析线性管道与复杂协同两种工作流类型,深入探讨了在性能、成本、可靠性三角约束下的架构设计,例如单 阅读详情

相关推荐

【信息科学与工程学】【数据科学】 第一百二十篇 数据库系统 系列一 GaussDB 01

编号数据库系统(含厂商+内核+版本编号+功能清单)数据仓库系统中的学科及知识点列表(含基础、高级特性及配置)SQL语句及存储过程的详细语法和设计模型数据集成方法和详细配置可对接的数据编织系统(含厂商+版本编号)和模式机制·用法-特性 / 数据依赖和各类特性底层实现·说明·优势-特性列表+缺陷·缺陷的解决方案软件系统依赖及各类特性需求及详细配置国产化·信创的CPU/GPU/ASIC/DPU/RAID卡/内存/SSD及对应指令集调用优化接入云计算资源+多Region多AZ 满足上云需求的详细设计方法1​厂商:华

weixin_49199313的博客 91

GaussDB TPOPS运维管理平台简介

GaussDB升级过程中涉及系统表和表数据的变更、进程重启,有版本兼容和业务中断的风险。GaussDB运维管理平台支持对纳管的分布式数据库实例进行节点扩容。除元数据切换外,均支持在线业务。

Sebastien23的博客 1158

UE5笔记【十二】蓝图函数BluePrint Function

蓝图函数BluePrint Function。蓝图类。蓝图变量。

xiaoyaolangwj的博客 4393

【信息科学与工程学】【数据科学】 第一百二十篇 数据库系统 系列二 OcenBase 01

bin/bash# ob-monitor.sh —— 三地五中心关键指标巡检# 建议放入 crontab: */1 * * * * /opt/ob/ob-monitor.sh# ① 副本健康: 5 副本必须全部在线thenecho "[$(date)] CRITICAL: 仅 $REPLICA_COUNT/5 Zone 活跃" >> $ALERT_LOGfi# ② Leader 分布: 应主要集中在城市 A 的 zone1/zone2。

weixin_49199313的博客 458

2026零成本私有化:OpenClaw一键搭建Discord/Telegram智能机器人,数据不出本地,永久免费替代ChatGPT

如果内置的功能不能满足你的需求,你可以很容易地添加自己的自定义工具。public string Description => "查询指定城市的天气";// 调用天气API获取天气信息return $"city今天的天气是晴,温度25度";// 注册工具今天北京的天气怎么样?大模型的选择很重要:不要盲目追求大参数的模型。对于大多数场景来说,7B参数的模型已经足够用了,而且速度快,内存占用低。上下文长度不要设置太大:上下文长度越大,内存占用越高,推理速度越慢。

2601_94871597的博客 261

HttpClient跳过HTTPS证书验证的3种实战方法(含完整代码示例)

本文详细介绍了HttpClient跳过HTTPS证书验证的3种实战方法,包括自定义TrustManager、SSLContext配置和HttpClientBuilder高级定制,并提供完整代码示例。这些方法适用于开发和测试环境,帮助开发者快速解决自签名证书或未认证证书导致的HTTPS请求失败问题,但需注意生产环境的安全风险。

weixin_29213655的博客 530

GaussDB-集中式应用连接主库方案

在GaussDB集中式一主多备架构下,确保应用切换后仍连接主库,推荐启用“浮动IP”——安装时配置同一虚拟IP,主备切换时IP自动漂移至新主,应用无需改造。若无浮动IP,可在连接串中指定多个节点IP并添加targetServerType=master(JDBC)或target_session_attrs=primary(libpq/gsql),由驱动自动寻主。两者可结合使用,实现高可用与零变更运维。

kiwixing的博客 190

华为OD机试双机位C卷:完美走位 (C++/C/Py/Java/Js/GO)

华为OD机试双机位C卷 完美走位, 提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机考 完美走位, 华为OD机试 完美走位。

qq_45776114的博客 1724

【GaussDB经验总结】GaussDB并发控制

GaussDB采用多层次并发控制体系:事务级基于MVCC与2PL,实现读写无阻塞;锁机制涵盖表级、元组、事务等多类型锁,保障数据一致性;资源级通过资源池、并发队列、SQL限流及线程池等手段,精细化管控连接与并发。结合算子并行、分布式事务协调,全面支撑高并发场景下的性能与一致性。

Gauss松鼠会 409

CKS-CN考试之路----02

其实我们根据题目也可以知道秘钥是叫clever-cactus。稍作等待后,确认pod的状态,如果是1/1基本就没问题了。这步不一定做.目的是确定秘钥的名字。

Q先生 655

大模型风电功率预测:短期,超短期,中长期的完整实现与代码详解

本文全面介绍了基于深度学习大模型的风电功率预测方法,涵盖超短期(15分钟-1小时)、短期(1-6小时)和中长期(1天-1周)三种时间尺度。文章详细阐述了数据准备与特征工程,包括数据收集、预处理和可视化分析。针对不同时间尺度,分别介绍了Temporal Fusion Transformer (TFT)、Informer和N-BEATS模型的构建、训练与评估方法,并提供了完整的开源代码实现。此外,文章还探讨了模型部署与生产环境集成,包括模型保存与加载、实时预测API以及模型监控与再训练。最后,文章总结了关键创新

专注AI大模型,软件混淆,授权 1891

Oracle 数据库迁移到 GaussDB 集中式

本文介绍Oracle到GaussDB集中式数据库的完整迁移方案,涵盖迁移评估、对象结构(UGO工具)与数据同步(DRS工具)两大阶段。流程包括环境准备、对象迁移、全量/增量同步、数据对比验证及业务割接。重点强调权限配置、归档日志开启、GUC参数设置,并推荐使用DRS实现近实时增量同步,结合行数与内容对比确保数据一致性。最终建议采用“工具同步+低峰期切换”的并轨策略,保障RPO接近零,实现平滑迁移。

Gauss松鼠会 777

uniapp:解决微信小程序包体积超过2M的优化方案+详解分包问题,编译小程序体积大于2M不能上传和预览提示体积太大的处理教程,uniApp微信小程序主包过大问题如何解决(排查可疑点+分包+最小改动)

uniapp微信小程序开发,如何解决打包太大无法预览发布的问题,uniApp微信小程序包体积超过2M的优化方法,uni-app打包微信小程序主包超2M终极解决方案,使用uniapp开发微信小程序使用uni_modules导致主包文件过大,无法发布的解决方法,UniApp开发的微信小程序主包过大问题及解决方案 编译小程序时Node-modules被打入主包,小程序体积大于2M不能上传和预览,怎么处理,解决微信小程序主包太大问题,微信小程序中主包和分包过大,详解分包问题,uni-app 微信小程序发布时,主包超

✅ 精选推荐文章 5066

Docker Compose:搭建本地多服务开发环境

从一个 Java API、PostgreSQL 和 Redis 开始,配置服务名、端口、环境变量、健康检查、数据卷和依赖关系。理解 Compose 文件如何被解析、项目如何隔离,以及哪些数据不能依赖“重建容器”保留,能够把个人开发环境整理成团队可复用的启动入口。

m0_62221377的博客 462

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【Linux网络】TCP 服务器并发处理多客户端:从 fork 分发到双重 fork 彻底消灭僵尸进程

拆解 TCP 服务器并发演进链:fork 分发连接、SIGCHLD 循环回收僵尸、双重 fork 交孙进程给 init 收养,并给出模型选型与线上排错对照。

2301_78967866的博客 430

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

企业版虚拟机ESXi网络配置

1. 把卷组里剩下的所有空间(100%FREE)全加给根目录。# 2. 刷新文件系统,让系统立刻认出新容量。

墨痕诉清风的博客 230

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

本地化部署会议视频软件如何替换旧平台?账号迁移、历史数据与用户培训怎么安排?

账号先映射:身份与权限验证通过,再开放使用。资料分级处理:能查、能读、权限正确,比“全部搬完”更重要。切换可恢复:入口、增量数据和业务通知都要纳入回退方案。培训按岗位落地:让用户完成真实任务,而不是只听功能介绍。这套方法适合政企、集团及医疗等具有长期资料留存、多终端接入和业务集成需求的组织。小规模替换可以简化批次与流程,但不应省略权限验证、备份恢复和关键会议演练。

hz56789的博客 288

给openlab搭建web网站

此时输入song 账号 即可登录。

ytdbc的博客 107

自动化运维选型:四条技术路线的能力边界,以及它们为什么不能互相替代

自动化运维怎么选型?拆解配置管理、基础设施即代码、作业调度与场景化编排四条技术路线边界,分析账本归属与时间语义差异,给出四种架构组合与判断点,帮企业看清为何不能互相替代。

trainsignalcn的专栏 340

中科热备备份一体机选型技术剖析:安全厂商跨界后的能力边界与实测数据对比

灾备与数据保护技术实战:CDP持续保护、数据库备份、异地容灾架构等核心技术深度解析。

weixin_70618949的博客 297

LNMP 容器化实战:基于 Harbor 私有仓库部署 ECShop,吃透 Docker 底层机制

优势:同一网络内部支持容器 DNS 解析,直接写容器名字访问服务,不用硬编码 IP。网络层面:多容器 LNMP 架构,优先自建自定义 bridge 网络,利用容器名 DNS 解析,避免写死 IP,方便环境迁移;持久化思想:镜像保存程序代码;配置、数据库数据、日志全部 volume 挂载宿主机目录,删除容器业务数据不丢失;镜像管理:生产环境建议部署 Harbor 私有仓库,业务镜像统一内网托管;PHP 镜像构建:php‑fpm 容器补齐业务需要全部扩展;商城上传、缓存目录读写权限是高频故障点;

Wzh5452830的博客 147

宝塔装在服务器上,极目装在本机,差别到底在哪

宝塔 极目 装服务器 装本机 区别,不是比谁好用,是比"软件落在谁的账上"。宝塔的端口、资源、维护都记在服务器;极目这些都落在你电脑,服务器保持和纯 SSH 管理一样的干净。想保护服务器资源和安全面,选装本机的方案;想浏览器点就完事,装服务器的面板也行。

AI_Lab01的博客 311

Docker 镜像构建 + 仓库管理全实战|曼巴精神打磨容器进阶基本功

进容器改完配置,直接打包成新镜像,适合临时救急、快速验证。# 1. 启动基础容器,装软件改配置# 2. 另开终端,commit成新镜像docker commit 容器ID centos7:sshd缺点很致命:黑盒镜像,里面改了啥没人知道,不可追溯、不可复现,镜像还越做越大。曼巴忠告:生产环境绝对别用 commit 构建镜像!临时救急凑合用可以,标准化交付一律用 Dockerfile。Man!镜像构建是容器化交付的标准,私有仓库是企业镜像管理的底座。

kkkdoor的博客 374

越华环保集团碳惠小屋|面向碳普惠场景的 IoT 终端与碳数据链路设计方案

越华环保集团碳惠小屋这套 IoT 碳数据方案,把物联网感知技术和碳普惠业务规则深度绑定,补齐了碳普惠线下可信数据源短板。相比通用回收设备,它的核心价值在于标准化碳数据链路与可对接上层碳普惠平台的开放能力。随着各地碳普惠数字化建设提速,对合规、可溯源线下采集终端需求持续增长。这套架构具备良好扩展性,后续可以继续接入骑行、节水节电等更多低碳感知终端,作为统一的公众低碳数据采集底座,支撑区域碳普惠数字化体系持续迭代升级。

MuMuMu1223的博客 194

Docker 与 Kubernetes 深度解析:从容器运行时到集群编排

维度DockerKubernetes回答的问题一个进程怎么隔离、打包、分发一堆进程怎么调度、连接、自愈抽象层级运行时 + 镜像格式分布式操作系统最小单元ContainerPod状态模型命令式(run声明式(apply)+ 控制循环收敛作用范围单机跨主机集群核心协议CRI / CNI / CSI(可插拔)失效时表现容器挂掉,没人管控制器自动重建学习曲线一天半年Docker 定义了"一个应用的形状",Kubernetes 定义了"一群应用如何共生"。

2601_95494915的博客 603
上一篇: GaussDB运维问题解决:线程阻塞导致事务死锁
下一篇: GaussDB运维问题解决:高并发下内存不足
小亦智能运维
博客等级 码龄2年 152粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值