初识Oracle day17(数据库的导入和导出等相关的知识)

1-数据库导出和导入的命令有哪些?
数据泵导出使用工具EXPDP
数据泵导入使用工具IMPDP
2-【EXPDP导出数据】 create dir 代码的编写和注释…

--创建目录
create directory dump_dir as 'E:\Oraclelogfiles\dump';
--授权
grant read ,write on directory dump_dir to scott;

在这里插入图片描述

3-试着查询92数据库目前有哪些directory?
在这里插入图片描述
4-【EXPDP导出数据】expdp 代码的编写和注释…

如何导出表
在cmd 模式下面:
expdp scott/654321 directory=dump_dir dumpfile=tab.dmp tables=emp,dept;

在这里插入图片描述
5-用户具备什么权限才可以执行expdp?
EXPDP是服务器端工具,这意味着该工具只能在Oracle服务端使用,而不能在Oracle客户端使用。通过在命令提示符窗口中输入EXPDP HELP命令,可以查看EXPDP的帮助信息。
6-【EXPDP导出数据】 expdp schema 代码的编写和注释…

--如何导出模式:
--用户具有dba角色或者具有 exp_for_database角色
expdp system/123456 
directory=dump_dir
dumpfile=schema.dmp  --把scott和mc这两个模式下的所有的对象导出到转储文件里面
schemas=scott,mc;

在这里插入图片描述
7-【EXPDP导出数据】 expdp database 代码的编写和注释…

导出全数据库
expdp system/123456 directory=dump_dir 
dumpfile=fulldatabase.dmp
full=y

在这里插入图片描述
8- 写出 expdp 6个命令的具体参数以及参数含义

1.CONTENT
该参数用于指定要导出的内容,默认值为ALL,语法如下: Content={all | data_only | metadata_only}
2.QUERY
该参数用于指定过滤导出数据的WHERE条件。语法如下: query=[schema.] [table_name:] query_clause
3.DIRECTORY
该参数指定转储文件和日志文件所在的目录。语法如下: directory=directory_object
4.DUMPFILE
该参数用于指定转储文件的名称,默认名称为expdat.dmp。语法如下: dumpfile=[directory_object:]file_name[,…]
5.FULL
该参数用于指定数据库模式导出,默认为N。语法如下: full={y | n}
6.tables
表模式的导出

9-【IMPDP导入数据】
导入表: impdptables 代码的编写和注释…
导入模式:impdpschemas 代码的编写和注释…
导入表空间:impdptablespace 代码的编写和注释…
导入全数据库:impdpfull 代码的编写和注释…

1.导入表
是将存储文件中的一个或多个表的结构及数据装载到数据库中,导入表是使用tables参数完成的。
普通用户只可以将自己的表导入到自己的模式中。如果以其他的身份导入表,则要求该用户
必须具有imp_full_database角色和dba角色。

impdp system/123456 directory=dump_dir
dumpfile=tab.dmp
tables=scott.dept,scott.emp
remap_schema=scott:system

2.导入模式

导入模式需要使用schemas参数
impdp system/123456 directory=dump_dir
dumpfile=schema.dmp
schemas=scott
remap_schema=scott:system;

3.导入表空间

要用到的tablespace参数
impdp system/123456 directory=dump_dir 
dumpfile=tablespace.dmp
tablespaces=ts_1
(把ts_1里面的数据,导入到当前的表空间中)

4.导入全数据库

impdp system/123456
directory=dump_dir
dumpfile=fulldatabase.dmp
full=y

10-写出 impdp 6个命令的具体参数以及参数含义

1.REMAP_SCHEMA
该参数用于将源模式中的所有对象转载到目标模式中,语法如下:
remap_schema=source_schema:target_schema
2.REMAP_TABLESPACE
语法如下:
remap_tablespace=source_tablespace:target_tablespace
3.SQLFILE
在IMPDP中使用该参数时,可以从DMP文件中提取对象的DDL语句,以便之后使用。该参数用于指定将导入的DDL操作写入到SQL脚本中。语法如下:
sqlfile=[directory_object:]file_name
4.TABLE_EXISTS_ACTION
该参数用于指定当表已经存在时导入作业要执行的操作,默认为SKIP。
table_exists_action={skip | append | truncate | replace}
5.TRANSPORT_DATAFILES
该参数用于指定移动空间时要被导入到目标数据库的数据文件,语法如下:
Transport_datafiles=datafile_name

11-sqlldr 命令有什么用?
sqlldr可以加载数据,可以将外部文件中的数据加载到Oracle数据库,SQLLoader支持多种数据类型(如日期型、字符型、数据字符等),即可以将多种数据类型加载到数据库。
使用SQL
Loader导入数据时,必须编辑一个控制文件(.CTL)和一个数据文件(.DAT)。控制文件用于描述要加载的数据信息,包括数据文件名、数据文件中数据的存储格式、文件中的数据要存储到哪一个字段、哪些表和列要加载数据、数据的加载方式等。
根据数据的存储格式,SQL*Loader所使用的数据文件可以分为两种,即固定格式存储的数据和自由格式存储的数据。固定格式存储的数据按一定规律排序,控制文件通过固定长度将数据分割。自由格式存储的数据则是由规定的分隔符来区分不同字段的数据。
在这里插入图片描述
12-自由格式加载 impdp_txt 代码的编写和注释…
1.自由格式的加载

--在sqlplus环境下面 system/123456
create table student
(stuno number(4),
stuname varchar2(20),
sex varchar2(4),
old number(4)
);

在这里插入图片描述
创建一个student.txt数据的文本文件

  1001       关晓彤    女    24
  1002        肖战     男    29 
  1003       王一博    男    22 
  1004        鹿晗     男    28

在这里插入图片描述

student.ctl.txt文件

load data  --加载数据
infile 'E:\Oraclelogfiles\dump\student.txt'  --加载源文件的数据
into table student
(stuno position(01:04) integer external, --通过指定的数据进行赋值
stuname position(11:14) char,
sex position(21:22) char,
old position(29:30) integer external
)

–在cmd环境下面

sqlldr system/123456 
control=E:\Oraclelogfiles\dump\student.ctl
log=E:\Oraclelogfiles\dump\stu_log  --把日志存储到这个日志里面

在这里插入图片描述
13-固定格式加载数据 impdp_excel 代码的编写和注释…
2.固定格式加载数据

在sqlplus环境下面创建persons表

create table persons
(code number(4),
name varchar2(20),
sex varchar2(4),
old number(4)
);

在这里插入图片描述
创建excel文件 ,文件名persons.csv

1005   王俊凯     男    20
1006    王源      男    19
1007   刘亦菲     女    35
1008   林心如     男    36

在这里插入图片描述
创建persons.ctl控制文件

load data --加载数据
infile 'E:\Oraclelogfiles\dump\persons.csv'
append into table persons --追加数据
fileds terminated by ',' --以,进行分割
(code,name,sex,old)  --给每一列进行赋值

在这里插入图片描述
在cmd环境下面
–使用sqlldr工具把excel里面的数据加载到当前的数据库当中

sqlldr system/123456 cntrol=E:\Oraclelogfiles\dump\persons.ctl

在这里插入图片描述
14-导出92数据库测试账户下的数据文件,并根据该账户信息在本地数据库创建对应的信息,然后将dmp文件导入到本机…

--导出数据文件
impdp system/123456
directory=dump_dir
dumpfile=fulldatabase.dmp
full=y
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值