`
isiqi
  • 浏览: 16870317 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Oracle 控制文件自动生成

阅读更多

自动生成sqlloader控制文件并导入数据一例

----------
说明
----------
先使用sql脚本,自动生成sqlloader的控制文件,然后将源表使用查询语句,生成数据文件,并获取源表的创建语句,将这些信息全部ftp到目标数据库服务器上,创建新表,并使用sqlldr将数据插入新表,可以通过这种方式,实现对小表的移植。具有可跨平台、跨版本的好处。
环境简单说明
HP-UX zw01 B.11.11 U 9000/800 oracle rdbms 9206
windowXP hxc oracle rdbms 9201
将 zw01 上的sys.uni_long_time_t 表,通过sql*load的方式,移植到hxc上的system用户下。
----------
主要步骤
----------
1. 自动生成control.sql生成sql*load控制文件
2. 在hxc上的system用户下创建表,表的脚本来自zw01 上的sys.uni_long_time_t 表
3. 使用查询语句,生成数据文件
4. 执行导入

-------------
step1. 编辑脚本 control.sql
-------------
set echo off
set heading off
set verify off
set feedback off
set show off
set trim off
set pages 0
set concat on
set lines 300
set trimspool on
set trimout on
spool &1..ctl
select 'LOAD DATA'||chr (10)||
'INFILE '''||lower (table_name)||'.dat'''||chr (10)||
'INTO TABLE '||table_name||chr (10)||
'FIELDS TERMINATED BY '','''||chr (10)||
'TRAILING NULLCOLS'||chr (10)||'('
from all_tables
wheretable_name = upper ('&1');
select decode (rownum, 1, ' ', ' , ')||
rpad (column_name, 33, ' ')||
decode (data_type,
'VARCHAR2', 'CHAR NULLIF ('||column_name||'=BLANKS)',
'FLOAT', 'DECIMAL EXTERNAL NULLIF('||column_name||'=BLANKS)',
'NUMBER', decode (data_precision, 0,
'INTEGER EXTERNAL NULLIF ('||column_name||
'=BLANKS)', decode (data_scale, 0,
'INTEGER EXTERNAL NULLIF ('||
column_name||'=BLANKS)',
'DECIMAL EXTERNAL NULLIF ('||
column_name||'=BLANKS)')),
'DATE', 'DATE "MM/DD/YY"NULLIF ('||column_name||'=BLANKS)',
null)
from user_tab_columns
wheretable_name = upper ('&1')
orderby column_id;
select ')'
from sys.dual;
spool off

-------------
step2. 运行control.sql生成控制文件
-------------
sqlplus "/as sysdba"
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
With the Partitioning option
JServer Release 9.2.0.6.0 - Production
SQL> start control.sql uni_long_time_t
LOAD DATA
INFILE 'uni_long_time_t.dat'
INTO TABLE UNI_LONG_TIME_T
FIELDS TERMINATED BY ','
TRAILING NULLCOLS
(
IPDET CHAR NULLIF (IPDET=BLANKS)
, USERNAME CHAR NULLIF (USERNAME=BLANKS)
, ONTIME DATE "MM/DD/YYYY"NULLIF (ONTIME=BLANKS)
, OFFTIME DATE "MM/DD/YYYY"NULLIF (OFFTIME=BLANKS)
, FLAG INTEGER EXTERNAL NULLIF (FLAG=BLANKS)
, NOTE CHAR NULLIF (NOTE=BLANKS)
)

-------------
step3. 获取创建表的脚本
-------------
create table UNI_LONG_TIME_T
(
IPDET VARCHAR2(15) not null,
USERNAME VARCHAR2(15) not null,
ONTIME DATE not null,
OFFTIMEDATE not null,
FLAG INTEGER not null,
NOTE VARCHAR2(50)
);

-------------
step4. 生成数据文件
-------------
set lines 1000
set pages 1000
spool uni_long_time_t.dat
select a.ipdet || ',' || a.username || ',' ||
to_char(a.ontime, 'mm/dd/yy') || ',' ||
to_char(a.offtime, 'mm/dd/yy') || ',' || a.flag || ',' || a.note
from sys.uni_long_time_t a;
spool off

-------------
step5. 运行sqlldr
-------------
sqlldr userid=system/system control=a.ctl

C:\>sqlldr userid=system/system control=a.ctl
SQL*Loader: Release 9.2.0.1.0 - Production on 星期二 10月 21 09:50:24 2008
Copyright (c) 1982, 2002, Oracle Corporation.All rights reserved.
达到提交点,逻辑记录计数64
达到提交点,逻辑记录计数128
达到提交点,逻辑记录计数192
达到提交点,逻辑记录计数256
达到提交点,逻辑记录计数320
达到提交点,逻辑记录计数384
达到提交点,逻辑记录计数448
达到提交点,逻辑记录计数512
达到提交点,逻辑记录计数576
达到提交点,逻辑记录计数640
达到提交点,逻辑记录计数704
达到提交点,逻辑记录计数768
达到提交点,逻辑记录计数804


分享到:
评论

相关推荐

    oracle 根据数据库自动生成JAVA代码

    在Spring MVC或Struts等框架中,Controller扮演着协调者的角色,自动生成Controller代码可以快速搭建应用的控制层。 最后,HTML模板文件用于前端展示。在MVC模式下,JSP(JavaServer Pages)或Thymeleaf等技术常...

    mybatis自动代码生成工具(映射mysql,oracle)

    该工具支持 MySQL 和 Oracle 两大主流关系型数据库,能够根据数据库中的表信息自动生成对应的 Java 代码,减少了手动编写这些重复性工作的时间。 首先,我们来了解 MyBatis 本身。MyBatis 是一款优秀的持久层框架,...

    oracle自动生成工具

    可以连接oracle数据库,自动生成,Nhibernate,c#实体类和配置文件

    oracle数据库自动生成mybatis文件

    本主题将深入探讨如何在Oracle数据库环境中,自动生成与MyBatis相关的XML配置文件、Mapper接口文件以及Model实体类,从而实现自动化开发。 1. MyBatis简介:MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储...

    Oracle自动生成实体

    Oracle自动生成实体是一种高效开发工具的功能,它可以帮助程序员快速地基于数据库中的表结构创建相应的Java实体类。在Java企业级开发中,实体类是数据访问层的重要组成部分,它们通常映射到数据库表,用于存储和操作...

    sqlldr自动生成控制文件导入到表

    在这个过程中,通过自动生成控制文件,可以实现自动化导入,甚至达到备份的目的。以下是对这个过程的详细解释: 1. **原理概述:** 使用`ora_load.sh`脚本来自动化导出源数据库中的表数据,然后在目标数据库上创建...

    mybatis自动生成实例支持oracle和MySQL

    在"mybatis自动生成实例支持oracle和MySQL"的场景中,我们可以理解为该压缩包包含了一个能够帮助开发者自动生成针对Oracle和MySQL数据库的相关代码的工具或教程。 1. **MyBatis自动化工具**: MyBatis Generator ...

    oracle 高效生成指定复杂样式的xml文件

    在Oracle数据库环境中,高效地生成指定复杂样式的XML文件是一项重要的任务,特别是在处理大量数据时。Oracle提供了多种方法来实现这一目标,包括使用PL/SQL过程、内置的XML函数以及XMLType对象。以下是对这个主题的...

    Oracle.7z 代码自动生成器

    "Oracle.7z 代码自动生成器" 提供了一个解决方案,它是一个针对MyBatis和Oracle数据库的工具,能够自动创建基于数据库表结构的Java实体类、Mapper接口和XML配置文件,极大地提高了开发效率。 在Oracle数据库中,...

    oracle实体类代码生成器

    这个工具的核心功能就是解析Oracle数据库的元数据,并自动生成符合Java编程规范的实体类。 首先,我们需要理解什么是实体类。在面向对象编程中,实体类是对现实世界中客观存在的事物的一种抽象,它们通常用于封装...

    Oracle 自动生成POVO工具

    Oracle 自动化生成POJO(Plain Old Java Object)与VO(Value Object)工具,简称POVO工具,是一种提高开发效率的实用程序。在Java开发中,POJO和VO类经常被用于数据传输和持久化层,它们是业务逻辑和数据模型之间的...

    通用Mapper逆向工程代码-自动生成代码,支持mysql和oracle

    通用Mapper逆向工程就是利用这一概念,通过解析数据库的表结构信息,自动生成与之对应的数据访问层(DAO)代码。 通用Mapper主要包含以下部分: 1. **Mapper接口**:这是与业务逻辑交互的API,定义了各种SQL操作...

    自动生成oracle数据库表分析语句

    ### 自动生成Oracle数据库表分析语句 在Oracle数据库管理中,定期进行表分析对于优化查询性能至关重要。通过分析表和索引,Oracle可以更新统计信息,这些信息将被查询优化器用于选择最佳的执行计划。本文将详细介绍...

    oracle表结构生成工具

    工具会读取这些信息并自动生成相应的SQL脚本。 在使用这个工具时,用户首先需要在Excel中创建一个模板,包含表名、列名、数据类型和其他相关信息。然后,工具会解析这个模板,验证其格式是否正确,并生成符合Oracle...

    oracle 日常巡检脚本,一键生成所需新的html

    运行SQL脚本,生成所有数据库相关信息的html文件,可利用此脚本生成巡检结果

    mysql&oracle;语句自动生成工具

    语句自动生成工具"正是针对这两个数据库系统设计的一款实用工具,它能够帮助用户快速生成SQL语句,尤其是复杂的连接查询,从而提高开发和维护数据库的效率。 该工具可能包含以下功能: 1. **SQL语句生成**:对于...

    从oracle生成表的数据字典方法

    ### 从Oracle生成表的数据字典方法 在Oracle数据库管理中,数据字典是一个非常重要的工具,它能够帮助我们理解数据库结构、表定义以及列属性等详细信息。本篇文章将介绍如何从Oracle数据库中利用COMMENT生成Excel...

    oracle自动生成实体类-链接DLinq--源码

    本程序正是利用DLinq,实现了自动生成Oracle数据库中的表对应的实体类代码,大大减少了手动编写这些类的工作量,提高了开发效率。 DLinq(Dapper.LINQ)是基于Dapper的扩展,它提供了类似于Entity Framework的LINQ...

    oracle自动导出csv

    Oracle数据库是全球广泛使用...通过以上步骤,你可以实现从Oracle数据库自动导出CSV文件,这对于数据备份、数据交换或者定期报告生成等场景非常有用。在实际应用中,记得根据自己的数据库结构和安全策略调整相关脚本。

    Oracle 12c 12.1.0.1.0管理控制文件官方文档翻译说明(一抹曦阳)

    - **步骤**:在创建数据库时,通常会自动生成一个或多个控制文件。如果没有自动创建,则可以通过`CREATE DATABASE`语句来指定控制文件的位置。 ##### 3.2 创建新增副本,重命名,迁移控制文件(Creating Additional...

Global site tag (gtag.js) - Google Analytics