- 浏览: 637629 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
spring_springmvc:
java程序语言学习教程 地址http://www.zuida ...
java.math.BigDecimal类的用法 -
tuspark:
文章写的挺详细了,但是感觉太乱了,真不如这篇文章: BigDe ...
java.math.BigDecimal类的用法 -
u010040765:
感谢楼主分享,写的很详细,很容易看懂
Struts2中iterator标签遍历map总结 -
若无勇气终将褪去:
[flash=200,200][url][list][*][/ ...
java.math.BigDecimal类的用法 -
若无勇气终将褪去:
...
java.math.BigDecimal类的用法
一. 导出工具 exp
1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin
exp导出工具将数据库中数据备份压缩成一个二进制系统文件.可以在不同OS间迁移
它有三种模式:
a. 用户模式: 导出用户所有对象以及对象中的数据;
b. 表模式: 导出用户所有表或者指定的表;
c. 整个数据库: 导出数据库中所有对象。
2. 导出工具exp交互式命令行方式的使用的例子
(运行 cmd 进入 dos ,输入导出命令:exp)
$exp test/test123@appdb -------------------------------------------使用者名称: liyongjie/123456@lyjdb
Enter array fetch buffer size: 4096 > 回车 -------------------------请输入数组捕获缓冲区的大小: 4096 > 回车
Export file: expdat.dmp > m.dmp 生成导出的文件名 -----------------汇出档案: EXPDAT.DMP > lyjdb.dmp
(1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U > 3 -------(1)E (整个数据库), (2)U (使用者), 或 (3)T (表格): (2)U > e
Export table data (yes/no): yes > 回车 ---------------------------导出表格数据 (yes/no): yes > yes
Compress extents (yes/no): yes > 回车 ---------------------------压缩扩充区块 (yes/no): yes > yes
Export terminated successfully without warnings.
3. 导出工具exp非交互式命令行方式的例子
$exp scott/tiger tables=(emp,dept) file="f:\directory\scott.dmp" grants=y
说明:把scott用户里两个表emp,dept导出到文件 "f:\directory\scott.dmp"
$exp scott/tiger tables=emp query=\"where job=\'salesman\' and sal\<1600\" file="f:\directory\scott2.dmp"
说明:在exp里面加上导出emp的查询条件job='salesman' and sal<1600,这样有条件的导出数据
(但我个人很少这样用,还是把满足条件的记录生成临时表后,再exp会方便一些)
$exp parfile=username.par file=/directory1/username_1.dmp,/directory1/username_2.dmp filesize=2000M log=/directory2/username_exp.log
参数文件username.par内容
userid=username/userpassword
buffer=8192000
compress=n
grants=y
说明:username.par为导出工具exp用的参数档,里面具体参数可以根据需要去修改
filesize指定生成的二进制备份文件的最大字节数
(可用来解决某些OS下2G物理档的限制及加快压缩速度和方便刻历史数据光盘等)
二.导入工具 imp
1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin
imp导入工具将EXP形成的二进制系统文件导入到数据库中.
它有三种模式:
a. 用户模式: 导出用户所有对象以及对象中的数据;
b. 表模式: 导出用户所有表或者指定的表;
c. 整个数据库: 导出数据库中所有对象。
只有拥有IMP_FULL_DATABASE和DBA权限的用户才能做整个数据库导入
imp步骤:
(1) create table (2) insert data (3) create index (4) create triggers,constraints
2.导入工具imp交互式命令行方式的例子
$ imp
Import: Release 8.1.6.0.0 - Production on 星期五 12月 7 17:01:08 2001
(c) Copyright 1999 Oracle Corporation. All rights reserved.
用户名: test
口令:****
连接到: Oracle8i Enterprise Edition Release 8.1.6.0.0 - 64bit Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
导入文件: expdat.dmp> /tmp/m.dmp
输入插入缓冲区大小(最小为 8192 ) 30720>
经由常规路径导出由EXPORT:V08.01.06创建的文件
警告: 此对象由 TEST 导出, 而不是当前用户
已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入
只列出导入档的内容(yes/no):no>
由于对象已存在, 忽略创建错误(yes/no):no> yes
导入权限(yes/no):yes>
导入表数据(yes/no):yes>
导入整个导出文件(yes/no):no> yes
. 正在将TEST的物件导入到 SCOTT
. . 正在导入表 "CMAMENU" 4336行被导入
成功终止导入,但出现警告。
3.导入工具imp非交互式命令行方式的例子
$ imp system/manager fromuser=jones tables=(accts)
$ imp system/manager fromuser=scott tables=(emp,dept)
$ imp system/manager fromuser=scott touser=joe tables=emp
$ imp scott/tiger file = expdat.dmp full=y
$ imp scott/tiger file = /mnt1/t1.dmp show=n buffer=2048000 ignore=n commit=y grants=y full=y log=/oracle_backup/log/imp_scott.log
$ imp system/manager parfile=params.dat
params.dat 内容
file=dba.dmp show=n ignore=n grants=y fromuser=scott tables=(dept,emp)
4.导入工具imp可能出现的问题
(1) 数据库对象已经存在
一般情况, 导入数据前应该彻底删除目标数据下的表, 序列, 函数/过程,触发器等;
数据库对象已经存在, 按缺省的imp参数, 则会导入失败
如果用了参数ignore=y, 会把exp文件内的数据内容导入
如果表有唯一关键词的约束条件, 不合条件将不被导入
如果表没有唯一关键词的约束条件, 将引起记录重复
(2) 数据库对象有主外键约束
不符合主外键约束时, 数据会导入失败
解决办法: 先导入主表, 再导入依存表
disable目标导入对象的主外键约束, 导入数据后, 再enable它们
(3) 权限不够
如果要把A用户的数据导入B用户下, A用户需要有imp_full_database权限
(4) 导入大表( 大于80M ) 时, 存储分配失败
默认的EXP时, compress = Y, 也就是把所有的数据压缩在一个数据块上.
导入时, 如果不存在连续一个大数据块, 则会导入失败.
导出80M以上的大表时, 记得compress= N, 则不会引起这种错误.
(5) imp和exp使用的字符集不同
如果字符集不同, 导入会失败, 可以改变unix环境变量或者NT注册表里NLS_LANG相关信息.
导入完成后再改回来.
(6) imp和exp版本不能往上兼容
imp可以成功导入低版本exp生成的檔, 不能导入高版本exp生成的檔
根据情况我们可以用
$ imp username/password@connect_string
说明: connect_string 是在/ORACLE_HOME/network/admin/tnsnames.ora
定义的本地或者远程数据库的名称
注意事项:
UNIX: /etc/hosts 要定义本地或者远程数据库服务器的主机名
win98: windows\hosts 和IP地址的对应关系
win2000: winnt\system32\drivers\etc\hosts
备注:导入时不会覆盖用户表中的数据,相当与追加的insert操作,如果想导入原有数据,必须把该用户以及其全部的对象删除(SQL>drop user username cascade ),然后新建用户(SQL>create user usernameidentified by password;)再重新赋予相应的权限(SQL>grant xxx to username; )。然后再把exp.dmp文件导入到相应的用户中。
---------------------------------------- exp 导出资料 ----------------------------------------------------------------------
-- 1.将一个用户的数据全部导出
exp exam/maxe@exam file = f:\exam.dmp log = f:\exam.log owner = (exam)
-- 2.将多个用户的数据全部导出
exp exam/maxe@exam file = f:\exam.dmp log = f:\exam.log owner = (exam,lyj)
-- 3.将某些用户数据导出,并带有权限
exp exam/maxe@exam file = f:\exam.dmp log = f:\exam.log owner = (exam) grants = y
-- 4.将数据库全部导出
exp exam/maxe@exam file = f:\exam.dmp log = f:\exam.log full = y
-- 5.将数据库的某些表导出
exp exam/maxe@exam file = f:\exam.dmp log = f:\exam.log tables = (p_employee,p_extra,p_syscode)
-- 6.将数据库表中符合条件的数据导出
exp exam/maxe@exam file = f:\exam.dmp tables = (p_employee) query = \" where salary >= 2000\"
exp exam/maxe@exam file = f:\exam.dmp tables = (p_employee) query = \" where emp_nm like 'A%'\"
---------------------------------------- imp 导入数据 ----------------------------------------------------------------------
-- 1.将 xxx.dmp 文件中的内容全部导入
imp exam/maxe@lyjdb file = e:\exam.dmp full = y ignore=y
-- 2.将 xxx.dmp 文件中的某些表导入
imp exam/maxe@lyjdb file = e:\exam.dmp tables = (p_employee,p_extra,p_syscode) ignore=y
-- 3.将一个数据的某用户的所有表导入导另一个数据库的某用户中
imp userid=system/manager fromuser=username1 touser=username2 ignore=y file=expfile.dmp
---------------------------------------- 汇出 lst 文件 ----------------------------------------------------------------------
spool f:\exam.lst
//your sql statement
spool off
1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin
exp导出工具将数据库中数据备份压缩成一个二进制系统文件.可以在不同OS间迁移
它有三种模式:
a. 用户模式: 导出用户所有对象以及对象中的数据;
b. 表模式: 导出用户所有表或者指定的表;
c. 整个数据库: 导出数据库中所有对象。
2. 导出工具exp交互式命令行方式的使用的例子
(运行 cmd 进入 dos ,输入导出命令:exp)
$exp test/test123@appdb -------------------------------------------使用者名称: liyongjie/123456@lyjdb
Enter array fetch buffer size: 4096 > 回车 -------------------------请输入数组捕获缓冲区的大小: 4096 > 回车
Export file: expdat.dmp > m.dmp 生成导出的文件名 -----------------汇出档案: EXPDAT.DMP > lyjdb.dmp
(1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U > 3 -------(1)E (整个数据库), (2)U (使用者), 或 (3)T (表格): (2)U > e
Export table data (yes/no): yes > 回车 ---------------------------导出表格数据 (yes/no): yes > yes
Compress extents (yes/no): yes > 回车 ---------------------------压缩扩充区块 (yes/no): yes > yes
Export terminated successfully without warnings.
3. 导出工具exp非交互式命令行方式的例子
$exp scott/tiger tables=(emp,dept) file="f:\directory\scott.dmp" grants=y
说明:把scott用户里两个表emp,dept导出到文件 "f:\directory\scott.dmp"
$exp scott/tiger tables=emp query=\"where job=\'salesman\' and sal\<1600\" file="f:\directory\scott2.dmp"
说明:在exp里面加上导出emp的查询条件job='salesman' and sal<1600,这样有条件的导出数据
(但我个人很少这样用,还是把满足条件的记录生成临时表后,再exp会方便一些)
$exp parfile=username.par file=/directory1/username_1.dmp,/directory1/username_2.dmp filesize=2000M log=/directory2/username_exp.log
参数文件username.par内容
userid=username/userpassword
buffer=8192000
compress=n
grants=y
说明:username.par为导出工具exp用的参数档,里面具体参数可以根据需要去修改
filesize指定生成的二进制备份文件的最大字节数
(可用来解决某些OS下2G物理档的限制及加快压缩速度和方便刻历史数据光盘等)
二.导入工具 imp
1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin
imp导入工具将EXP形成的二进制系统文件导入到数据库中.
它有三种模式:
a. 用户模式: 导出用户所有对象以及对象中的数据;
b. 表模式: 导出用户所有表或者指定的表;
c. 整个数据库: 导出数据库中所有对象。
只有拥有IMP_FULL_DATABASE和DBA权限的用户才能做整个数据库导入
imp步骤:
(1) create table (2) insert data (3) create index (4) create triggers,constraints
2.导入工具imp交互式命令行方式的例子
$ imp
Import: Release 8.1.6.0.0 - Production on 星期五 12月 7 17:01:08 2001
(c) Copyright 1999 Oracle Corporation. All rights reserved.
用户名: test
口令:****
连接到: Oracle8i Enterprise Edition Release 8.1.6.0.0 - 64bit Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
导入文件: expdat.dmp> /tmp/m.dmp
输入插入缓冲区大小(最小为 8192 ) 30720>
经由常规路径导出由EXPORT:V08.01.06创建的文件
警告: 此对象由 TEST 导出, 而不是当前用户
已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入
只列出导入档的内容(yes/no):no>
由于对象已存在, 忽略创建错误(yes/no):no> yes
导入权限(yes/no):yes>
导入表数据(yes/no):yes>
导入整个导出文件(yes/no):no> yes
. 正在将TEST的物件导入到 SCOTT
. . 正在导入表 "CMAMENU" 4336行被导入
成功终止导入,但出现警告。
3.导入工具imp非交互式命令行方式的例子
$ imp system/manager fromuser=jones tables=(accts)
$ imp system/manager fromuser=scott tables=(emp,dept)
$ imp system/manager fromuser=scott touser=joe tables=emp
$ imp scott/tiger file = expdat.dmp full=y
$ imp scott/tiger file = /mnt1/t1.dmp show=n buffer=2048000 ignore=n commit=y grants=y full=y log=/oracle_backup/log/imp_scott.log
$ imp system/manager parfile=params.dat
params.dat 内容
file=dba.dmp show=n ignore=n grants=y fromuser=scott tables=(dept,emp)
4.导入工具imp可能出现的问题
(1) 数据库对象已经存在
一般情况, 导入数据前应该彻底删除目标数据下的表, 序列, 函数/过程,触发器等;
数据库对象已经存在, 按缺省的imp参数, 则会导入失败
如果用了参数ignore=y, 会把exp文件内的数据内容导入
如果表有唯一关键词的约束条件, 不合条件将不被导入
如果表没有唯一关键词的约束条件, 将引起记录重复
(2) 数据库对象有主外键约束
不符合主外键约束时, 数据会导入失败
解决办法: 先导入主表, 再导入依存表
disable目标导入对象的主外键约束, 导入数据后, 再enable它们
(3) 权限不够
如果要把A用户的数据导入B用户下, A用户需要有imp_full_database权限
(4) 导入大表( 大于80M ) 时, 存储分配失败
默认的EXP时, compress = Y, 也就是把所有的数据压缩在一个数据块上.
导入时, 如果不存在连续一个大数据块, 则会导入失败.
导出80M以上的大表时, 记得compress= N, 则不会引起这种错误.
(5) imp和exp使用的字符集不同
如果字符集不同, 导入会失败, 可以改变unix环境变量或者NT注册表里NLS_LANG相关信息.
导入完成后再改回来.
(6) imp和exp版本不能往上兼容
imp可以成功导入低版本exp生成的檔, 不能导入高版本exp生成的檔
根据情况我们可以用
$ imp username/password@connect_string
说明: connect_string 是在/ORACLE_HOME/network/admin/tnsnames.ora
定义的本地或者远程数据库的名称
注意事项:
UNIX: /etc/hosts 要定义本地或者远程数据库服务器的主机名
win98: windows\hosts 和IP地址的对应关系
win2000: winnt\system32\drivers\etc\hosts
备注:导入时不会覆盖用户表中的数据,相当与追加的insert操作,如果想导入原有数据,必须把该用户以及其全部的对象删除(SQL>drop user username cascade ),然后新建用户(SQL>create user usernameidentified by password;)再重新赋予相应的权限(SQL>grant xxx to username; )。然后再把exp.dmp文件导入到相应的用户中。
---------------------------------------- exp 导出资料 ----------------------------------------------------------------------
-- 1.将一个用户的数据全部导出
exp exam/maxe@exam file = f:\exam.dmp log = f:\exam.log owner = (exam)
-- 2.将多个用户的数据全部导出
exp exam/maxe@exam file = f:\exam.dmp log = f:\exam.log owner = (exam,lyj)
-- 3.将某些用户数据导出,并带有权限
exp exam/maxe@exam file = f:\exam.dmp log = f:\exam.log owner = (exam) grants = y
-- 4.将数据库全部导出
exp exam/maxe@exam file = f:\exam.dmp log = f:\exam.log full = y
-- 5.将数据库的某些表导出
exp exam/maxe@exam file = f:\exam.dmp log = f:\exam.log tables = (p_employee,p_extra,p_syscode)
-- 6.将数据库表中符合条件的数据导出
exp exam/maxe@exam file = f:\exam.dmp tables = (p_employee) query = \" where salary >= 2000\"
exp exam/maxe@exam file = f:\exam.dmp tables = (p_employee) query = \" where emp_nm like 'A%'\"
---------------------------------------- imp 导入数据 ----------------------------------------------------------------------
-- 1.将 xxx.dmp 文件中的内容全部导入
imp exam/maxe@lyjdb file = e:\exam.dmp full = y ignore=y
-- 2.将 xxx.dmp 文件中的某些表导入
imp exam/maxe@lyjdb file = e:\exam.dmp tables = (p_employee,p_extra,p_syscode) ignore=y
-- 3.将一个数据的某用户的所有表导入导另一个数据库的某用户中
imp userid=system/manager fromuser=username1 touser=username2 ignore=y file=expfile.dmp
---------------------------------------- 汇出 lst 文件 ----------------------------------------------------------------------
spool f:\exam.lst
//your sql statement
spool off
发表评论
-
分区表创建
2012-02-10 14:52 1262--范围分区 -- Create table create t ... -
oracle connect by
2012-02-09 18:09 11889一、首先从一个经典的查询序列数例子入手: selec ... -
expdp和impdp
2012-02-09 17:15 15161,导出表数据 expdp liyongjie/liyongj ... -
sqlldr 工具
2012-02-09 16:21 1322小例子: sqlldr userid=liyongjie/li ... -
一道SQL题
2012-02-08 14:33 1083有表如下(表名:score): Name Course Mar ... -
oracle 的连接
2009-11-09 21:08 1061Oracle的外连接(outer join):可以分为:左连接 ... -
oracle 備份與恢復案例
2009-10-12 10:54 969一. 理解什么是数据库 ... -
Oracle语句优化53个规则详解
2009-09-27 16:40 1187Oracle语句优化53个规则详解 1. 选用适合的ORACL ... -
Oracle的索引
2009-09-27 16:29 1404Oracle的索引 索引和对应的表应该位于不同的表空间 ... -
SQL Plus环境设置与常用命令
2009-09-27 15:50 2150SQL Plus环境设置与常用命令: set serverou ... -
Oracle的正则表达式
2009-09-27 08:28 2119Oracle的正则表达式 http://www.psoug.o ... -
Oracle developer的异常处理机制
2009-09-27 08:26 1263Oracle developer的异常处理机制 Oracle ... -
oracle優化提示
2009-09-27 08:24 10321. /*+ALL_ROWS*/ 表明對語句塊選擇基於開銷的優 ... -
ORACLE的临时表
2009-09-27 08:19 1351CREATE GLOBAL TEMPORARY TABLE T ... -
oracle学习笔记(第十八章:oracle & java)
2009-09-07 20:19 13051, 创建JAVA 外部例程: 1) 编制java代码 2) ... -
oracle学习笔记(第十七章:动态SQL)
2009-09-07 20:15 2561-- 动态 SQL -- 使用 dbms_sql 包 -- 步 ... -
oracle学习笔记(第十六章:oracle大对象)
2009-09-07 20:15 2696-- 大对象的使用 -- oracle 支持以下4种LOB数据 ... -
oracle学习笔记(第十五章:排程作业)
2009-09-07 20:14 2694--数据库作业:dbms_job -- d ... -
oracle学习笔记(第十十四章:批量绑定)
2009-09-07 20:13 1484-- 使用批量绑定来执行 DELETE DECLARE T ... -
oracle学习笔记(第十三章:自定义数据类型)
2009-09-07 20:12 6626---------------------用Oracle Ob ...
相关推荐
这个"Oracle导入导出命令bat执行命.rar"文件显然包含了一系列用于自动化这些过程的批处理(BAT)脚本。 首先,让我们来理解一下Oracle的导入导出命令。`expdp`和`impdp`是Oracle Data Pump的命令行工具,用于导出和...
为了方便数据的迁移、备份或恢复,Oracle提供了多种导入导出工具,这些工具使得数据操作变得更为高效和便捷。本文将详细介绍Oracle的导入导出工具及其使用方法。 1. **Data Pump (expdp/impdp)** Oracle Data Pump...
Oracle导入导出工具是数据库管理员和开发人员在处理Oracle数据库时不可或缺的实用程序,它可以显著提高工作效率并简化数据管理任务。Oracle数据库系统以其强大的功能和稳定性而闻名,但随着数据量的增长,对数据进行...
ORACLE导入导出详解\ ORACLE导入导出详解 ORACLE导入导出详解
### Oracle导入导出概述 #### 1. Oracle导入导出工具 Oracle提供了多种工具来实现数据的导入导出功能,主要包括`EXPDP`(Export Data Pump)和`IMPDP`(Import Data Pump)。这些工具相较于早期版本中的`EXP`和`IMP...
Oracle 导入导出 DMP 数据库 Oracle 导入导出 DMP 数据库是指使用 Oracle 数据库管理系统提供的导入导出工具,实现数据库的导入和导出。这里我们将详细介绍两种方法:使用客户端 Enterprise Manager Console 和使用...
本资源“oracle导入导出文档及视频.zip”包含了Windows环境下通过命令行操作Oracle数据库进行导出(exp)和导入(imp)的详细教程和实例演示。以下是关于这个主题的深入讲解。 一、Oracle导入导出概述 Oracle...
### Oracle导入导出知识点 #### 一、Oracle 导入导出工具简介 在Oracle数据库管理中,数据的备份与恢复是一项重要的工作。Oracle提供了多种工具来实现这一目标,其中最为常用的便是`exp`(Export)和`imp`(Import...
本工具是一款基于Java编写的桌面应用程序,专为Oracle数据库的导入导出提供便利。 1. **Oracle数据库导入导出的重要性** - 数据迁移:当需要将数据从一个Oracle实例迁移到另一个实例时,导入导出工具是关键。 - ...
oracle数据库导入导出命令imp exp impdp expdp的使用详解,很有用!
Oracle 导入导出 DMP 文件详解 Oracle 是一种广泛使用的关系型数据库管理系统,导入导出 DMP 文件是 Oracle 数据库管理员和开发者经常遇到的一个重要任务。下面将详细介绍 Oracle 导入导出 DMP 文件的步骤和相关...
Oracle 数据库的导入导出是数据库管理中的重要环节,它涉及到数据的安全性、恢复性和效率。Oracle 提供了多种工具来实现数据的备份与恢复,其中最常用的是 EXPDP(Export Data Pump)和 IMPDP(Import Data Pump)...
Oracle 导入导出(imp,exp 本机或异机恢复) Oracle 的数据库导入导出(imp/exp)是数据库管理员经常使用的两个命令,它们分别用于数据库的导出和导入。本文档总结了 Oracle 数据库的完全导入导出、imp 和 exp 命令...
### Oracle导入导出部分数据:基础知识与应用场景 #### 基础知识 Oracle提供了两种主要的数据导入导出工具:`expdp` 和 `impdp`(用于数据泵导入导出),以及 `exp` 和 `imp`(较旧的命令行工具)。其中,`expdp` ...
Oracle 导入导出命令集.chm Oracle 导入导出命令集.chm
oracle导入导出建表空间语句:建用户;建表空间;用户授权dba;导入导出;
### Oracle导入导出命令详解 Oracle数据库作为一款广泛使用的数据库管理系统,在数据迁移、备份与恢复等方面具有非常重要的作用。在日常运维工作中,我们经常会用到Oracle的导入(Import)和导出(Export)命令来...