Oracle 11g 学习笔记-17(数据库的导入和导出EXPDP和IMPDP)

1-数据库导出和导入的命令有哪些?
导出:exp和ecpdp EXPDP HELP=Y可查看参数和用法
导入:imp和impdp IMPDP HELP=Y可查看参数和用法
2-【EXPDP导出数据】 createdir 代码的编写和注释…

   --创建DIRECTORY对象,授权scott使用该目录的权限
create directory dump_dir as 'd:\rj\app\dump';
grant read,write on directory dump_dir to scott;

在这里插入图片描述

--通过EXPDP将emp和dept 表的相关信息存储到转储文件tab.dmp中
--并且该转储文件位于dump_dir目录对象所对应的磁盘目录中
expdp scott/Jacjqwl123 directory=dump_dir dumpfile=tab.dmp tables=emp,dept
--如果用户被锁定,需要解锁scott
connect system as sysdba
alter user scott account unlock;

在这里插入图片描述

3-试着查询92数据库目前有哪些directory?
在这里插入图片描述

4-【EXPDP导出数据】expdp 代码的编写和注释…

--导出表空间
--创建表空间tbsp_1
create tablespace tbsp_1 datafile 'D:\OracleFile\TBSP_1.DBF' size 20m;
--导出
expdp system/Jacjqwl123 directory = dump_dir dumpfile = tablespace.dmp tablespaces = tbsp_1

5-用户具备什么权限才可以执行expdp?
导出表是指将一个或多个表的结构及其数据存储到转储文件中。普通用户只能导出自身方案中的表,如果要导出其他方案中的表,则要求用户必须具有EXP_FULL_DATABASE角色或DBA角色。在导出表时,每次只能导出一个方案中表。
6-【EXPDP导出数据】 expdpschema 代码的编写和注释…

--把scott模式下的所有的对象导出到转储文件里面
expdp system/Jacjqwl123 directory = dump_dir dumpfile = schema.dmp schemas = scott

在这里插入图片描述

7-【EXPDP导出数据】 expdpdatabase 代码的编写和注释…

--导出数据库
expdp system/Jacjqwl123 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}

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

--导出dept,emp表到system
imdpd system/Abc123 directory=dump_dir dumpfile=tab.dmp tables=scott.dept,scott.emp remap schema=scott:system
--将scott方案的所有对象所有导入system中
impdp system/Jacjqwl123 directory=dump_dir dumpfile=schema.dmp schema=scott remap_schema=scott:system;
--导入表空间对象
impdp system/Jacjqwl123 directory=ump_dir dumpfile=tablespace.dmp tablespaces=tbsp_1
--导入全库
impdp system/Jacjqwl123 directory 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 命令有什么用?
Oracle提供的数据加载工具SQLLoader可以将外部文件中的数据加载到Oracle数据库,SQLLoader支持多种数据类型(如日期型、字符型、数据字符等),即可以将多种数据类型加载到数据库。
使用SQL*Loader导入数据时,必须编辑一个控制文件(.CTL)和一个数据文件(.DAT)。控制文件用于描述要加载的数据信息,包括数据文件名、数据文件中数据的存储格式、文件中的数据要存储到哪一个字段、哪些表和列要加载数据、数据的加载方式等。
根据数据的存储格式,SQL*Loader所使用的数据文件可以分为两种,即固定格式存储的数据和自由格式存储的数据。固定格式存储的数据按一定规律排序,控制文件通过固定长度将数据分割。自由格式存储的数据则是由规定的分隔符来区分不同字段的数据。

12-自由格式加载 impdp_txt 代码的编写和注释…

--创建student表,用以存储要加载的数据
create table student(stuno number(4),stuname varchar2(20),sex varchar2(4),old number(4));
--制作一份文本数据,存储到student.txt文本中
--infile 指定源数据文件,into table指定添加数据的目标基本表,还可以使用关键字append 表示向表中追加数据,或使用关键字replace .覆盖表中原来的数据。加载工具通过position 控制数据的分割,以便将分割后的数据添加到表的各个列中。
load data
infile 'd:\data\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)
sqlldr system/Jacjqwl123 control=d:\data\student.ctl log=d:\data\stu_log;
--调用SQL*Loader 加载数据在命令行中设置控制文件名,以及运行后产生的日志信息文件
salldr system/Jacjqwl123 control=d:\data\student.ctl log=d:\data\stu_log

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

13-固定格式加载数据 impdp_excel 代码的编写和注释…

--建表语句
create table persons(code number(4),name varchar2(20),sex varchar2(4),old number(4));
--编辑一个控制文件 person.ctl,内容如下
--其中fields terminated by 指定数据文件中的分隔符为逗号「,」,数据的加载方式为append,表示在表中追加新数据
load data
infile 'd:\data\persons.csv'
append into table persons fields terminated by ',' (code,name,sex,old)
--使用sqlldr加载数据
sqlldr system/Jacjqwl123 control=d:\data\persons.ctl

Excel保存数据的一种格式为 CSV (逗号分隔符),该文件类型通过指定的分隔符隔离各列的数据,所以可以通过SQL*Loader 工具加载Excel中的数据。
建立表格,内容如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

学完本课程,你将掌握以下技能:常规的数据库导入、导出。特殊场景的数据迁移。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值