oracle imp / exp 导入导出命令详解

 给用户增加导入数据权限的操作http://www.diybl.com/course/7_databases/oracle/oraclejs/20071211/91845.html
 第一,启动sql*puls
 第二,以system/manager登陆
 第三,create user 用户名 IDENTIFIED BY 密码 (如果已经创建过用户,这步可以省略)
 第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
   DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
      DBA,CONNECT,RESOURCE,CREATE SESSION  TO 用户名字
 第五, 运行-cmd-进入dmp文件所在的目录,
      imp userid=system/manager full=y file=*.dmp
      或者 imp userid=system/manager full=y file=filename.dmp

 执行示例:
 F:WorkOracle_Databackup>imp userid=test/test full=y file=inner_notify.dmp

附录二:
 Oracle 不允许直接改变表的拥有者, 利用Export/Import可以达到这一目的.
  先建立import9.par,
  然后,使用时命令如下:imp parfile=/filepath/import9.par
  例 import9.par 内容如下:
        FROMUSER=TGPMS       
        TOUSER=TGPMS2     (注:把表的拥有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同)          
        ROWS=Y
        INDEXES=Y
        GRANTS=Y
        CONSTRAINTS=Y
        BUFFER=409600
        file==/backup/ctgpc_20030623.dmp
        log==/backup/import_20030623.log

在导入导出命令中加上feedback=1000可以让过程显示一个不断增多的“...”,以改变以往的闪烁的光标

 

 EXP

 一 Exp 命令

输入命令 exp help = y  可得到下面的提示:
通过输入 EXP 命令和用户名/口令,您可以后接用户名/口令的命令:

例程: EXP SCOTT/TIGER

或者,您也可以通过输入跟有各种参数的 EXP 命令来控制“导出”按照不同参数。

要指定参数,您可以使用关键字:

格式: EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
例程: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
或 TABLES=(T1: P1,T1: P2),如果 T1 是分区表

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

关键字  说明(默认)                                      关键字      说明(默认)
-------------------------------                             ----------------------------------
USERID   用户名/口令                             FULL         导出整个文件 (N)
BUFFER   数据缓冲区大小                   OWNER     所有者用户名列表
FILE       输出文件 (EXPDAT.DMP)    TABLES       表名称列表
COMPRESS   导入到一个区 (Y)         RECORDLENGTH IO 记录的长度
GRANTS  导出权限 (Y)                        INCTYPE      增量导出类型
INDEXES    导出索引 (Y)                     RECORD       跟踪增量导出 (Y)
DIRECT     直接路径 (N)                      TRIGGERS     导出触发器 (Y)
LOG        屏幕输出的日志文件             STATISTICS   分析对象 (ESTIMATE)
ROWS    导出数据行 (Y)                       PARFILE      参数文件名
CONSISTENT 交叉表一致性                CONSTRAINTS  导出约束条件 (Y)

FEEDBACK             每 x 行显示进度 (0)
FILESIZE             每个转储文件的最大大小
FLASHBACK_SCN        用于回调会话快照的 SCN
FLASHBACK_TIME       用来获得最接近于指定时间的 SCN 的时间
QUERY                用来导出表的子集的选择子句
RESUMABLE            遇到与空格有关的错误时挂起 (N)
RESUMABLE_NAME       用来标识可恢复语句的文本字符串
RESUMABLE_TIMEOUT    RESUMABLE 的等待时间
TTS_FULL_CHECK       对 TTS 执行完全或部分相关性检查
TABLESPACES          要导出的表空间列表
TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
TEMPLATE 调用 iAS 模式导出的模板名称

二 Imp 命令

imp help =y
可以通过输入 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 拥有可传输表空间集中数据的用户

、 EXP常用选项

 

 


    1、FULL,这个用于导出整个数据库,在ROWS=N一起使用时,可以导出整个数据库的结构。

例如:

 




exp sys file=./db.dmp log=./db.log full=y rows=n compress=y direct=y

 


    2、BUFFER和FEEDBACK,在导出比较多的数据时,我会考虑设置这两个参数。例如: 

   exp newfile=db.dmp log=yw97_2003_3.log  feedback=10000
          buffer=100000000  tables=WO4,OK_YT

 


    3、FILL和LOG,这两个参数分别指定备份的DMP名称和LOG名称,包括文件名和目录。

 

 


     需要说明的是,EXP可以直接备份到磁带中,即使用FILE=/d

 

 

 

if (exists(select * from dbo.sysobjects where name='T_Roles'))

drop table T_Roles;

create table T_Roles

(

RoleId int identity not null, --角色Id

[Name] NVarchar(100) not null unique, --角色名称

Remark NVarchar(200), --角色备注

Primary key(RoleId)

);

 

 

 

posted @ 2009-12-26 18:23  Rain520  阅读(10396)  评论(0编辑  收藏  举报