
点击“蓝字”关注我们
1. 案例背景
通过数据泵来导出和导入数据,是 DBA 日常工作之一。DBA 们要确保数据泵的工作能够更快的成功完成。通过一则案例来说明。
客户在使用 expdp 对数据库进行导出。数据库版本为 Oracle Database 12.2。为了提高导出速度,排除了索引和统计信息。导出命令举例如下:
expdp User1/xxxxxx DIRECTORY=DATA_PUMP_DIR DUMPFILE=dump%u.dmp SCHEMAS=user1 logfile=dump.log REUSE_DUMPFILES=y version=11.2.0.4 parallel=7 exclude=index,statistics
在导出时,分别 hang 在了如下几个位置


2. 问题分析
首先查看数据泵相关的会话信息,由于使用了7个并行进程来进行导出,可以观察到使用了一个 master 进程(sid:11)和 7 个 data pump 进程。
SQL> select sid,serial#,module,event from v$session where module like '%Data Pump%';SID SERIAL# MODULE EVENT---- -------- ---------------- --------------------------------------------10 19652 Data Pump Worker wait for unread message on broadcast channel11 20556 Data Pump Master wait for unread message on broadcast channel585 1431 Data Pump Worker wait for unread message on broadcast channel586 36087 Data Pump Worker wait for unread message on broadcast channel774 65490 Data Pump Worker wait for unread message on broadcast channel966 29272 Data Pump Worker wait for unread message on broadcast channel968 47817 Data Pump Worker PGA memory operation1156 39344 Data Pump Worker wait for unread message on broadcast channel已选择 8 行。SQL>
查看线程相关名称;
SQL> select sid,pname from v$session,v$process where v$process.addr=v$session.paddr and sid in (select sid from v$session where module like '%Data Pump%');SID PNAME---------- -----11 DM00585 DW00968 DW011156 DW0210 DW03586 DW04774 DW05966 DW06已选择 8 行。SQL>
也可以通过 expdp 的交互式模式来查看更详细的信息;
Export> status作业: SYS_EXPORT_SCHEMA_04操作: EXPORT模式: SCHEMA状态: EXECUTING处理的字节: 13,386,490,256完成的百分比: 99当前并行度: 7作业错误计数: 0作业脉动: 1转储文件: E:\app\oracle\admin\orcl\dpdump\JQ_DQHJ_0506%u.dmp转储文件: E:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050601.DMP写入的字节: 2,292,113,408转储文件: E:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050602.DMP写入的字节: 1,604,702,208转储文件: E:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050603.DMP写入的字节: 12,288转储文件: E:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050604.DMP写入的字节: 659,861,504转储文件: E:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050605.DMP写入的字节: 446,464转储文件: E:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050606.DMP写入的字节: 791,277,568转储文件: E:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050607.DMP写入的字节: 1,764,085,760转储文件: E:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050608.DMP写入的字节: 1,672,069,120转储文件: E:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050609.DMP写入的字节: 4,636,876,800Worker 1 状态:实例 ID: 1Instance name: orcl主机名: WIN-9PMS8UA80EV访问方法: direct_path对象开始时间: 星期六, 08 5月, 2021 11:09:31以下情况的对象状态: 星期六, 08 5月, 2021 11:23:02进程名: DW00状态: WORK WAITINGWorker 2 状态:实例 ID: 1Instance name: orcl主机名: WIN-9PMS8UA80EV对象开始时间: 星期六, 08 5月, 2021 11:08:15以下情况的对象状态: 星期六, 08 5月, 2021 14:15:35进程名: DW01状态: EXECUTING对象名: F6_11对象类型: SCHEMA_EXPORT/TABLE/COMMENT完成的对象数: 7,040Worker 并行度: 1Worker 3 状态:实例 ID: 1Instance name: orcl主机名: WIN-9PMS8UA80EV访问方法: direct_path对象开始时间: 星期六, 08 5月, 2021 11:08:51以下情况的对象状态: 星期六, 08 5月, 2021 11:22:35进程名: DW02状态: WORK WAITINGWorker 4 状态:实例 ID: 1Instance name: orcl主机名: WIN-9PMS8UA80EV访问方法: direct_path对象开始时间: 星期六, 08 5月, 2021 11:09:28以下情况的对象状态: 星期六, 08 5月, 2021 11:22:32进程名: DW03状态: WORK WAITINGWorker 5 状态:实例 ID: 1Instance name: orcl主机名: WIN-9PMS8UA80EV访问方法: automatic对象开始时间: 星期六, 08 5月, 2021 11:08:57以下情况的对象状态: 星期六, 08 5月, 2021 11:22:34进程名: DW04状态: WORK WAITINGWorker 6 状态:实例 ID: 1Instance name: orcl主机名: WIN-9PMS8UA80EV访问方法: direct_path对象开始时间: 星期六, 08 5月, 2021 11:14:33以下情况的对象状态: 星期六, 08 5月, 2021 11:22:35进程名: DW05状态: WORK WAITINGWorker 7 状态:实例 ID: 1Instance name: orcl主机名: WIN-9PMS8UA80EV访问方法: direct_path对象开始时间: 星期六, 08 5月, 2021 11:08:53以下情况的对象状态: 星期六, 08 5月, 2021 11:22:35进程名: DW06状态: WORK WAITINGExport>
根据进程 SID,查看会话中正在执行的 SQL
SQL> select sql_text from v$sql where sql_id in (select sql_id from v$session where sid=968);SQL_TEXT--------------------------------------------------------------------------------SELECT /*+all_rows*/ SYS_XMLGEN(VALUE(KU$), XMLFORMAT.createFormat2('COMMENT_T','7')), 0 ,KU$.BASE_OBJ.NAME ,KU$.BASE_OBJ.OWNER_NAME ,KU$.BASE_OBJ.TYPE_NAME ,KU$.COLNAME ,'COMMENT' FROM SYS.KU$_COMMENT_VIEW KU$ WHERE NOT BITAND(KU$.BASE_OBJ.FLAGS,128)!=0 AND KU$.OBJ_NUM IN (SELECT * FROM TABLE(DBMS_METADATA.FETCH_OBJNUMS)) AND NOT EXISTS (SELECT 1 FROM SYS.KU$NOEXP_TAB A WHERE A.OBJ_TYPE=KU$.BASE_OBJ.TYPE_NAME AND A.NAME=KU$.BASE_OBJ.NAME AND A.SCHEMA=KU$.BASE_OBJ.OWNER_NAME) AND NOT EXISTS (SELECT 1 FROM SYS.KU$NOEXP_TAB A WHERE A.OBJ_TYPE='SCHEMA' AND A.NAME=KU$.BASE_OBJ.OWNER_NAME)SQL>
此条 SQL 语句和 COMMENT 有关,此条语句运行缓慢也导致了进程 hang 的情况。
3. 处理方法
3.1. 排除 comment 信息
在使用数据泵导出时,排除 comment 信息,然后再进行导出操作,就可以避免这个问题。或者为数据库安装 Patch 27277810 补丁程序来解决。
选择排除 comment 信息的方法后,再次进行导出,整个导出过程共用时9分18秒。导出过程如下:
expdp User1/xxxxxx DIRECTORY=DATA_PUMP_DIR DUMPFILE=dump%u.dmp SCHEMAS=user1 logfile=dump.log REUSE_DUMPFILES=y version=11.2.0.4 parallel=7 exclude=index,statistics,commentExport: Release 12.2.0.1.0 - Production on 星期六 5月 8 14:28:25 2021Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.;;;连接到: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production启动 "JQ_DQHJ"."SYS_EXPORT_SCHEMA_05": JQ_DQHJ/********@ORCL DIRECTORY=DATA_PUMP_DIR DUMPFILE=JQ_DQHJ_0506%u.dmp SCHEMAS=JQ_DQHJ logfile=JQ_DQHJ_0506.log REUSE_DUMPFILES=y version=11.2.0.4 parallel=7 exclude=index,statistics,comment处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT处理对象类型 SCHEMA_EXPORT/ROLE_GRANT处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA处理对象类型 SCHEMA_EXPORT/DB_LINK处理对象类型 SCHEMA_EXPORT/SEQUENCE/SEQUENCE处理对象类型 SCHEMA_EXPORT/PROCEDURE/PROCEDURE处理对象类型 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE处理对象类型 SCHEMA_EXPORT/VIEW/VIEW处理对象类型 SCHEMA_EXPORT/TABLE/TABLE处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA处理对象类型 SCHEMA_EXPORT/TABLE/TRIGGER处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT. . 导出了 "JQ_DQHJ"."xxxxx" 2.324 GB 16680448 行. . 导出了 "JQ_DQHJ"."xxxxx" 100.5 MB 736100 行. . 导出了 "JQ_DQHJ"."xxxxx" 76.13 MB 540523 行. . 导出了 "JQ_DQHJ"."xxxxx" 358.5 MB 3763946 行. . 导出了 "JQ_DQHJ"."xxxxx" 58.51 MB 113659 行. . 导出了 "JQ_DQHJ"."xxxxx" 69.97 MB 972899 行. . 导出了 "JQ_DQHJ"."xxxxx" 70.27 MB 487070 行. . 导出了 "JQ_DQHJ"."xxxxx" 358.7 MB 3766014 行. . 导出了 "JQ_DQHJ"."xxxxx" 62.53 MB 514032 行. . 导出了 "JQ_DQHJ"."xxxxx" 57.37 MB 413931 行. . 导出了 "JQ_DQHJ"."xxxxx" 57.37 MB 413931 行. . 导出了 "JQ_DQHJ"."xxxxx" 60.78 MB 1114354 行. . 导出了 "JQ_DQHJ"."xxxxx" 45.04 MB 490894 行. . 导出了 "JQ_DQHJ"."xxxxx" 43.82 MB 189888 行. . 导出了 "JQ_DQHJ"."xxxxx" 39.10 MB 153007 行. . 导出了 "JQ_DQHJ"."xxxxx" 29.69 MB 58124 行. . 导出了 "JQ_DQHJ"."xxxxx" 34.99 MB 414911 行. . 导出了 "JQ_DQHJ"."xxxxx" 2.325 GB 16682516 行. . 导出了 "JQ_DQHJ"."xxxxx" 39.46 MB 7637 行. . 导出了 "JQ_DQHJ"."xxxxx" 34.99 MB 414911 行. . 导出了 "JQ_DQHJ"."xxxxx" 32.51 MB 158571 行. . 导出了 "JQ_DQHJ"."xxxxx" 34.67 MB 562784 行省略了大量的输出。。。。。。。。。. . 导出了 "JQ_DQHJ"."xxxxx" 5.523 KB 2 行. . 导出了 "JQ_DQHJ"."xxxxx" 5.531 KB 2 行. . 导出了 "JQ_DQHJ"."xxxxx" 5.539 KB 3 行. . 导出了 "JQ_DQHJ"."xxxxx" 5.531 KB 2 行. . 导出了 "JQ_DQHJ"."xxxxx" 5.531 KB 3 行. . 导出了 "JQ_DQHJ"."xxxxx" 5.523 KB 2 行. . 导出了 "JQ_DQHJ"."xxxxx" 5.523 KB 2 行已成功加载/卸载了主表 "JQ_DQHJ"."SYS_EXPORT_SCHEMA_05"******************************************************************************JQ_DQHJ.SYS_EXPORT_SCHEMA_05 的转储文件集为:E:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050601.DMPE:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050602.DMPE:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050603.DMPE:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050604.DMPE:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050605.DMPE:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050606.DMPE:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050607.DMPE:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050608.DMPE:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050609.DMPE:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050610.DMPE:\APP\ORACLE\ADMIN\ORCL\DPDUMP\JQ_DQHJ_050611.DMP作业 "JQ_DQHJ"."SYS_EXPORT_SCHEMA_05" 已于 星期六 5月 8 14:37:45 2021 elapsed 0 00:09:18 成功完成
3.2. 安装 Patch 解决
检查数据库软件 patch 的安装情况;
E:\>cd 27277810E:\27277810>E:\app\oracle\product\12.2.0\dbhome_1\OPatch\opatch lsinvOracle 中间补丁程序安装程序版本 12.2.0.1.6版权所有 (c) 2021, Oracle Corporation。保留所有权利。Oracle Home : E:\app\oracle\product\12.2.0\dbhome_1Central Inventory : C:\Program Files\Oracle\Inventoryfrom :OPatch version : 12.2.0.1.6OUI version : 12.2.0.1.4Log file location : E:\app\oracle\product\12.2.0\dbhome_1\cfgtoollogs\opatch\opatch2021-05-10_09-56-20上午_1.logLsinventory Output file location : E:\app\oracle\product\12.2.0\dbhome_1\cfgtoollogs\opatch\lsinv\lsinventory2021-05-10_09-56-20上午.txt--------------------------------------------------------------------------------Local Machine Information::Hostname: WIN-9PMS8UA80EVARU platform id: 233ARU platform description:: Microsoft Windows (64-bit AMD)已安装的顶级产品 (1):Oracle Database 12c 12.2.0.1.0此 Oracle 主目录中已安装 1 个产品。此 Oracle 主目录中未安装任何中间补丁程序。--------------------------------------------------------------------------------OPatch succeeded.E:\27277810>
也可以使用 lspatches 子句来检查;
E:\27277810>E:\app\oracle\product\12.2.0\dbhome_1\OPatch\opatch lspatches此 Oracle 主目录中未安装任何中间补丁程序 "E:\app\oracle\product\12.2.0\dbhome_1".E:\27277810>
安装前对 Patch 的进行冲突检查;
E:\27277810>E:\app\oracle\product\12.2.0\dbhome_1\OPatch\opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir E:\27277810Oracle 中间补丁程序安装程序版本 12.2.0.1.6版权所有 (c) 2021, Oracle Corporation。保留所有权利。PREREQ sessionOracle Home : E:\app\oracle\product\12.2.0\dbhome_1Central Inventory : C:\Program Files\Oracle\Inventoryfrom :OPatch version : 12.2.0.1.6OUI version : 12.2.0.1.4Log file location : E:\app\oracle\product\12.2.0\dbhome_1\cfgtoollogs\opatch\opatch2021-05-10_10-00-11上午_1.logInvoking prereq "checkconflictagainstohwithdetail"Prereq "checkConflictAgainstOHWithDetail" passed.OPatch succeeded.E:\27277810>
停止数据库实例;
E:\27277810>sqlplus as sysdbaSQL*Plus: Release 12.2.0.1.0 Production on 星期一 5月 10 10:00:49 2021Copyright (c) 1982, 2016, Oracle. All rights reserved.连接到:Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit ProductionSQL> shu immediate数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> quit从 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 断开
同时要停止相关 oracle 服务;

开始应用 Patch;
E:\27277810>E:\app\oracle\product\12.2.0\dbhome_1\OPatch\opatch applyOracle 中间补丁程序安装程序版本 12.2.0.1.6版权所有 (c) 2021, Oracle Corporation。保留所有权利。Oracle Home : E:\app\oracle\product\12.2.0\dbhome_1Central Inventory : C:\Program Files\Oracle\Inventoryfrom :OPatch version : 12.2.0.1.6OUI version : 12.2.0.1.4Log file location : E:\app\oracle\product\12.2.0\dbhome_1\cfgtoollogs\opatch\opatch2021-05-10_10-11-13上午_1.log无法锁定主产品清单。OPatch 将尝试重新锁定。是否继续? [y|n]nUser Responded with: NOPatchSession 无法加载指定 Oracle 主目录 E:\app\oracle\product\12.2.0\dbhome_1 的产品清单。原因可能是:对 ORACLE_HOME/.patch_storage 没有读权限或写权限其它 OUI 实例锁定了主产品清单对主产品清单没有读权限锁文件位于 ORACLE_HOME/.patch_storage 中主产品清单中不存在 Oracle 主目录UtilSession 失败: 无法锁定主产品清单。是否按用户请求停止尝试?Log file location: E:\app\oracle\product\12.2.0\dbhome_1\cfgtoollogs\opatch\opatch2021-05-10_10-11-13上午_1.logOPatch failed with error code = 73E:\27277810>
此次安装出现报错,从错误输出中可以看出,是由于一些原因无法锁定主产品清单导致。如:.patch_storage目录不存在等情况。
该目录一般会自动创建,如果没有自动创建,可以使用如下命令:
E:\app\oracle\product\12.2.0\dbhome_1>md .opatch_storageE:\app\oracle\product\12.2.0\dbhome_1>dir .opatch_storage驱动器 E 中的卷是 新建卷卷的序列号是 92A1-EE89E:\app\oracle\product\12.2.0\dbhome_1\.opatch_storage 的目录2021/05/10 10:15 <DIR> .2021/05/10 10:15 <DIR> ..0 个文件 0 字节2 个目录 647,865,032,704 可用字节E:\app\oracle\product\12.2.0\dbhome_1>
此次的报错情况是由于:运行 cmd 时,使用普通用户进行,没有更高权限导致无法进行 patch 的安装,现改用管理员权限运行 cmd 即可解决。如下图所示:

再一次启动 Patch 安装,并安装成功,过程如下所示;
E:\27277810>E:\app\oracle\product\12.2.0\dbhome_1\OPatch\opatch applyOracle 中间补丁程序安装程序版本 12.2.0.1.6版权所有 (c) 2021, Oracle Corporation。保留所有权利。Oracle Home : E:\app\oracle\product\12.2.0\dbhome_1Central Inventory : C:\Program Files\Oracle\Inventoryfrom :OPatch version : 12.2.0.1.6OUI version : 12.2.0.1.4Log file location : E:\app\oracle\product\12.2.0\dbhome_1\cfgtoollogs\opatch\opatch2021-05-10_10-36-29上午_1.logVerifying environment and performing prerequisite checks...OPatch continues with these patches: 27277810是否继续? [y|n]Could not recognize input. Please re-enter.yUser Responded with: YAll checks passed.Backing up files...Applying interim patch '27277810' to OH 'E:\app\oracle\product\12.2.0\dbhome_1'正在为组件 oracle.rdbms, 12.2.0.1.0 打补丁...正在为组件 oracle.rdbms.dbscripts, 12.2.0.1.0 打补丁...Patch 27277810 successfully applied.Log file location: E:\app\oracle\product\12.2.0\dbhome_1\cfgtoollogs\opatch\opatch2021-05-10_10-36-29上午_1.logOPatch succeeded.E:\27277810>
安装完成后,进一步检查 patch 的安装情况
E:\27277810>E:\app\oracle\product\12.2.0\dbhome_1\OPatch\opatch lspatches27277810;E:\27277810>E:\app\oracle\product\12.2.0\dbhome_1\OPatch\opatch lsinvOracle 中间补丁程序安装程序版本 12.2.0.1.6版权所有 (c) 2021, Oracle Corporation。保留所有权利。Oracle Home : E:\app\oracle\product\12.2.0\dbhome_1Central Inventory : C:\Program Files\Oracle\Inventoryfrom :OPatch version : 12.2.0.1.6OUI version : 12.2.0.1.4Log file location : E:\app\oracle\product\12.2.0\dbhome_1\cfgtoollogs\opatch\opatch2021-05-10_10-38-49上午_1.logLsinventory Output file location : E:\app\oracle\product\12.2.0\dbhome_1\cfgtoollogs\opatch\lsinv\lsinventory2021-05-10_10-38-49上午.txt--------------------------------------------------------------------------------Local Machine Information::Hostname: WIN-9PMS8UA80EVARU platform id: 233ARU platform description:: Microsoft Windows (64-bit AMD)已安装的顶级产品 (1):Oracle Database 12c 12.2.0.1.0此 Oracle 主目录中已安装 1 个产品。中间补丁程序 (1) :Patch 27277810 : applied on Mon May 10 10:37:42 CST 2021Unique Patch ID: 21879125Created on 16 Jan 2018, 14:05:12 hrs PST8PDTBugs fixed:27277810--------------------------------------------------------------------------------OPatch succeeded.E:\27277810>
启动 Oracle 相关服务

验证数据库实例是否为 OPEN 状态;
E:\app\oracle\product\12.2.0\dbhome_1>sqlplus as sysdbaSQL*Plus: Release 12.2.0.1.0 Production on 星期一 5月 10 10:42:19 2021Copyright (c) 1982, 2016, Oracle. All rights reserved.连接到:Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit ProductionSQL> select status from v$instance;STATUS------------OPENSQL> quit从 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 断开E:\app\oracle\product\12.2.0\dbhome_1>
使用 datapatch 工具在数据库中进行 SQL 应用;
E:\app\oracle\product\12.2.0\dbhome_1\OPatch>datapatchSQL Patching tool version 12.2.0.1.0 Production on Mon May 10 10:42:47 2021Copyright (c) 2012, 2017, Oracle. All rights reserved.Connecting to database...OKNote: Datapatch will only apply or rollback SQL fixes for PDBsthat are in an open state, no patches will be applied to closed PDBs.Please refer to Note: Datapatch: Database 12c Post Patch SQL Automation(Doc ID 1585822.1)Determining current state...doneAdding patches to installation queue and performing prereq checks...doneInstallation queue:For the following PDBs: CDB$ROOT PDB$SEEDNothing to roll backThe following patches will be applied:27277810 (DATAPUMP EXPORT EXTREMELY SLOW FETCHING COMMENT OBJECTS.)Installing patches...Patch installation complete. Total patches installed: 2Validating logfiles...doneSQL Patching tool complete on Mon May 10 10:59:26 2021
最后进入数据库,查看 dba_registry_sqlpatch 表中数据,来最终确认 patch 安装完成。
SQL> select patch_id,patch_uid,action,status,description,patch_descriptor from dba_registry_sqlpatch;PATCH_ID PATCH_UID ACTION STATUS---------- ---------- --------------- ---------------DESCRIPTION--------------------------------------------------------------------------------PATCH_DESCRIPTOR--------------------------------------------------------------------------------27277810 21879125 APPLY SUCCESSDATAPUMP EXPORT EXTREMELY SLOW FETCHING COMMENT OBJECTS.<?xml version="1.0" encoding="utf-8"?><sqlPatch ID="27277810" uniquePatchID="21SQL>
4. 参考文档
DATAPUMP EXPORT EXTREMELY SLOW FETCHING COMMENT OBJECTS (Doc ID 2423235.1)
http://ke.sandata.com.cn/page/337
推荐阅读

2021-02-07

2021-05-08





