oracle数据如何导出trigger,Oracle数据库导入导出 详解

使用oracle的导入导出

下面这些在使用过程中经常使用到的.(以后加上调优的参数说明,SGA区,共享池,PGA,等等spfile里面的参数)

1.Export工具是一个导出程序

语法:

exp UserId/Password@数据库全局名file=DMP文件的目录 其它参数

获取帮助,敲入:exp help=y

Export常用的参数(1)

Direst选择是否采用直接路径导出

File指定导出文件名

Full Full=Y将整个数据库导出

Incremental导出上次Incremental、Cumulative、Complete导出而改变的所有对象

Cumulative导出上次Cumulative、Complete导出后改变的所有对象

Complete导出所有的对象

Indexes指定索引是否被导出

Export常用的参数(2)

Log指定日志的文件名

Owner允许为指定的用户导出对象

Parfile允许从一个文件读取导出参数

Query指定从表中导出符合条件的行

Record指定是否在导出系统表中记录Incremental或Cumulative导出,默认为Y

Rows控制表数据是否被导出

Tables允许导入一个或多个表

Triggers指定触发器是否和表一起导出

2.Import工具是一个导入程序

语法:

imp UserId/Password@数据库全局名file=DMP文件的目录 其它参数

获取帮助,敲入:imp help=y

Import常用的参数(1)

File指定导入文件名

Fromuser允许导入指定的用户拥有的表

Full full=Y时,导入DMP文件中所有的事物

Ignore为Y时,如果数据出错,将继续下一行数据

Indexes是否导入索引

Log指定日志文件

Parfile指定从文件中读导出参数

Rows指定是否导入表的数据

Import常用的参数(2)

Show指定显示全部要被执行的参数

Tables指定导入一个或多个表

Touser指定导入到哪个用户名下

Userid指定导入的用户的用户名和密码

3.SQL*Loader简介

SQL*Loader从文本文件导数据到数据库中。功能包括:

从定界文件装数据

从固定长度的文本文件装数据

从二进制文件装数据

在输入文件中过滤数据

SQL*Loader使用的数据类型

Char:该char和数据库中的char类型不同,它包括数据库中的char、varchar、CLOB等类型

Date:时间类型

Interger external:定义整数值

Decimal external:定义包括小数点的数值

装载字段固定长度的文件

一个例子:

Load data

infile ‘yyb_data.txt’

appendInto table emp

(   name position(1:10) char,

rank position(11:13) interger external,

birthday position(13:23) date “dd-mm-yyyy”

)

导入有界定符的文件

一个例子:

Load data

Infile ‘c:\yyb.txt’

Append Into table emp

fields terminated by ','

( name char,

rank interger external,

birthday date “dd-mm-yyyy”

)

导入有界定符的文件(续)

再看一个例子(处理空字段):

Load data

Infile ‘c:\yyb.txt’

Append Into table emp

trailing nullcols

( name char terminated by ‘,’,

rank interger external terminated by ‘,’,

birthday date “dd-mm-yyyy” terminated by ‘,’ )

如何把数据放到表中

从前面的例子中可以看出,它们都包含关键字append,还有其它的关键字:

Insert:指定要装载的是空表,否则失败

Append:添加数据到表,即使表中有数据

Replace:加载前,将删除表中的所有数据

Truncate:与replace同

使用SQL*Loader命令和参数

命令语法为:

sqlldr [param=value [,param= valus … ] ]

参数:

Userid用户名和密码

Control指定控制文件名,也就是存放前面的胶片中的代码的文件

Log指定日志文件名

Bad指定存放坏记录的文件名

SQL*Loader参数(续前)

Data指定数据文件名

Skip允许跳过的记录数量

Load允许装入的记录数量

Errors指定允许的错误数

Rows指定装载多少条记录提交一次

Direct可以指定为直接路径装载

Parfile指定包含命令参数的文件名

举个例子来说明:

(1)先创建一张表:

create table test_load(

stu_num number(10,0),

stu_name varchar2(50),

stu_date date

)

(2)准备数据文件(可以采用spool导出,再下来会讲到): dateFile.txt

"1234","niegc","2006-01-01"

"1235","ngc","2006-01-02"

(3)写控制文件(必须注意每一个字段的位置,和时间字段的格式):loader.ctl

Load data

infile 'F:\test\dateFile.txt'

Append into table test_load

fields Terminated by "," Optionally enclosed by'"'

(

stu_num,

stu_name,

stu_date date "YYYY-MM-DD"

)

(3)执行sqlldr

C:\Documents and Settings\Administrator>sqlldr niegc/niegc control=f:\test\loader.ctl log=f:\test\aaaaaa.log

SQL*Loader: Release 9.2.0.1.0 - Production on星期三4月26 22:06:35 2006

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

达到提交点,逻辑记录计数2

成功了,是不是很简单,append还是insert上面有说明的哦.

4.Spool简介

spool是数据的导出命令,最简单的执行如下:

用sqlplus登陆:

SQL>spool f:\test\bbb.txt

SQL> select * from test_load;

STU_NUM STU_NAME                                           STU_DATE

---------- -------------------------------------------------- ----------

1234 niegc                                              01-1月-06

1235 ngc                                                02-1月-06

SQL> spool off

这样就可以导出了

如果你想导出自己定义的格式,你可以先set参数然后再spool

例如:

SET COLSEP ' '

SET ECHO OFF

SET FEEDBACK OFF

SET HEADING OFF

SET PAGESIZE 0

SET LINESIZE 1000

SET NUMWIDTH 12

SET TERMOUT OFF

SET TRIMOUT ON

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值