zoukankan      html  css  js  c++  java
  • 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.dat
    
    gzip XT0251.device.${DATE_LOAD_PRE}.0000.dat

    unloaddevice.sql

    set linesize 200
    
    set pagesize 0
    
    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='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;
    
    set echo off;
    
    Set pages 999;
    
    set long 90000;
    
    
    spool device_ddl.txt
    
    select dbms_metadata.get_ddl('TABLE','DEVICE','ATMPDBA') from dual;
    
    spool off
    
    /
    exit;
  • 相关阅读:
    octotree神器 For Github and GitLab 火狐插件
    实用篇如何使用github(本地、远程)满足基本需求
    PPA(Personal Package Archives)简介、兴起、使用
    Sourse Insight使用过程中的常使用功能简介
    Sourse Insight使用教程及常见的问题解决办法
    github 遇到Permanently added the RSA host key for IP address '192.30.252.128' to the list of known hosts问题解决
    二叉查找树的C语言实现(一)
    初识内核链表
    container_of 和 offsetof 宏详解
    用双向链表实现一个栈
  • 原文地址:https://www.cnblogs.com/fxl-njfu/p/9555834.html
Copyright © 2011-2022 走看看