第20章 数据的移动
1. Oracle导出程序从oracle数据库中抽取数据,之后将这些数据存在二进制格式的操作系统文件中。这种格式的数据文件只有导入程序能够读取,导入程序将其中的数据装入oracle数据库。
2. 利用导出应用程序,可以使用以下的方式进行数据的导出:
1)表方式:只导出某一用户下制定的表,而不是导出该用户所有的表。赋予权限的用户可以导出其他用所拥有的表;
2)用户方式:导出某一用户下所有的对象。赋予权限的用户可以导出其他用户所拥有的所有对象;
3)表空间方式:导出指定表空间中所有的对象;
4)全库方式“可以导出整个数据库中所有的对象,但并不包括sys用户中的对象,数据字典无法导出;
3. 利用导入应用程序,可以使用以下的方式进行数据的导入:
1)表方式;
2)用户方式;
3)表空间方式;
4)全库方式;
4. 获取有关目录对象全部信息
select * from dba_directories;
1)将目录DATA_PUMP_DIR的读权限和写权限授予scott用户
grant read,write on directory data_pump_dir to scott;
2)利用数据泵导出数据
a)创建导出参数文件 scott_par.txt
directory=data_pump_dir -- 存放导出文件的目录为data_pump_dir所以定的操作系统目录
table=(emp,dept) -- 要导出的表为emp和dept
dumpfile=scott.dmp -- 导出操作系统文件的名
query=scott.emp:"where job<>'ANALYST' and sal >1250 " -- 只输出某个表中满足某些特定条件的数据的子集
b)导出scott用户emp和dept表
expdp scott/tiger@kxbin parfile=scott_par.txt
c)导入scott用户emp和dept表
impdp scott/tiger@kxbin parfile=scott_par.txt
注意:expdp-help和impdp -help获得帮助信息
5. 不同用户及不同表空间之间数据的移动
1). 使用数据泵进行数据导出的准备工作,将参数保存在一个名为exp_par.txt的正文参数文件
directory=data_pump_dir -- 导出的二进制物理文件存在data_pump_dir对象所定义的操作系统目录中
schemas=scott -- 导出scott用户下的对象
dumpfile=schema_scott.dat -- 导出的二进制物理文件名为schema_scott.dat
exclude=package -- 不导出package(软件包)
exclude=view -- 不导出view
exclude=table:"like '%dump' " --不导出dump结尾的表
注意:include含义是包含,与exclude互斥,即二者只能用其一
2). 导出命令
expdp system/manager@kxbin parfile=exp_par.txt
3). 使用数据泵进行数据导入的准备工作,将参数保存在一个名为imp_par.txt的正文参数文件
directory=data_pump_dir -- 导入的二进制物理文件存在data_pump_dir对象所定义的目录中
dumpfile=schema_scott.dat -- 导入的二进制物理文件名为schema_scott.dat
remap_schema=scott:xiaoming -- 将文件中原来scott用户下的所有对象导入xiaoming用户中
remap_tablespace=users:xiaoming --将文件中原来存在于users表空间的所有对象导入到xiaoming表空间中
4). 导入命令
impdp system/manager@kxbin parfile=imp_par.txt;
6. 将Oracle的数据传给其他软件(EXCEL)
1)创建emp.sql文件
set line 120
set pagesize 100
set feedback off
spool d:\excel\emp
select * from emp;
spool off
2)登录scott用户
sqlplus scott/tiger@kxbin
3)执行sql
@d:\orcl\mgt\emp.sql -- 执行完毕后会生成emp.lst的正文文件
4)打开EXCEL文件,将数据导入Excel文件中
7. 数据泵操作的自动化
1)创建一个名为data_dump的directory对象,该目录用来存放导出的数据文件
create directory data_dump as 'd:\orcl\mgt\exportdump';
2)创建名为log_dump的directory对象,用来存放导出数据时生成的日志文件
create directory log_dump as 'd:\orcl\mgt\exportdump';
3)将data_dump和log_dump目录对象的读写权限授予xiaoming用户
grant read,write on directory data_dump to xiaoming;
grant read,write on directory log_dump to xiaoming;
4)查看
select * from dba_directories;
5)创建xiaoming_par.txt
directory=data_dump
schemas=xiaoming
dumpfile=schema_xiaoming.dat
exclude=package
exclude=view
exclude=procedure
exclude=function
exclude=index:"like 'PK_%' "
6)创建bat文件
D:\oracle\product\11.2.0\dbhome_1\BIN\expdp xiaoming/xiaoming@kxbin parfile=d:\orcl\mgt\xiaoming_par.txt
posted on 2013-01-31 14:59 kangxuebin 阅读(482) 评论(0) 编辑 收藏 举报