深入浅出Oracle 12数据导入实操攻略(oracle12数据导入)
深入浅出:Oracle 12数据导入实操攻略
Oracle 12是一款非常强大的数据库,但是对于初次使用者来说,不可避免会面临许多问题,尤其是数据导入这一块。在实际工作中,数据导入操作占据了大量的时间和精力,因此,本文将深入浅出地为大家介绍Oracle 12数据导入的实操攻略,并附上相应的代码。
一、Oracle 12数据导入前的准备工作
在进行数据导入操作之前,我们需要先进行一些准备工作,以确保导入操作的成功。
1、创建数据表
运行以下代码:
CREATE TABLE example_table (
ID INT PRIMARY KEY,
NAME VARCHAR2(20),
AGE INT,
ADDRESS VARCHAR2(50)
);
其中,example_table表示要创建的数据表名称,ID为主键,NAME表示姓名,AGE表示年龄,ADDRESS表示地址。
2、创建数据文件
运行以下代码:
CREATE TABLESPACE example_ts
DATAFILE ‘example_ts.dbf’ SIZE 500M AUTOEXTEND ON;
其中,example_ts表示要创建的数据文件名称,example_ts.dbf为数据文件的命名,SIZE用于设置数据文件的大小,这里设置为500M,AUTOEXTEND ON表示数据文件自动扩容。
3、创建数据文件组
运行以下代码:
CREATE TEMPORARY TABLESPACE example_temp_ts
TEMPFILE ‘example_temp_ts.dbf’ SIZE 500M AUTOEXTEND ON
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
其中,example_temp_ts表示要创建的数据文件组名称,example_temp_ts.dbf为数据文件的命名,SIZE用于设置数据文件的大小,这里设置为500M,AUTOEXTEND ON表示数据文件自动扩容,EXTENT MANAGEMENT LOCAL表示使用本地空间管理策略,UNIFORM SIZE 1M表示每个extent大小为1M。
4、创建用户
运行以下代码:
CREATE USER example_user IDENTIFIED BY example_password
DEFAULT TABLESPACE example_ts
TEMPORARY TABLESPACE example_temp_ts
QUOTA UNLIMITED ON example_ts;
其中,example_user表示要创建的用户名,example_password表示密码,example_ts为默认表空间,example_temp_ts为临时表空间,QUOTA UNLIMITED ON example_ts表示对于example_ts表空间,该用户拥有无限的表空间限额。
5、授权
运行以下代码:
GRANT CREATE SESSION, CREATE TABLE TO example_user;
其中,CREATE SESSION表示授权用户创建新的会话,CREATE TABLE表示授权用户创建新的表。
二、Oracle 12数据导入
在我们进行数据导入操作之前,我们首先需要准备好数据文件,这里我们以example.csv作为示例文件,示例文件内容如下:
1,Tom,25,New York
2,Jack,30,Los Angeles
3,Alice,20,Florida
4,Bob,40,Boston
1、使用SQL Loader导入数据
SQL Loader是Oracle常用的数据导入工具,我们可以利用SQL Loader来导入数据。
我们需要创建SQL Loader控制文件example.ctl,代码如下:
LOAD DATA
INFILE ‘example.csv’
TRUNCATE INTO TABLE example_table
FIELDS TERMINATED BY ‘,’
(ID,NAME,AGE,ADDRESS)
其中,LOAD DATA表示要导入数据,INFILE后紧接着的是数据文件路径及名称,TRUNCATE表示将原来的表数据删除,然后再导入新的数据,FIELDS TERMINATED BY ‘,’表示字段以逗号分隔,最后的括号中写的是数据表中各字段的名称。
然后,我们运行以下命令:
sqlldr example_user/example_password control=example.ctl
其中,sample_user/sample_password表示数据库用户名及密码,control=example.ctl表示指定导入数据的控制文件。
2、使用外部表导入数据
外部表也是Oracle常用的数据导入方式,我们可以利用外部表来实现数据导入,外部表的创建步骤如下:
1)我们需要创建外部表目录:
CREATE DIRECTORY example_dir AS ‘/path/to/directory’;
其中,example_dir为目录名称,’/path/to/directory’为实际目录路径。
2)然后,我们需要创建外部表:
CREATE TABLE example_external (
ID INT,
NAME VARCHAR2(20),
AGE INT,
ADDRESS VARCHAR2(50)
)
ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY example_dir
ACCESS PARAMETERS (
RECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY ‘,’
MISSING FIELD VALUES ARE NULL
(
ID,
NAME,
AGE,
ADDRESS
)
)
LOCATION (‘example.csv’)
);
其中,example_external表示是否要创建外部表,ID、NAME、AGE、ADDRESS表示表中各字段的名称及类型,ORGANIZATION EXTERNAL表示这是一个外部表,TYPE ORACLE_LOADER表示使用Oracle Loader导入数据,DEFAULT DIRECTORY example_dir指定外部表目录,ACCESS PARAMETERS用于指定导入参数,RECORDS DELIMITED BY NEWLINE表示记录通过换行符分隔,FIELDS TERMINATED BY ‘,’表示字段以逗号分隔,MISSING FIELD VALUES ARE NULL表示遇到缺失值时填充NULL,小括号中写的是要导入的各字段名称,最后的LOCATION (‘example.csv’)表示指定数据文件路径及名称。
然后,我们可以运行以下命令来导入数据:
INSERT INTO example_table SELECT * FROM example_external;
以上就是Oracle 12数据导入的实操攻略。通过本文的介绍,相信读者已经掌握了相关的技能和操作方法,可以在实际工作中运用自如。