当前位置: 首页 > news >正文

基于 Oracle 数据泵(expdp/impdp) 的数据导入导出

数据泵(expdp/impdp)是Oracle 10g 之后进行高效数据迁移的标准工具,支持多线程操作与灵活参数配置‌。数据泵实际上是后台存储过程作业,由dw进程进行工作,此进程可以并发多个运行,相关作业状态可以由dba_datapump_jobs视图查看。在终端关闭或者ctrl c啥的依然不会影响作业的运行,若要进行作业管理需要attach。利用数据泵可以做到逻辑的备份,数据迁移,传输表空间等,DBA比较常用的工具; imp/exp 是原始导入导出工具。

数据导出(expdp)

数据的导出为数据库的存储过程作业,所以需要用到目录对象,定义导出dump文件、日志文件等的路径信息;
导出任务发起,作业会数据库自动创建,作业会自动创建master表记录作业信息,作业状态也会记录在dba_datapump_jobs视图;
数据导出源端为数据库,目标端为dump文件,也就是灵活将数据库的相关对象写入到dump物理文件,理解链接关系,跟目标库是无关系的;
当然需要用到exp_full_database角色权限,目录对象的执行读写权限。

查看表空间

set line 300 pages 100
col tablespace_name for a40
col owner for a30
select distinct tablespace_name,owner from dba_tables
where owner in (select username from dba_users where account_status='OPEN' and username not in ('SYS','SYSTEM','DBSNMP'))
order by 2;

查看索引

set line 300 pages 100
col tablespace_name for a40
col owner for a30
select distinct tablespace_name,owner from dba_indexes
where owner in (select username from dba_users where account_status='OPEN' and username not in ('SYS','SYSTEM','DBSNMP'))
order by 2;

查看数据库大小

select sum(bytes)/1024/1024/1024 from dba_segments;

查看所有directory目录

col directory_name for a25
col DIRECTORY_PATH for a80
select directory_name,directory_path from dba_directories;

创建目录

mkdir /backup/dumpfile
chown oracle.oinstall /backup/dumpfile

数据库中创建并授权

create directory mydir as '/backup/dumpfile';
grant read,write on directory mydir to sys;

默认是用sys进行创建,普通用户需要进行授权。

导出数据

参数文件

vi /home/oracle/wl_full.parUSERID=system/*******
DIRECTORY=dumpdir
DUMPFILE=xl20250216_%U.dmp
LOGFILE=xl20250216_exp.log
JOB_NAME=xl_export_full
LOGTIME=all
SCHEMA=xl
EXCLUDE=statistics
COMPRESSION=all
PARALLEL=8
CLUSTER=no

USERID 为用户凭证,普通用户操作需要授权
DIRECTORY 为目录对象
DUMPFILE 为导出文件名称
LOGFILE 为导出日志名称
JOB_NAME 为作业名称,自定义作业名称方便管理
LOGTIME all为记录每个环节的时间
SCHEMA 为模式名称,通俗讲也就是导出哪个业务用户的数据
EXCLUDE 为排除不导出的内容,这里列举为统计信息,当然可以是其他的对象信息
COMPRESSION 为导出数据的压缩级别,all为数据和元数据全部压缩,最高压缩类型,当然可以结合压缩算法COMPRESSION_ALGORITHM达到更高级别的压缩
PARALLEL 为并行度,也就是定义dw进程的个数
CLUSTER 为RAC特有参数,定义作业是否在每个节点运行

设置方案

schemas=schema1,schema2

作用:指定要导出的 Schema(方案或用户)列表,多个 Schema 用逗号分隔。
注意事项:
导出多个 Schema 时,确保目标数据库有足够的存储空间。
Schema 中的对象(如表、索引、存储过程)会被一并导出。

设置导出文件与目录

directory=DATA_PUMP_DIR

作用:指定导出文件存放的 Oracle 目录对象(对应服务器上的物理路径)。
注意事项:
DATA_PUMP_DIR 是 Oracle 的预定义目录,需拥有DBA 提前创建并授权:

CREATE DIRECTORY DATA_PUMP_DIR AS 'D:\dir';
GRANT READ, WRITE ON DIRECTORY DATA_PUMP_DIR TO system;

实际路径需在数据库服务器上存在且有写入权限,而非客户端机器。不要设置电脑桌面目录下文件,可能权限有影响,导入报错访问不了文件。

设置导出文件名

dumpfile=filename_%U.dmp

作用:定义导出文件的名称格式,%U 表示自动生成两位数字编号(如 multischema_01.dmp)。
注意事项:
当导出数据量较大时,结合 parallel 参数会生成多个文件。
分片文件名需包含通配符(如 %U%L),否则并行导出会报错。

执行

expdp PARFILE=/home/oracle/wl_full.par

查看作业状态

set line 300 pages 100
col owner_name for a20
col job_name for a30
col state for a20
select owner_name,job_name,state from dba_datapump_jobs;OWNER_NAME	     JOB_NAME			    STATE
-------------------- ------------------------------ --------------------
SYSTEM		     XL_EXPORT_FULL		    EXECUTING

登录作业

expdp system attach=XL_EXPORT_FULL

STATUS,查看状态
STOP_JOB,停止作业,可以继续启动,dba_datapump_jobs信息依然存在
START_JOB,继续启动停止的作业
KILL_JOB,强制终止作业,dba_datapump_jobs信息会清除

数据导入

数据的导入也是数据库的存储过程作业,所以需要用到目录对象,定义dump文件、日志文件等的路径信息;
导入任务发起,作业会数据库自动创建,作业会自动创建master表记录作业信息,作业状态也会记录在dba_datapump_jobs视图;
数据导入源端为dump文件,目标端为数据库,也就是灵活将dump文件的相关对象写入到目标数据库,理解链接关系,跟源库是无关系的;
当然需要用到imp_full_database角色权限,目录对象的执行读写权限。

创建用户和表空间

create tablespace TEST datafile size 31G autoextend on;
create user TEST identified by "TEST" default tablespace TEST quota unlimited on TEST;

关键是定义好表空间,用户可以不用创建。
若不同表空间需要利用REMAP_TABLESPACE重新映射表空间。
若需要导入不同的用户,可以利用REMAP_SCHEMA重新映射用户。
当然表结构和数据也可以重新映射。

创建目录对象

目录

mkdir /backup/dumpfile
chown oracle.oinstall /backup/dumpfile

保存信息到数据库

create directory mydir as '/backup/dumpfile';

创建参数文件

vi /home/oracle/imp_full.parUSERID=system/*******
DIRECTORY=mydir
DUMPFILE=xl20250216_%U.dmp
LOGFILE=xl20250216_imp.log
JOB_NAME=xl_import_full
LOGTIME=ALL
CLUSTER=NO
PARALLEL=8
TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y
REMAP_TABLESPACE=users:CISMT_DATA
TABLE_EXISTS_ACTION=REPLACE

USERID 为导出用户凭证
DIRECTORY 为目录对象
DUMPFILE 为导出文件名称
LOGFILE 为导入日志名称
JOB_NAME 为作业名称,自定义作业名称方便管理
LOGTIME all为记录每个环节的时间
SCHEMA 为模式名称,通俗讲也就是导出哪个业务用户的数据
EXCLUDE 为排除不导出的内容,这里列举为统计信息,当然可以是其他的对象信息
COMPRESSION 为导出数据的压缩级别,all为数据和元数据全部压缩
PARALLEL 为并行度,也就是定义dw进程的个数,要跟dmp文件数对应上
CLUSTER 为RAC特有参数,定义作业是否在每个节点运行
TRANSFORM为转换参数,DISABLE_ARCHIVE_LOGGING:Y也就是不写归档,12c新特性
REMAP_TABLESPACE为重新映射表空间,源:目标
TABLE_EXISTS_ACTION为当表存着如何操作,REPLACE为替换,重新创建表

remap_schema 模式映射

remap_schema=schema1:newschema1,schema2:newschema2
作用:将源模式映射到目标模式。
schema1 → newschema1
schema2 → newschema2
目标模式需提前存在,或确保执行用户有权限创建(需 CREATE USER 权限)。
映射失败会导致对象导入到原模式(若存在)或报错。

remap_tablespace 表空间映射

remap_tablespace=old_ts1:new_ts1,old_ts2:new_ts2
:每个源表空间只能映射一次。若需将 USER_ME 中的不同对象分配到不同目标表空间,需结合 REMAP_SCHEMA 和 INCLUDE 参数。
作用:将源表空间映射到目标表空间。
old_ts1 → new_ts1
old_ts2 → new_ts2

目标表空间需提前创建。
每个源表空间只能映射一次。
old_ts1 → new_ts1
old_ts1→ new_ts2
若这样会执行不了命令
若未映射,对象将尝试导入到原表空间(若不存在则报错)。

忽略段属性(存储参数)

TRANSFORM=SEGMENT_ATTRIBUTES:N
作用:忽略段属性(存储参数),包括:
表空间(TABLESPACE)
存储参数(如 INITIAL, NEXT 等)
日志模式(LOGGING/NOLOGGING)
适用场景:
目标环境表空间结构与源库不同,需依赖 remap_tablespace 参数。
避免存储参数(如分区表大小)与目标环境不匹配。
注意:需与 remap_tablespace 配合使用,否则对象可能导入到默认表空间。

数据存储的目录

directory=DATA_PUMP_DIR

作用:指定数据库目录对象,用于定位转储文件(.dmp)和日志文件。
注意:
DATA_PUMP_DIR 需在目标数据库中预定义。
路径权限需允许 Oracle 进程读写。

数据存储的文件(.dmp)

作用:指定导入的转储文件名,%U 通配符自动匹配多个文件(如 multischema_01.dmp, multischema_02.dmp)。
注意:
需确保所有分片文件均存在于 DATA_PUMP_DIR 目录。
若导出时未分片,直接指定文件名(如 dumpfile=full.dmp)。

已存在表时

TABLE_EXISTS_ACTION=REPLACE

作用:当目标表已存在时,替换其结构及数据。
替换行为:删除原表,重新创建并导入数据。
对比其他选项:
SKIP:跳过已存在的表(默认)。
APPEND:追加数据到现有表。
TRUNCATE:清空表后导入数据。
风险:REPLACE 会删除原表,导致依赖对象(如索引、触发器)失效。
建议:
生产环境慎用,建议先备份。
确保目标表无其他依赖或业务影响。

执行

expdp PARFILE=/home/oracle/imp_full.par

查看作业

set line 300 pages 100
col owner_name for a20
col job_name for a30
col state for a20
select owner_name,job_name,state from dba_datapump_jobs;

附加到作业

expdp system attach=xl_import_full# 查看状态
status

expdp 参数详细说明

expdp -help数据泵导出实用程序提供了一种用于在 Oracle 数据库之间传输数据对象的机制。
该实用程序可以使用以下命令进行调用:示例: expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp您可以控制导出的运行方式。具体方法是: 在 'expdp' 命令后输入
各种参数。要指定各参数, 请使用关键字:格式:  expdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)示例: expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scott或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表USERID 必须是命令行中的第一个参数。------------------------------------------------------------------------------以下是可用关键字和它们的说明。方括号中列出的是默认值。ABORT_STEP
在初始化作业后停止作业, 或者在指示的对象中停止作业。
有效值为 -1 或 N, 此处 N 为大于等于零的值。
N 对应于对象在主表中的进程顺序号。ACCESS_METHOD
指示导出操作使用特定方法来卸载数据。
有效的关键字值为: [AUTOMATIC], DIRECT_PATH 和 EXTERNAL_TABLE。ATTACH
连接到现有作业。
例如, ATTACH=job_name。CLUSTER
利用集群资源并将 worker 进程分布在 Oracle RAC 上 [YES]。COMPRESSION
减少转储文件大小。
有效的关键字值为: ALL, DATA_ONLY, [METADATA_ONLY] 和 NONE。COMPRESSION_ALGORITHM
指定应使用的压缩算法。
有效的关键字值为: [BASIC], LOW, MEDIUM 和 HIGH。CONTENT
指定要卸载的数据。
有效的关键字值为: [ALL], DATA_ONLY 和 METADATA_ONLY。DATA_OPTIONS
数据层选项标记。
有效的关键字值为: XML_CLOBS。DIRECTORY
用于转储文件和日志文件的目录对象。DUMPFILE
指定目标转储文件名的列表 [expdat.dmp]。
例如, DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。ENCRYPTION
加密某个转储文件的一部分或全部。
有效的关键字值为: ALL, DATA_ONLY, ENCRYPTED_COLUMNS_ONLY, METADATA_ONLY 和 NONE。ENCRYPTION_ALGORITHM
指定加密的方式。
有效的关键字值为: [AES128], AES192 和 AES256。ENCRYPTION_MODE
生成加密密钥的方法。
有效的关键字值为: DUAL, PASSWORD 和 [TRANSPARENT]。ENCRYPTION_PASSWORD
用于在转储文件中创建加密数据的口令密钥。ENCRYPTION_PWD_PROMPT
指定是否提示输入加密口令 [NO]。
当标准输入为读取时, 将隐藏终端回送。ESTIMATE
计算作业估计值。
有效的关键字值为: [BLOCKS] 和 STATISTICS。ESTIMATE_ONLY
计算作业估计值而不执行导出 [NO]。EXCLUDE
排除特定对象类型。
例如, EXCLUDE=SCHEMA:"='HR'"。FILESIZE
以字节为单位指定每个转储文件的大小。FLASHBACK_SCN
用于重置会话快照的 SCN。FLASHBACK_TIME
用于查找最接近的相应 SCN 值的时间。FULL
导出整个数据库 [NO]。HELP
显示帮助消息 [NO]。INCLUDE
包括特定对象类型。
例如, INCLUDE=TABLE_DATA。JOB_NAME
要创建的导出作业的名称。KEEP_MASTER
在成功完成导出作业后保留主表 [NO]。LOGFILE
指定日志文件名 [export.log]。LOGTIME
指定要给在导出操作期间显示的消息加时间戳。
有效的关键字值为: ALL, [NONE], LOGFILE 和 STATUS。METRICS
将其他作业信息报告到导出日志文件 [NO]。NETWORK_LINK
源系统的远程数据库链接的名称。NOLOGFILE
不写入日志文件 [NO]。PARALLEL
更改当前作业的活动 worker 的数量。PARFILE
指定参数文件名。QUERY
用于导出表的子集的谓词子句。
例如, QUERY=employees:"WHERE department_id > 10"。REMAP_DATA
指定数据转换函数。
例如, REMAP_DATA=EMP.EMPNO:REMAPPKG.EMPNO。REUSE_DUMPFILES
覆盖目标转储文件 (如果文件存在) [NO]。SAMPLE
要导出的数据的百分比。SCHEMAS
要导出的方案的列表 [登录方案]。SERVICE_NAME
约束 Oracle RAC 资源的活动服务名和关联资源组。SOURCE_EDITION
用于提取元数据的版本。STATUS
监视作业状态的频率, 其中
默认值 [0] 表示只要有新状态可用, 就立即显示新状态。TABLES
标识要导出的表的列表。
例如, TABLES=HR.EMPLOYEES,SH.SALES:SALES_1995。TABLESPACES
标识要导出的表空间的列表。TRANSPORTABLE
指定是否可以使用可传输方法。
有效的关键字值为: ALWAYS 和 [NEVER]。TRANSPORT_FULL_CHECK
验证所有表的存储段 [NO]。TRANSPORT_TABLESPACES
要从中卸载元数据的表空间的列表。VERSION
要导出的对象版本。
有效的关键字值为: [COMPATIBLE], LATEST 或任何有效的数据库版本。VIEWS_AS_TABLES
标识要作为表导出的一个或多个视图。
例如, VIEWS_AS_TABLES=HR.EMP_DETAILS_VIEW。------------------------------------------------------------------------------下列命令在交互模式下有效。
注: 允许使用缩写。ADD_FILE
将转储文件添加到转储文件集。CONTINUE_CLIENT
返回到事件记录模式。如果处于空闲状态, 将重新启动作业。EXIT_CLIENT
退出客户机会话并使作业保持运行状态。FILESIZE
用于后续 ADD_FILE 命令的默认文件大小 (字节)。HELP
汇总交互命令。KILL_JOB
分离并删除作业。PARALLEL
更改当前作业的活动 worker 的数量。REUSE_DUMPFILES
覆盖目标转储文件 (如果文件存在) [NO]。START_JOB
启动或恢复当前作业。
有效的关键字值为: SKIP_CURRENT。STATUS
监视作业状态的频率, 其中
默认值 [0] 表示只要有新状态可用, 就立即显示新状态。STOP_JOB
按顺序关闭作业执行并退出客户机。
有效的关键字值为: IMMEDIATE。STOP_WORKER
停止挂起或粘滞的 worker。TRACE
为当前作业设置跟踪/调试标记。

impdp 参数详细说明

1

数据泵导入实用程序提供了一种用于在 Oracle 数据库之间传输数据对象的机制。
该实用程序可以使用以下命令进行调用:示例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp您可以控制导入的运行方式。具体方法是: 在 'impdp' 命令后输入
各种参数。要指定各参数, 请使用关键字:格式:  impdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)示例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmpUSERID 必须是命令行中的第一个参数。------------------------------------------------------------------------------以下是可用关键字和它们的说明。方括号中列出的是默认值。ABORT_STEP
在初始化作业后停止作业, 或者在指示的对象中停止作业。
有效值为 -1 或 N, 此处 N 为大于等于零的值。
N 对应于对象在主表中的进程顺序号。ACCESS_METHOD
指示导入操作使用特定方法来加载数据。
有效的关键字值为: [AUTOMATIC], CONVENTIONAL, DIRECT_PATH,
EXTERNAL_TABLE, 和 INSERT_AS_SELECT。ATTACH
连接到现有作业。
例如, ATTACH=job_name。CLUSTER
利用集群资源并将 worker 进程分布在 Oracle RAC 上 [YES]。CONTENT
指定要加载的数据。
有效的关键字为: [ALL], DATA_ONLY 和 METADATA_ONLY。DATA_OPTIONS
数据层选项标记。
有效的关键字为: DISABLE_APPEND_HINT, SKIP_CONSTRAINT_ERRORS, REJECT_ROWS_WITH_REPL_CHAR 和 VALIDATE_TABLE_DATA。DIRECTORY
用于转储文件, 日志文件和 SQL 文件的目录对象。DUMPFILE
要从中导入的转储文件的列表 [expdat.dmp]。
例如, DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。ENCRYPTION_PASSWORD
用于访问转储文件中的加密数据的口令密钥。
对于网络导入作业无效。ENCRYPTION_PWD_PROMPT
指定是否提示输入加密口令 [NO]。
当标准输入为读取时, 将隐藏终端回送。ESTIMATE
计算网络作业估计值。
有效的关键字为: [BLOCKS] 和 STATISTICS。EXCLUDE
排除特定对象类型。
例如, EXCLUDE=SCHEMA:"='HR'"。FLASHBACK_SCN
用于重置会话快照的 SCN。FLASHBACK_TIME
用于查找最接近的相应 SCN 值的时间。FULL
导入源中的所有对象 [YES]。HELP
显示帮助消息 [NO]。INCLUDE
包括特定对象类型。
例如, INCLUDE=TABLE_DATA。JOB_NAME
要创建的导入作业的名称。KEEP_MASTER
在成功完成导入作业后保留主表 [NO]。LOGFILE
日志文件名 [import.log]。LOGTIME
指定要给在导入操作期间显示的消息加时间戳。
有效的关键字值为: ALL, [NONE], LOGFILE 和 STATUS。MASTER_ONLY
只导入主表, 然后停止作业 [NO]。METRICS
将其他作业信息报告到导入日志文件 [NO]。NETWORK_LINK
源系统的远程数据库链接的名称。NOLOGFILE
不写入日志文件 [NO]。PARALLEL
更改当前作业的活动 worker 的数量。PARFILE
指定参数文件。PARTITION_OPTIONS
指定应如何转换分区。
有效的关键字为: DEPARTITION, MERGE 和 [NONE]。QUERY
用于导入表的子集的谓词子句。
例如, QUERY=employees:"WHERE department_id > 10"。REMAP_DATA
指定数据转换函数。
例如, REMAP_DATA=EMP.EMPNO:REMAPPKG.EMPNO。REMAP_DATAFILE
在所有 DDL 语句中重新定义数据文件引用。REMAP_SCHEMA
将一个方案中的对象加载到另一个方案。REMAP_TABLE
将表名重新映射到另一个表。
例如, REMAP_TABLE=HR.EMPLOYEES:EMPS。REMAP_TABLESPACE
将表空间对象重新映射到另一个表空间。REUSE_DATAFILES
如果表空间已存在, 则将其初始化 [NO]。SCHEMAS
要导入的方案的列表。SERVICE_NAME
约束 Oracle RAC 资源的活动服务名和关联资源组。SKIP_UNUSABLE_INDEXES
跳过设置为“索引不可用”状态的索引。SOURCE_EDITION
用于提取元数据的版本。SQLFILE
将所有的 SQL DDL 写入指定的文件。STATUS
监视作业状态的频率, 其中
默认值 [0] 表示只要有新状态可用, 就立即显示新状态。STREAMS_CONFIGURATION
启用流元数据的加载 [YES]。TABLE_EXISTS_ACTION
导入对象已存在时执行的操作。
有效的关键字为: APPEND, REPLACE, [SKIP] 和 TRUNCATE。TABLES
标识要导入的表的列表。
例如, TABLES=HR.EMPLOYEES,SH.SALES:SALES_1995。TABLESPACES
标识要导入的表空间的列表。TARGET_EDITION
用于加载元数据的版本。TRANSFORM
要应用于适用对象的元数据转换。
有效的关键字为: DISABLE_ARCHIVE_LOGGING, INMEMORY, INMEMORY_CLAUSE,
LOB_STORAGE, OID, PCTSPACE, SEGMENT_ATTRIBUTES, SEGMENT_CREATION,
STORAGE, 和 TABLE_COMPRESSION_CLAUSE。TRANSPORTABLE
用于选择可传输数据移动的选项。
有效的关键字为: ALWAYS 和 [NEVER]。
仅在 NETWORK_LINK 模式导入操作中有效。TRANSPORT_DATAFILES
按可传输模式导入的数据文件的列表。TRANSPORT_FULL_CHECK
验证所有表的存储段 [NO]。
仅在 NETWORK_LINK 模式导入操作中有效。TRANSPORT_TABLESPACES
要从中加载元数据的表空间的列表。
仅在 NETWORK_LINK 模式导入操作中有效。VERSION
要导入的对象的版本。
有效的关键字为: [COMPATIBLE], LATEST 或任何有效的数据库版本。
仅对 NETWORK_LINK 和 SQLFILE 有效。VIEWS_AS_TABLES
标识要作为表导入的一个或多个视图。
例如, VIEWS_AS_TABLES=HR.EMP_DETAILS_VIEW.
请注意, 在网络导入模式下, 可以将表名附加到
视图名。------------------------------------------------------------------------------下列命令在交互模式下有效。
注: 允许使用缩写。CONTINUE_CLIENT
返回到事件记录模式。如果处于空闲状态, 将重新启动作业。EXIT_CLIENT
退出客户机会话并使作业保持运行状态。HELP
汇总交互命令。KILL_JOB
分离并删除作业。PARALLEL
更改当前作业的活动 worker 的数量。START_JOB
启动或恢复当前作业。
有效的关键字为: SKIP_CURRENT。STATUS
监视作业状态的频率, 其中
默认值 [0] 表示只要有新状态可用, 就立即显示新状态。STOP_JOB
按顺序关闭作业执行并退出客户机。
有效的关键字为: IMMEDIATE。STOP_WORKER
停止挂起或粘滞的 worker。TRACE
为当前作业设置跟踪/调试标记。

相关链接

https://docs.oracle.com/en/database/oracle/oracle-database/19/sutil/oracle-data-pump-overview.html

http://www.dtcms.com/a/479746.html

相关文章:

  • Oracle RAC Global Cache Load Profile
  • 关于做网站的毕业设计如何制作简单的网站
  • AI大模型的市场目前怎么样?
  • self attention, masked self attention, cross attention
  • 基于51单片机心率温度语音播报、显示时间
  • 商城网站建设公司招聘北京房产网北京二手房
  • 前端图片加载失败、 img 出现裂图的原因全解析
  • Linux——进程优先级
  • 宝塔面板建设二级域名网站访问不了网站建设需
  • wordpress 会被墙吗福田企业网站优化排名
  • ftp上传网站社群营销与运营
  • 吉林网站建设费用接推广是什么意思
  • 如何做营销型网站人工智能的关键词
  • 旅游网站的设计栏目动易网站系统怎么样
  • 上海网站制作建设多少钱.net 快速网站开发
  • 网站营销活动策划wordpress制作网页教程
  • 如何完整保存网站并做修改中企动力邮箱网页版
  • 网站模板下载破解版廊坊那家做网站排行榜
  • 深圳网站设计九曲个人小说网站怎么做
  • 沈阳网站建设024wwordpress 会员登录
  • 【开题答辩全过程】以 濒危动物保护管理系统为例,包含答辩的问题和答案
  • VS Code 智能提示(IntelliSense)完全配置指南(C++/Python/JavaScript)
  • wordpress 全站密码网站建设基础策划
  • 长沙 网站seo服务 网络服务wordpress实时预览载入中
  • 简述电子商务网站的建设流程图企业网站建设 西宁
  • 网页设计与网站建设 入门必练青海网站建设哪家好
  • 【HashMap全面知识点】— 快速理解HashMap
  • 【系统分析师】写作框架:面向对象设计方法及其应用
  • 图书网站建设实训总结人像摄影网站十大排名
  • 网站开发常问的技术性问题哈尔滨建站模板厂家