心的方向

新的征途......
posts - 75,comments - 19,trackbacks - 0

 

功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。
 
大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。
 
 Oracle
有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接
 
(通过net8 assistant中本地-->服务命名 添加正确的服务命名
 
其实你可以想成是客户端与服务器端修了条路,然后数据就可以被拉过来了)
 
这样你可以把数据导出到本地,虽然可能服务器离你很远。
 
你同样可以把dmp文件从本地导入到远处的数据库服务器中。
 
利用这个功能你可以构建俩个相同的数据库,一个用来测试,一个用来正式使用。
 
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,
 DOS
中可以执行时由于 oracle 8i  安装目录\ora81\BIN被设置为全局路径,
 
该目录下有EXP.EXEIMP.EXE文件被用来执行导入导出。
 oracle
java编写,我想SQLPLUS.EXEEXP.EXEIMP.EXE这俩个文件是被包装后的类文件。
 SQLPLUS.EXE
调用EXP.EXEIMP.EXE他们所包裹的类,完成导入导出功能。
 
下面介绍的是导入导出的实例,向导入导出看实例基本上就可以完成,因为导入导出很简单。
数据导出:
 1
将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp
   exp system/manager@TEST file=d:\daochu.dmp full=y
 2
将数据库中system用户与sys用户的表导出
   exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
 3
将数据库中的表table1 table2导出
   exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
 4
将数据库中的表table1中的字段filed1"00"打头的数据导出
   exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
 
    
上面是常用的导出,对于压缩我不太在意,用winzipdmp文件可以很好的压缩。
                    
不过在上面命令后面 加上 compress=y  就可以了

数据的导入
 1
D:\daochu.dmp 中的数据导入 TEST数据库中。
   imp system/manager@TEST  file=d:\daochu.dmp
  
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
  
在后面加上 ignore=y 就可以了。
 2
d:\daochu.dmp中的表table1 导入
 imp system/manager@TEST  file=d:\daochu.dmp  tables=(table1)
 
 
基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入。
 
注意:
 
你要有足够的权限,权限不够它会提示你。
 
数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。
可以通过输入 IMP 命令和您的用户名/口令
后接用户名/口令的命令:

例程: IMP SCOTT/TIGER

或者, 可以通过输入 IMP 命令和各种参数来控制导入
按照不同参数。要指定参数,您可以使用关键字:

格式: IMP KEYWORD=value KEYWORD=(value1,value2,...,vlaueN)
例程: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N
TABLES=(T1: P1,T1: P2),如果 T1 是分区表

USERID 必须是命令行中的第一个参数。

关键字 说明(默认)        关键字      说明(默认)
--------------------------------------------------------------------------
USERID  
用户名/口令           FULL         导入整个文件 (N)
BUFFER  
数据缓冲区大小         FROMUSER     所有人用户名列表
FILE    
输入文件 (EXPDAT.DMP)    TOUSER       用户名列表
SHOW    
只列出文件内容 (N) TABLES      表名列表
IGNORE  
忽略创建错误 (N)    RECORDLENGTH  IO 记录的长度
GRANTS 
导入权限 (Y)           INCTYPE      增量导入类型
INDEXES
导入索引 (Y)          COMMIT       提交数组插入 (N)
ROWS   
导入数据行 (Y)        PARFILE      参数文件名
LOG     
屏幕输出的日志文件   CONSTRAINTS  导入限制 (Y)
DESTROY               
覆盖表空间数据文件 (N)
INDEXFILE             
将表/索引信息写入指定的文件
SKIP_UNUSABLE_INDEXES 
跳过不可用索引的维护 (N)
FEEDBACK              
x 行显示进度 (0)
TOID_NOVALIDATE       
跳过指定类型 ID 的验证
FILESIZE              
每个转储文件的最大大小
STATISTICS            
始终导入预计算的统计信息
RESUMABLE             
遇到与空格有关的错误时挂起 (N)
RESUMABLE_NAME        
用来标识可恢复语句的文本字符串
RESUMABLE_TIMEOUT      RESUMABLE
的等待时间
COMPILE               
编译过程, 程序包和函数 (Y)

下列关键字仅用于可传输的表空间
TRANSPORT_TABLESPACE
导入可传输的表空间元数据 (N)
TABLESPACES
将要传输到数据库的表空间
DATAFILES
将要传输到数据库的数据文件
TTS_OWNERS
拥有可传输表空间集中数据的用户

posted on 2007-06-05 18:41 阿伟 阅读(773) 评论(0)  编辑  收藏 所属分类: DateBase

只有注册用户登录后才能发表评论。


网站导航: