一.数据库卸数脚本

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

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}..dat

gzip XT0251.device.${DATE_LOAD_PRE}..dat

unloaddevice.sql

set linesize 

set pagesize 

set echo off

set termout off

set heading off

set feedback off

spool device_all.txt

select 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='';

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}..flg

gen_ddl.sql

set heading off;

set echo off;

Set pages ;

set long ;

spool device_ddl.txt

select dbms_metadata.get_ddl('TABLE','DEVICE','ATMPDBA') from dual;

spool off

/
exit;

oracle数据库卸数及ddl导出的更多相关文章

  1. Oracle数据库基本操作(一) —— Oracle数据库体系结构介绍、DDL、DCL、DML

    一.Oracle数据库介绍 1.基本介绍 Oracle数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/ ...

  2. Oracle数据库密码重置、导入导出库命令

    重置办法如下:打开CMD命令提示符,然后输入下面命令进行重置: 输入sqlplus /nolog,回车 SQL> conn /as sysdba 已连接: SQL>alter user s ...

  3. oracle数据库表空间创建&导入&导出

    1.表空间创建 --删除表空间 drop tablespace EVPBDMGIS including contents and datafiles; --删除用户 drop user EVPBDMG ...

  4. Oracle数据库定义语言(DDL)

    --使用Create遇见创建表 Create Table table_name ( column_name datatype [null|not null], column_name datatype ...

  5. 吴裕雄--天生自然ORACLE数据库学习笔记:数据导出与导入

    create directory dump_dir as 'd:\dump'; grant read,write on directory dump_dir to scott; --在cmd下 exp ...

  6. Oracle数据库——常用命令(用户管理、数据库导入导出)

    --==cmd控制台==-- --==日常用户管理SQL==-- --连接到SQLPLUS >sqlplus /nolog --以dba身份连接 sql>conn / as sysdba ...

  7. oracle数据库导入导出方法

    Oracle Database 10g以后引入了最新的数据泵(Data Dump)技术,使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中. 数据泵导出导入(E ...

  8. 如何导出远程oracle数据库中的表结构

    从远程oracle数据库上导出指定表的表结构语句有两种方法: 方法一:通过sql语句获得 1,make sure that you can connect the remote database. 2 ...

  9. 使用PL/SQL连接oracle数据库,并将数据进行导出备份和导入恢复

    使用PL/SQL连接oracle数据库,并将数据进行导出备份和导入恢复 这种操作百度一搜一大片,今天整理以前做的项目时自己备份了一下数据库,试着将数据进行导出备份和导入恢复了一下:下面是操作过程: 1 ...

随机推荐

  1. Linux之ls

    命令功能: ls是list的简写,列出目录下的内容 命令格式: ls [OPTION]... [FILE]... 命令参数: -a,--all    不忽略以“.”开头的隐藏文件 -A, --almo ...

  2. git初始化本地项目及关联github远程库

    一.初始化本地项目 idea中在项目文件夹下执行:git init . 二.在github官网上创建一个库 三.执行如下命令关联远程库: git remote add origin 你创建的git远程 ...

  3. easyui layout布局的属性说明

    layout布局的属性说明: 名称 类型 描述 默认值 fit boolean 当设置为 true 时,就设置布局(layout)的尺寸适应它的父容器.当在 'body' 标签上创建布局(layout ...

  4. springboot 的war包在Tomcat中启动失败

    springboot 默认是通常是打包成jar的,里面会内置一个tomcat容器 有时候我们需要使用以前打成war包的方式部署到对应的tomcat中, 具体springboot 怎么从jar改成war ...

  5. 总结:Java 集合进阶精讲1

    知识点:Java 集合框架图 总结:Java 集合进阶精讲1 总结:Java 集合进阶精讲2-ArrayList 集合进阶1---为集合指定初始容量 集合在Java编程中使用非常广泛,当容器的量变得非 ...

  6. 知识点:图说 Mysql 权限管理

    图: #授权表 user #该表放行的权限,针对:所有数据,所有库下所有表,以及表下的所有字段 db #该表放行的权限,针对:某一数据库,该数据库下的所有表,以及表下的所有字段 tables_priv ...

  7. Cookie的存活时间

    1. 默认情况下,cookie数据保存到内存里,当浏览器关闭后,Cookie数据被销毁 2. 持久化存储: setMaxAge(int seconds) 1. 正数:将Cookie数据写到硬盘的文件中 ...

  8. Java应用常用性能分析工具

    Java应用常用性能分析工具 好的工具有能有效改善和提高工作效率或加速分析问题的进度,笔者将从事Java工作中常用的性能工具和大家分享下,如果感觉有用记得投一票哦,如果你有好的工具也可以分享给我 工具 ...

  9. shell数组的使用

    定义:  array=(1 2 3) echo ${array[0]} echo ${array[1]} echo ${array[2]} echo ${array[*]}   所有元素 echo $ ...

  10. linux 的那些hung 检测机制

    在dmesg中,看到如下信息: [:: seconds [:: seconds [:af: seconds [:af: seconds [:: seconds [:3b: seconds [:: se ...