oracle expdp/impdp/可传输表空间/及一些参数

Oracle data pump 导出操作能够将表、索引、约束、权限、PLSQL包、同义词等对象从数据库导出,并将它们保存在一种非文本格式的转储文件--泵文件内:数据泵的导入操作能够将泵文件中的对象导入数据库中。

Data pump实现的备份策略与RMAN实现的是不同的。导出操作能够精确到表的特定行而RMAN的backup命令操作的最小粒度是文件(比如数据文件):

导入操作只能使数据还原回当初导出的状态,在重做日志的帮助下,rman的restore和recover可以将数据库恢复到当前的时间点,所以,从恢复策略来说,data pump为rman的辅助工具。

1 目标对象及导出

--expdp/impdp 时必须指定文件所在目录,不指定就在默认的目录下

SQL> select directory_path,directory_name from dba_directories;
/u01/app/oracle/dump
DUMP_FILE_DIR
/u01/app/oracle/admin/orcl/dpdump/
DATA_PUMP_DIR
-- select * from dba_directories;
[oracle@DSI ~]$ mkdir -p /home/oracle/dump_test
SQL> create directory dump_file_dir_test as '/home/oracle/dump_test';

--full=y 完全模式导出

[oracle@DSI dump_test]$ expdp system/*** cluster=n compression=all full=y parallel=2 nologfile=y dumpfile=EX%U.DMP reuse_dumpfiles=y DIRECTORY= dump_file_dir_test
Processing object type DATABASE_EXPORT/SCHEMA/POST_SCHEMA/PROCACT_SCHEMA
Processing object type DATABASE_EXPORT/AUDIT
Master table "SYSTEM"."SYS_EXPORT_FULL_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_FULL_01 is:
/home/oracle/dump_test/EX01.DMP
/home/oracle/dump_test/EX02.DMP
Job "SYSTEM"."SYS_EXPORT_FULL_01" successfully completed at Wed Jul 10 15:40:59 2019 elapsed 0 00:01:43
[oracle@DSI dump_test]$ ll
total 48276
-rw-r----- 1 oracle oinstall 21753856 Jul 10 15:40 EX01.DMP
-rw-r----- 1 oracle oinstall 27680768 Jul 10 15:40 EX02.DMP
--parallel=2 导出工作在两个并行度下进行,会生成两个文件
--dumpfile=EX%U.DMP 指定导出格式,U%可以表示1~10,如果expdp不指定目录,生成文件在默认/u01/app/oracle/admin/orcl/dpdump/路径下
--cluster=n 表示仅允许使用一个数据库实例上的进程进行导出操作,此模式限制对RAC环境中其他节点的利用,默认,cluster=y
--compression=all 开启了转储文件压缩功能,要求compatible初始化参数只是11.0.0
--full=y 表示完全模式导出,包含所有用户数据
--reuse_dumpfiles=y表示若目录中存在同名数据泵文件,则将其覆盖
--nologfile=y 不产生一个记录导出过程的细节

--使用tablespaces表空间导出

[oracle@DSI dump_test]$ expdp system/*** DIRECTORY=dump_file_dir_test compression=all tablespaces=user,TEST dumpfile=tablespace_%U.DMP parallel=2 logfile=tablespace_t1_20190710.log

Export: Release 11.2.0.4.0 - Production on Wed Jul 10 15:55:09 2019

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "SYSTEM"."SYS_EXPORT_TABLESPACE_01": system/******** DIRECTORY=dump_file_dir_test compression=all tablespaces=user,TEST dumpfile=tablespace_%U.DMP parallel=2 logfile=tablespace_t1_20190710.log
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 115.4 MB
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
-rw-r----- 1 oracle oinstall 6238208 Jul 10 15:55 tablespace_01.DMP
-rw-r----- 1 oracle oinstall 24576 Jul 10 15:55 tablespace_02.DMP
-rw-r--r-- 1 oracle oinstall 2183 Jul 10 15:55 tablespace_t1_20190710.log

--使用schemas,用户模式导出

[oracle@DSI dump_test]$ expdp system/*** DIRECTORY=dump_file_dir_test compression=all schemas=TEST,scott dumpfile=schemas_%U.DMP parallel=2 logfile=schemas_t1_20190710.log

Export: Release 11.2.0.4.0 - Production on Wed Jul 10 15:58:24 2019

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
FLASHBACK automatically enabled to preserve database integrity.
Starting "SYSTEM"."SYS_EXPORT_SCHEMA_01": system/******** DIRECTORY=dump_file_dir_test compression=all schemas=TEST,scott dumpfile=schemas_%U.DMP parallel=2 logfile=schemas_t1_20190710.log
-rw-r----- 1 oracle oinstall 6332416 Jul 10 15:58 schemas_01.DMP
-rw-r----- 1 oracle oinstall 110592 Jul 10 15:58 schemas_02.DMP
-rw-r--r-- 1 oracle oinstall 3700 Jul 10 15:58 schemas_t1_20190710.log

--使用tables

[oracle@DSI dump_test]$ expdp system/*** DIRECTORY=dump_file_dir_test compression=all tables=TEST.t1,scott.emp dumpfile=tables_%U.DMP  logfile=tables_t1_20190710.log
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "SCOTT"."EMP" 5.601 KB 14 rows
. . exported "TEST"."T1" 4.890 KB 3 rows
Master table "SYSTEM"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded

--tables,query

[oracle@DSI dump_test]$ expdp system/*** DIRECTORY=dump_file_dir_test tables=scott.emp query=scott.emp:\"where job\=\'MANAGER\' and sal \>2000\" dumpfile=scott_emp_query_1.DMP nologfile=y
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "SCOTT"."EMP" 8.117 KB 3 rows
Master table "SYSTEM"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_TABLE_01 is:
/home/oracle/dump_test/scott_emp_query_1.DMP
Job "SYSTEM"."SYS_EXPORT_TABLE_01" successfully completed at Wed Jul 10 16:18:29 2019 elapsed 0 00:00:05
SQL> select * from SCOTT.EMP where job='MANAGER' and sal>200;

--flashback_time/flashback_scn参数导出与闪回时间查询

[oracle@DSI dump_test]$ expdp system/*** DIRECTORY=dump_file_dir_test flashback_time=\"systimestamp \- interval \'10\'minute\" tables=scott.emp dumpfile=scott_emp_flashbackup_10.DMP nologfile=y
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "SCOTT"."EMP" 8.562 KB 14 rows
Master table "SYSTEM"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_TABLE_01 is:
/home/oracle/dump_test/scott_emp_flashbackup_10.DMP
Job "SYSTEM"."SYS_EXPORT_TABLE_01" successfully completed at Wed Jul 10 16:25:40 2019 elapsed 0 00:00:04

2 导入

--full=y
[oracle@DSI dump_test]$ impdp system/*** cluster=n full=y nologfile=y directory=dump_file_dir_test dumpfile=EX01.DMP,EX02.DMP
--tablespace
[oracle@DSI dump_test]$ impdp system/*** cluster=n tablespaces=TEST nologfile=y directory=dump_file_dir_test dumpfile=tablespace_%U.DMP
--shcmeas
[oracle@DSI dump_test]$ impdp system/*** cluster=n schemas=TEST nologfile=y directory=dump_file_dir_test dumpfile=schemas_%U.DMP
--tables
[oracle@DSI dump_test]$ impdp system/*** cluster=n tables=TEST.t1 nologfile=y directory=dump_file_dir_test dumpfile=tables_%U.DMP
--table_exists_action 默认=skip 如果要导入的表在目标库中存在该如何处理
----SKIP 跳过当前对象的处理
----APPEND 向当前对象追加记录
----TRUNCATE 首先truncate当前对象中的数据,再导入数据
----REPLACE 相当于先truncate,在append

也可以用--remap_table REMAP_TABLE=HR.EMPLOYEES:EMPS,或者remap_schema参数

表示将导入的表EMPLOYEES重命名为EMPS

3 可传输表空间

数据泵的可传输表空间是一种特殊的导出表空间内对象的方式,将产生两类文件:只读数据文件和元数据泵文件

SQL> alter tablespace test read only;

Tablespace altered.
[oracle@DSI dump_test]$ expdp system/*** transport_tablespaces=test nologfile=y directory=dump_file_dir_test dumpfile=test_tts.DMP reuse_dumpfiles=y Export: Release 11.2.0.4.0 - Production on Thu Jul 11 15:14:57 2019 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01": system/******** transport_tablespaces=test nologfile=y directory=dump_file_dir_test dumpfile=test_tts.DMP reuse_dumpfiles=y
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/INDEX/INDEX
Processing object type TRANSPORTABLE_EXPORT/CONSTRAINT/CONSTRAINT
Processing object type TRANSPORTABLE_EXPORT/INDEX_STATISTICS
Processing object type TRANSPORTABLE_EXPORT/TABLE_STATISTICS
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Master table "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 is:
/home/oracle/dump_test/test_tts.DMP
******************************************************************************
Datafiles required for transportable tablespace TEST:
/u01/app/oracle/oradata/orcl/test01.dbf
Job "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at Thu Jul 11 15:15:13 2019 elapsed 0 00:00:15

--以这种方式生成的文件test_tts.DMP称为元数据泵文件,仅包含test表空间内所有对象的数据字典描述,实际的数据还在表空间test01文件中

另外,expdp还会检查导出的表空间是否符合自包含性。如果表T存在表空间test中,而t的索引idx_t1保存在users表空间中,若导出的只有users表空间,那么索引idx_t1将没有用处。自包含分为:单向自包含和双向自包含。

单向是指导出的表空间内的对象不依赖任何非导出的表空间内的任何对象,使用参数

--transport_full_check=n 可以做这样的检测;双向是指导出的表空间内的对象不依赖任何非导出的表空间内的任何对象,并且非导出的表空间内的对象也不依赖任何导出的表空间内的任何对象,--transport_full_check=y

若自包含失败--ORA-39187: the transportable set is not self-contained

[oracle@DSI dump_test]$ cp /u01/app/oracle/oradata/orcl/test01.dbf /home/oracle/backup/test01.tts
SQL> alter tablespace test read write; Tablespace altered.

还原

SQL> drop tablespace test including contents and datafiles;

Tablespace dropped.
[oracle@DSI dump_test]$ impdp \'/ as sysdba\' transport_datafiles=/home/oracle/backup/test01.tts nologfile=y dumpfile=test_tts.DMP directory=dump_file_dir_test Import: Release 11.2.0.4.0 - Production on Thu Jul 11 15:29:42 2019 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Master table "SYS"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
Starting "SYS"."SYS_IMPORT_TRANSPORTABLE_01": "/******** AS SYSDBA" transport_datafiles=/home/oracle/backup/test01.tts nologfile=y dumpfile=test_tts.DMP directory=dump_file_dir_test
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/INDEX/INDEX
Processing object type TRANSPORTABLE_EXPORT/CONSTRAINT/CONSTRAINT
Processing object type TRANSPORTABLE_EXPORT/INDEX_STATISTICS
Processing object type TRANSPORTABLE_EXPORT/TABLE_STATISTICS
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Job "SYS"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at Thu Jul 11 15:29:46 2019 elapsed 0 00:00:03
SQL> select tablespace_name,status,plugged_in from dba_tablespaces where tablespace_name='TEST'; TABLESPACE_NAME STATUS PLU
------------------------------ --------- ---
TEST READ ONLY YES
字段plugged_in的值是yes表示该表空间是通过可传输表空间导入的,而非创建的。
SQL> select * from test.t1; ID NAME DATE1
---------- ---------- ---------
1 AAAAA 22-MAY-19
2 bbbbb 22-MAY-19
3 tt 23-MAY-19
SQL> insert into test.t1 values(4,'yhq',sysdate);
insert into test.t1 values(4,'yhq',sysdate)
*
ERROR at line 1:
ORA-00372: file 5 cannot be modified at this time
ORA-01110: data file 5: '/home/oracle/backup/test01.tts' SQL> alter tablespace test read write; Tablespace altered. SQL> insert into test.t1 values(4,'yhq',sysdate); 1 row created. SQL> commit; Commit complete. SQL> select * from test.t1; ID NAME DATE1
---------- ---------- ---------
1 AAAAA 22-MAY-19
2 bbbbb 22-MAY-19
3 tt 23-MAY-19
4 yhq 11-JUL-19

最终结果是test表空间内对象都回到了导出时的状态,但是该表在导出后的变更全部丢失,所以只是还原没有回复。因为可传输表空间的主要目的是数据迁移。

采用该方式还原一个或多个自包含的表空间的最大特点是:还原时不要求被导入的数据文件头部中的DBID和数据库的DBID必须相同。此功能是RMAN的restore做不到的。

最后,可传输表空间的导入/导出不支持并行度,所以不能将parallel参数设置为大于1.

--expdp参数--主要

--expdp参数
--directory 默认DATA_PUMP_DIR
--parallel=2 导出工作在两个并行度下进行,会生成两个文件--企业版才支持并行
--dumpfile=EX%U.DMP 指定导出格式,U%可以表示1~10,如果expdp不指定目录,生成文件在默认/u01/app/oracle/admin/orcl/dpdump/路径下
--cluster=n 表示仅允许使用一个数据库实例上的进程进行导出操作,此模式限制对RAC环境中其他节点的利用,默认,cluster=y
--compression=all 开启了转储文件压缩功能,要求compatible初始化参数只是11.0.0
--full=y 表示完全模式导出,包含所有用户数据,实际上导出时仍然是只导与用户逻辑数据相关的对象和数据,如果要执行全库导出,连接用户必须
有EXP_FULL_DATABASE角色或dba角色的用户。
--reuse_dumpfiles=y表示若目录中存在同名数据泵文件,则将其覆盖
--nologfile=y 不产生一个记录导出过程的细节
--exclude 指定一个反规则的过滤条件,exclude=TABLE:"LIKE 'TMP%'" 所有TMP开头的表不会被导出
--filesize 默认=0 无限制,用来指定单个dump文件的最大容量,单位B\K\M\G
--flashback_scn 应用flashback query的特性,导出指定的scn时的对象数据
--flashback_time 导出指定的时间点的对象数据
--include 指定一个正规则的过滤条件,与exclude正好相反
--logfile 默认值export.log
--network_link 指定dblink执行导出,是expdp中, 唯一支持从远端数据库导出的方式
--parfile 指定参数文件的路径
--query 指定table的query功能
--schemas 以schema模式导出,schemas=TEST,scott
--status 默认=0,指定任务执行状态刷新的频率
--tables 按表导出,tables=TEST.t1,scott.emp,TABLES=SCOTT.EMP%,TABLES=SCOTT.T_PARTITION:PART01导出分区
--tablespaces 按表空间导出tablespaces=user,TEST
--transport_tablespaces 指定以传输表空间模式导出的表空间名称列表
--version 默认=compatible 指定数据库生成的dump文件的最低兼容版本

--impdp参数--主要

--impdp
--impdp -help
--content 默认=all,分为DATA和METADATA,分表代表对象数据和对象元数据
----DATA_ONLY只导入数据部分
----METADATA_ONLY只导入元数据,即对象的定义
--directory 默认DATA_PUMP_DIR
--dumpfile 指定导入的dump文件
--exclude
--flashback_scn
--flashback_time
--full=y 全库模式导入,指所有dump文件的内容均被导入
--include
--logfile
--network_link
--parallel
--nologfile
--parfile
--query
--remap_datafile 用来转换本地数据文件的路径,通常在表空间迁移时需要设置,remap_datafile=source_datafile:target_datafile
在执行impdp时指定本参数,用户必须有imp_full_database角色或dba角色
--remap_table REMAP_TABLE=HR.EMPLOYEES:EMPS
--remap_schema 用来转换对象的属主,remap_schema=source_schema:target_schema,该参数的作用类似fromuser+touser
--remap_schema=A:X,B:Y
--remap_tablespace 用来转换对象所在的表空间,remap_tablespace=source_tablespace:target_tablespace
--reuse_datafiles 默认=n,用来指定如果导入执行创建表空间时,发现表空间对应的数据文件已经存在,是否能够重用
如果指定y,表空间的创建能够正常进行,并自动对已存在的数据文件进行初始化处理
--schemas 以schema模式导入
--skip_unusable_indexes 用来指定导入时是否跳过不可用(unusable)状态的index
--sqlfile 用来生成导入设计的DDL语句,sqlfile=[directory_object:]file_name
当impdp命令并指定sqlfile参数时,数据并不会真正被导入,而是将导入所涉及的所有DDL语句存入sqlfile指定的文件中,因此该参数
可以用来生成对象的创建脚本
--streams_configuration 默认=y 指定是否导入streams的配置信息
--table_exists_action 默认=skip 如果要导入的表在目标库中存在该如何处理
----SKIP 跳过当前对象的处理
----APPEND 向当前对象追加记录
----TRUNCATE 首先truncate当前对象中的数据,再导入数据
----REPLACE 相当于先truncate,在append
--tables 表模式导入 ,TABLES=SCOTT.EMP%
--tablespaces 表空间模式来导入数据
--transform 可以用来修改对象创建的DDL语句,transform=transform_name:value[:object_type]
--segment_attributes 指定存储段的属性是否被导入,包括物理属性、存储属性、表空间及是否记录日志等
--storage 指定是的导入存储属性
--oid 指定是否导入oid
--pctspace 指定对象分配时的大小
--transport_datafiles
--transport_full_check
--transport_tablespaces 指定以传输表空间模式导入的表空间名称列表
--version

oracle expdp/impdp/可传输表空间的更多相关文章

  1. 转 Oracle Transportable TableSpace(TTS) 传输表空间 说明

    ############1   迁移数据库的集中方法 三.相关技术 迁移方式 优势 不足1 Export and import • 对数据库版本,以及系统平台没有要求 • 不支持并发,速度慢• 停机时 ...

  2. Oracle使用SQL传输表空间

    源环境:RHEL 6.4 + Oracle 11.2.0.4 目的环境:RHEL 6.4 + Oracle 11.2.0.4 DG双机 要求:使用SQL传输表空间DBS_D_JINGYU从源环境到目的 ...

  3. oracle操作之传输表空间

    一.传输表空间概述 什么是传输表空间,传输表空间技术始于oracle9i,不论是数据字典管理的表空间还是本地管理的表空间,都可以使用传输表空间技术:传输表空间不需要在源数据库和目标数据库之间具有同样的 ...

  4. Oracle传输表空间介绍

    传输表空间通过拷贝数据文件的方式,实现可跨平台的数据迁移,效率远超expdp/impdp, exp/imp等工具.还可以应用跨平台&数据库版本迁移表数据.归档历史数据和实现表空间级时间点数据恢 ...

  5. oracle传输表空间

    https://blog.csdn.net/ch7543658/article/details/39271135/ Oracle expdp/impdp常用性能优化方法 1.查看操作系统endiann ...

  6. oracle可传输表空间测试

    使用RMAN在恢复表空间的时候,表空间数据文件DBID和恢复数据库的数据文件DBID必须相同 可传输表空间不需要这样,也就是可以快速的把这个表空间插入另一个数据库使用 可传输表空间内的对象必须不依赖与 ...

  7. 数据泵 TTS(传输表空间技术)

    1.源库准备环境 --创建被传输的表空间create tablespace tts logging datafile '/home/oracle/app/oradata/orcl/tts01.dbf' ...

  8. [20170623]利用传输表空间恢复数据库2.txt

    [20170623]利用传输表空间恢复数据库2.txt --//继续上午的测试,测试truncate,是否可行,理论讲应该没有问题.我主要的目的测试是否要切换日志.--//参考链接 : http:// ...

  9. [20170623]利用传输表空间恢复部分数据.txt

    [20170623]利用传输表空间恢复部分数据.txt --//昨天我测试使用传输表空间+dblink,上午补充测试发现表空间设置只读才能执行impdp导入原数据,这个也很好理解.--//这样的操作模 ...

随机推荐

  1. KVM虚拟化网卡管理

    brctl常用命令 查看当前虚拟网桥状态 brctl show 添加一个网桥 addbr 删除一个网桥 delbr 添加网口 addif 删除网口 delif VALN LAN 表示 Local Ar ...

  2. EFCore, 输出执行的Sql语句到控制台或者调试窗口

    .net core 已经集成的各种日志功能,使用efcore时,只需要按情况引入相应的包即可,如果你用的是.net core调试,那么可以引入 Microsoft.Extensions.Logging ...

  3. mysql面试题练习01

    1.数学函数 有如下表和数组 把num值处于[20,29]之间,改为20 num值处于[30,39]之间的,改为30 ) ; 2.字符串 把good表中商品名为'诺基亚xxxx'的商品,改为'HTCx ...

  4. Web Api 接口测试工具:Swagger

    前言:WebApi接口开发完毕后,交付给前端人员或手机端开发者时接口说明文档是必不可少的配套设备,如果公司流程不规范大家使用口口相传的交接方式,而且没有改进的欲望,那你可以到此为止了.Swagger是 ...

  5. ubuntu 设置apt-get 代理

    1 添加apt-get 代理配置文件 sudo vi /etc/apt/apt.conf.d/proxy.conf 2 添加内容 Acquire::http::Proxy "http://w ...

  6. Kendo UI for jQuery使用教程:入门指南

    [Kendo UI for jQuery最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support ...

  7. Python分布式+云计算

    参考: http://wiki.python.org/moin/ParallelProcessing http://wiki.python.org/moin/DistributedProgrammin ...

  8. SOA架构及其架构分析

    一.什么是SOA SOA即面向服务的架构.分为三层结构:表示层(服务层).中间业务逻辑层.数据访问层. SOA是一种粗粒度.松耦合服务架构,服务之间通过简单.精确定义接口进行通讯,不涉及底层编程接口和 ...

  9. IM 云通信

    在项目开发中遇到的问题: 在项目中所有的id都必须为字符串类型

  10. 【leetcode】1184. Distance Between Bus Stops

    题目如下: A bus has n stops numbered from 0 to n - 1 that form a circle. We know the distance between al ...