分类: 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进行数据卸载