oracle数据库卸数不换行,oracle数据库卸数及ddl导出

一.数据库卸数脚本

还是比较明了的,一看就明白。

unloaddevice.sh

sqlplus atmpbat/atmpbat@inter @"./unloaddevice.sql";

DATE_LOAD_PRE=`date -d "1 day ago" "+%Y%m%d"`;mv device_all.txt XT0251.device.${DATE_LOAD_PRE}.0000.datgzip XT0251.device.${DATE_LOAD_PRE}.0000.dat

unloaddevice.sql

set linesize 200set pagesize0setechooff

set termout off

set heading off

set feedback off

spool device_all.txtselect DEV_CODE||'^A'||DEV_BANKCODE||'^A'||DEV_IPADDRESS||'^A'||DEV_CITYCODE||'^A'||DEV_BRANCHCODE||'^A'||DEV_GYH||'^A'||DEV_YLBH||'^A'||DEV_WXH||'^A'||DEV_ADDRESS||'^A'||DEV_COMMENT||'^A'||DEV_TYPE||'^A'||DEV_ENCRY||'^A'||DEV_VERNUM||'^A'||DEV_PACK||'^A'||DEV_BILLBOXCFG||'^A'||DEV_FTRNFLAG||'^A'||DEV_STATUS||'^A'||DEV_EXPCNT||'^A'||DEV_ANOMCODE||'^A'||DEV_NOWTRANS||'^A'||DEV_FTPPWD||'^A'||DEV_CAPCARD||'^A'||DEV_IDENCODE||'^A'||DEV_BATCH||'^A'||DEV_HSMTYPE||'^A'||DEV_MASTERFLAG||'^A'||DEV_MASTERKEY||'^A'||DEV_PINKEY||'^A'||DEV_MACKEY||'^A'||FOREIGN_FLAG||'^A'||'^A' from device where DEV_BANKCODE='51082';

spool off/exit;

二.ddl导出

坑比较多,首先是sh中sqlplus后面接的用户名和密码,与sql中的schema名要一致,否则无法导出!

如果我们知道表名,怎么知道这张表的schema,即get_ddl第三个参数,

首先要切换到oracle用户,普通用户的话,无法用sysdba登录,显示权限不够!

su - oracle

sqlplus /nolog

conn sys

as sysdba

select username from sys.dba_users;  //查询所有的schema,其实也就是username,二者名字一致!

select table_name from sys.dba_tables where owner=‘schema名’   //查询schema下面表的名字

从而可以找到schema名字下的表名,确立二者的关系!

这里有个坑是,device表是ATMPDBA的,但是你用atmpbat用户登录,也可以查到该表的数据内容,就像上面数据库导数的例子,很奇怪!

gen_flg.sh

sqlplus atmpdba/atmpdba@inter @"./gen_ddl.sql";

DATE_LOAD_PRE=`date -d "1 day ago" "+%Y%m%d"`;mv device_ddl.txt XT0251.device.${DATE_LOAD_PRE}.0000.flg

gen_ddl.sql

set heading off;

setechooff;

Set pages999;

setlong 90000;

spool device_ddl.txtselect dbms_metadata.get_ddl('TABLE','DEVICE','ATMPDBA') from dual;

spool off/exit;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值