说明:
逻辑导出和逻辑导入数据库对象分为四种级别:数据库级、用户级、模式级和表级。四种级别独立互斥,不能同时存在。
关键字符,dexp 和 dimp 要求对连接串的特殊字符需要使用双引号括起来"aaaa/aaaa",操作系统的要求需要再在最外加双引号和转义""“aaaa/aaaa”""。例如:用户名为 user01,密码为 aaaa/aaaa,那么连接串要写成:dexp user01/""“aaaa/aaaa”""
空格,需要使用双引号括起来作为一个整体(这是操作系统的要求)。例如:用户名为 user01,密码为 aaaa aaaa ,那么连接串要写成:dexp user01/“aaaa aaaa”
双引号,dexp 和 dimp 要求对双引号需要使用双引号括起来,同时双引号需要转义"aaaa"“aaaa”;操作系统要求再对双引号转义和最外层加双引号""“aaaa”""“aaaa”""。例如:用户名为 user01,密码为 aaaa"aaaa ,那么连接串要写成:dexp user01/""“aaaa”""“aaaa”""。
LINUX 环境下,密码中的特殊字符处理过程既要考虑操作系统的要求,又要考虑 dexp 和 dimp 的要求。
bash 的引号设计为:在单引号中,所有的特殊字符都失去其特殊含义;在双引号中,特殊字符包括:美元符()、反引号(`)、转义符()、感叹号(!)。
如果密码中没有单引号的,应该都只有外面加单引号就可以解决了;如果密码只有单引号,那么可以将单引号用双引号括起来;如果既有单引号又有美元符()、反引号(`)、转义符()、感叹号(!)四个特殊字符,那么在特殊字符之前全部加\转义就好了。例如:
‘aaaa\aaaa’ 传给 dexp 和 dimp 为 aaaa\aaaa。
“aaaa’aaaa” 传给 dexp 和 dimp 为 aaaa’aaaa。
“aaa’$aaaa” 传给 dexp 和 dimp 为 aaa’$aaaa。
关键字符,dexp 和 dimp 要求对连接串的特殊字符需要使用双引号括起来。例如:密码为 aaaa\aaaa,使用双引号括起来"aaaa\aaaa",因为此密码中不含有单引号,根据操作系统的要求直接在最外面加单引号。例如:用户名为 user01,密码为 aaaa/aaaa,那么连接串要写成:./dexp user01/’“aaaa/aaaa”’。
双引号,dexp 和 dimp 要求对双引号需要使用双引号括起来,同时双引号需要转义。例如:密码为 aaa"\aaaa,那么根据 dexp 和 dimp 的要求加双引号同时转义为"aaa""\aaaa",因为没有单引号,根据操作系统的要求直接加单引号。例如:用户名为 user01,密码为 aaa"\aaaa,那么连接串要写成:./dexp user01/’“aaa”"\aaaa"’。
单引号,根据操作系统的要求,只能将单引号放入双引号中。例如:用户名为 user01,密码为 aaaa’aaaa,那么连接串要写成:./dexp user01/“aaaa’aaaa”。
单引号 + 操作系统下的特殊字符,根据操作系统的要求,因为单引号只能放在双引号内,同时双引号中还有一些特殊字符不能被识别需要加反斜杠转义。例如: 用户名为 user01,密码为 aaa’aaaa,使用双引号括起来,同时对 加反斜杠转义。那么连接串要写成:./dexp user01/“aaa’$aaaa”。
单引号 + 双引号,根据操作系统的要求,单引号需要放在双引号中,在双引号中表示双引号则使用反斜杠转义双引号。例如: 用户名为 user01,密码为 aaa"'aaaa,根据 dexp 和 dimp 的要求双引号作为特殊字符,需要使用双引号再括起来,同时使用双引号对双引号转义"aaa""'aaaa";同时考虑操作系统的要求,因为含有单引号,只能将整个密码放入双引号中,同时对双引号使用反斜杠转义,那么连接串要写成:./dexp user01/"“aaa”"'aaaa""。
2.如何转义双引号
1.dexp 和 dimp 要求使用双引号对双引号内的双引号转义。
2.WINDOWS 命令行,使用双引号或者反斜杠对双引号内的双引号转义。
3.LINUX 命令行,使用反斜杠对双引号内的双引号转义。
对于输入的用户名、模式名和表名,工具都会自动转换为大写。例如:输入的命令 TABLES=t1,那么实际处理的表是 T1。
对于小写的用户名、模式名和表名,为了不转换为大写,需要转义。如果用户名、模式名和表名中含有特殊字符(双引号、单引号、空格、逗号等),则也需要进行转义。具体的转义规则请参考 对于密码中特殊字符书写规范的介绍。
查看附件
PS D:\dmdbms\bin> .\dexp.exe help
dexp V8
version: 03134284132-20231226-213242-20081
格式: dexp.exe KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
例程: dexp.exe SYSDBA/SYSDBA GRANTS=Y TABLES=(SYSDBA.TAB1,SYSDBA.TAB2,SYSDBA.TAB3)
USERID 必须是命令行中的第一个参数
关键字 说明(默认值)
--------------------------------------------------------------------------------
USERID 用户名/口令 格式:{<username>[/<password>] | /}[@<connect_identifier>][<option>] [<os_auth>]
<connect_identifier> : [<svc_name> | host[:port] | <unixsocket_file>]
<option> : #{<exetend_option>=<value>[,<extend_option>=<value>]...}
--此行外层{}是为了封装参数之用,书写时需要保留
<os_auth> : AS {SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO}
FILE 导出文件 (dexp.dmp)
DIRECTORY 导出文件所在目录
FULL 整库导出 (N)
OWNER 以用户方式导出 格式 (user1,user2,...)
SCHEMAS 以模式方式导出 格式 (schema1,schema2,...)
TABLES 以表方式导出 格式 (table1,table2,...)
FUZZY_MATCH TABLES选项是否支持模糊匹配 (N)
QUERY 用于导出表的子集的select 子句
PARALLEL 用于指定导出的过程中所使用的线程数目(1-100, 默认16)
TABLE_PARALLEL 用于指定导出的过程中表内的并发线程数目,MPP模式下会转换成单线程(1-50, 默认16)
TABLE_POOL 用于指定表的缓冲区个数(1-20, 默认20)
EXCLUDE 忽略指定的对象
格式 EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS,VIEWS,PROCEDURE,PACKAGE,SEQUENCE) or
EXCLUDE=TYPE:name1,name2 or
EXCLUDE=TYPE:cond,TYPE:cond
TYPE:SCHEMAS,TABLES,VIEWS,PROCEDURE,PACKAGE,SEQUENCE
INCLUDE 包含指定的对象
格式 INCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS,VIEWS,PROCEDURE,PACKAGE,SEQUENCE) or
INCLUDE=TYPE:name1,name2 or
INCLUDE=TYPE:cond,TYPE:cond
TYPE:SCHEMAS,TABLES,VIEWS,PROCEDURE,PACKAGE,SEQUENCE
CONSTRAINTS 导出约束 (Y)
TABLESPACE 导出对象带有表空间 (N)
GRANTS 导出权限 (Y)
INDEXES 导出索引 (Y)
TRIGGERS 导出触发器 (Y)
ROWS 导出数据行 (Y)
LOG 屏幕输出的日志文件
NOLOGFILE 不使用日志文件(N)
NOLOG 屏幕上不显示日志信息(N)
LOG_WRITE 日志信息实时写入文件: 是(Y),否(N)
DUMMY 交互信息处理: 打印(P), 所有交互都按YES处理(Y),NO(N)
PARFILE 参数文件名
FEEDBACK 每 x 行显示进度 (0)
COMPRESS 导出数据是否压缩 (N)
COMPRESS_LEVEL 导出数据压缩等级 (0-9 默认1)
ENCRYPT 导出数据是否加密 (N)
ENCRYPT_PASSWORD 导出数据的加密密钥
ENCRYPT_NAME 加密算法的名称
FILESIZE 每个转储文件的最大大小
FILENUM 一个模板可以生成的文件数
DROP 导出后删除原表,但不级联删除 (N)
DESCRIBE 导出数据文件的描述信息,记录在数据文件中
COL_DEFAULT_SEPARATE 是否单独导出列默认值 (Y)
WITH_UR 是否允许脏读 (N)
SIMPLE_LOG 是否使用简要日志 (N)
FLASHBACK_SCN 用于重置会话快照的LSN
FLASHBACK_TIME 用于查找最接近的相应LSN值的时间
CTRL_INFO 控制信息(1:控制分区表约束在表定义导出,默认0)
HELP 打印帮助信息
.\dexp.exe userid=SYSDBA/shuangshuang file=db_all_%U.dmp log=db_all.log directory=D:\linshi full=y PARALLEL=2 TABLE_PARALLEL=2 COMPRESS=Y COMPRESS_LEVEL=2
.\dexp.exe userid=SYSDBA/shuangshuang file=db_all_%U.dmp log=db_all.log directory=D:\linshi owner=SYSDBA PARALLEL=2 TABLE_PARALLEL=2 COMPRESS=Y COMPRESS_LEVEL=2
.\dexp.exe userid=SYSDBA/shuangshuang file=db_all_%U.dmp log=db_all.log directory=D:\linshi schemas=dmhr PARALLEL=2 TABLE_PARALLEL=2 COMPRESS=Y COMPRESS_LEVEL=2
TABLES=[模式名.]表名[:表分区名] [, ...]
.\dexp.exe userid=SYSDBA/shuangshuang file=db_all_%U.dmp log=db_all.log directory=D:\linshi tables=dmhr.city PARALLEL=2 TABLE_PARALLEL=2 COMPRESS=Y COMPRESS_LEVEL=2
.\dimp.exe userid=SYSDBA/shuangshuang@127.0.0.1:5237 full=y file=db_all_01.dmp directory=D:\linshi log=log.log parallel=2
.\dimp.exe userid=SYSDBA/shuangshuang@test full=y file=db_all_01.dmp directory=D:\linshi log=log.log parallel=2
.\dimp.exe userid=SYSDBA/shuangshuang@test owner=SCOTT_NEW file=db_all_01.dmp directory=D:\linshi log=log.log parallel=2
.\dimp.exe userid=SYSDBA/shuangshuang@test SCHEMAS=SCOTT2 file=db_all_01.dmp directory=D:\linshi log=log.log parallel=2
.\dimp.exe userid=SYSDBA/shuangshuang@test tables=SCOTT2.emp file=db_all_01.dmp directory=D:\linshi log=log.log parallel=2
https://eco.dameng.com/
文章
阅读量
获赞