Chinaunix首页 | 论坛 | 博客
  • 博客访问: 198789
  • 博文数量: 75
  • 博客积分: 2049
  • 博客等级: 大尉
  • 技术积分: 780
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-08 12:37
文章分类

全部博文(75)

文章存档

2011年(1)

2010年(9)

2009年(65)

我的朋友

分类: LINUX

2009-05-18 09:10:29

第九章-oracle的数据加载与卸载

9.1外部表与SQLLDR

对于外部表,数据库中只保存了表结构信息,而数据存放在文件系统上的外部文件中,所以外部表只能被只读访问。使用SQLLDR首先需要创建一个控制文件,通过控制文件可以将数据很容易地加载入数据库中:

LAOD

INFILE ‘/opt/oracle/sqldr/data.txt’

BADFILE ‘/opt/oracle/sqldr/users.bad’

Discardfile /opt/oracle/sqldr/users.dis’

APPEND

INTO TABLE users

Fields terminated by ‘.’ Optionally enclosed by ‘”’

Trailing nullcols

{username char(30),

User_id   char(30),

Password  char(30)

}

加载过程很简单

$ sqlldr eygle/eygle  control=user.ctl

9i中,SQLLDR增加了一个新的参数external_table

通过这个参数的GENERATE_ONLY选项,可以生成完整的外部表创建语句:

$ sqlldr eygle/eygle  control=user.ctl external_table=GENERATE_ONLY

这个操作只是生成了外部表维护语句,并不会真正加载数据。

9.2使用外部表访问警告日志文件

9.2.1创建Directory

首先需要创建一个Directory

SQL> create or replace directory bdump

As ‘/opt/oracle/admin/eygle/bdump’;

9.2.2创建及访问外部表

创建一个外部表,指向前面创建的目录,具体文件则指向警告日志文件:

Create table alert_log(text varchar2(400))

Organization external(

Type oracle_loader

Default directory BDUMP

Access parameters(

Records delimited by newline

Nobadfile

Nodiscardfile

nologfile

)

Location(‘alert_eygle.log’)

)

Reject limit unlimited

 

9.3使用外部表访问监听日志

9.4使用外部表访问跟踪文件

9.5使用外部表分析网站访问日志

9.6获得操作系统文件列表

9.7使用数据泵进行数据卸载

9.8使用工具ociuldr进行数据卸载

 

阅读(969) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~