Oracle-exp命令导出dmp文件、exp导出数据库

文章介绍了如何使用exp命令导出Oracle数据库,包括命令参数的含义,如用户名、密码、数据库实例名、导出文件路径等。针对11g版本中空表不被导出的问题,提出了使用ALTERTABLEALLOCATEEXTENT的解决方案。同时,当遇到ORA-12154TNS错误时,建议在连接标识符中添加IP和端口来解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

exp导出命令

exp 'username/"password"'@ORCL owner=username file =/backup/database_2023-04-12.dmp log=/logs/database_2023-04-12.log

具体命令中,各参数的含义如下:

  • username/“password”:指定数据库用户的用户名和密码,以双引号括起来。在此命令中,你需要将双引号替换为实际的用户名和密码。
  • @ORCL:指定要连接的数据库实例名,这里使用 ORCL。
  • owner=username:指定要导出的数据库用户的用户名,这里使用 username。
  • file=/backup/database_2023-04-12.dmp:指定导出的数据库文件的路径和名称,这里的文件路径为 /backup 目录下的 database_2023-04-12.dmp 文件,你可以将这个路径替换为实际的文件路径。
  • log=/logs/database_2023-04-12.log:指定导出过程的日志文件路径和名称,这里的日志文件路径为 /logs 目录下的 database_2023-04-12.log 文件,你可以将这个路径替换为实际的日志文件路径。

11g版本空表不导出解决办法

使用alter table xxx allocate extent;将空表分配数据块并将其添加到表的已分配空间中
使用如下命令构建所有空表分配语句

select 'alter table '||code||' allocate extent;' from 
(select t1.TABLE_NAME                                           as code
from DBA_TABLES t1
         left join (
    select OWNER, TABLE_NAME, COMMENTS
    from DBA_TAB_COMMENTS
) t2
                   on t2.table_name = t1.table_name
                       and t1.owner = t2.owner
         left join DBA_OBJECTS t3
                   on t3.owner = t1.owner
                       and t3.object_name = t1.table_name
                       and t3.object_type = 'TABLE'
         left join (
    select t4.OWNER, t4.SEGMENT_NAME, t4.SEGMENT_TYPE, SUM(t4.BYTES) as TABLE_SIZE
    from DBA_SEGMENTS t4
    where t4.SEGMENT_TYPE = 'TABLE'
    group by t4.OWNER, t4.SEGMENT_NAME, t4.SEGMENT_TYPE
) t5
                   on t5.OWNER = t1.OWNER
                       and t5.SEGMENT_NAME = t1.TABLE_NAME
where t1.owner = '数据库schema名称'
  and t1.TABLE_NAME not like 'BIN$%==$0'
  and (t1.IOT_TYPE is null or t1.IOT_TYPE != 'IOT_OVERFLOW')
  AND NOT EXISTS
    (SELECT 1 FROM DBA_MVIEWS MV
     WHERE MV.OWNER=T1.OWNER
       AND MV.MVIEW_NAME=T1.TABLE_NAME) AND NUM_ROWS = 0)
;

执行命令后再导出

遇到报错:ORA-12154: TNS: 无法解析指定的连接标识符

原因:找不到orcl这个实例
解决:直接在orcl前加ip端口

exp 'username/"password"'@192.168.11.201:1521/ORCL owner=username file =/backup/database_2023-04-12.dmp log=/logs/database_2023-04-12.log
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值