现在的位置: 首页 > 综合 > 正文

Oracle 数据库迁移

2012年09月06日 ⁄ 综合 ⁄ 共 2711字 ⁄ 字号 评论关闭

posted on 2007-06-06 14:31 Xu Jianxiang

 

1、执行exp命令,导出dmp文件

迁移某些表
exp username/password@db_name tables=(table1,table2) file=filepath.dmp
迁移某个用户下的数据库
exp username/password@db_name owner=(user1,user2) file=filepath.dmp
迁移整个数据库
exp username/password file=filepath.dmp full=y

异常:ORA-28009: connection to sys should be as sysdba or sysoper
方法:
exp userid='username/password as sysdba' owner=(user1,user2) file=filepath.dmp
=exp 'username/password as sysdba' owner=(user1,user2) file=filepath.dmp
或者输入exp后,在系统提示输入用户名的时候,输入“username as sysdba”,其它按提示输入。

2、上传到数据库服务器

3、新建数据库用户:username

4、执行imp命令,导入dmp文件

exp username/password@db_name fromuser=user touser=user1 file=filepath.dmp log=logfilepath
exp userid='username/password as sysdba' fromuser=user touser=user1 file=filepath.log

附 EXP和IMP的命令帮助:

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)
ROWS    导出数据行 (Y)         PARFILE      参数文件名
CONSTRAINTS 导出限制 (Y)    CONSISTENT   交叉表一致性
LOG      屏幕输出的日志文件    STATISTICS  分析对象 (ESTIMATE)
DIRECT   直接路径 (N)              TRIGGERS     导出触发器 (Y)
FEEDBACK 显示每 x 行 (0) 的进度
FILESIZE 各转储文件的最大尺寸
QUERY    选定导出表子集的子句

下列关键字仅用于可传输的表空间
TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
TABLESPACES 将传输的表空间列表

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)
ANALYZE  执行转储文件中的  ANALYZE 语句 (Y)
FEEDBACK 显示每 x 行 (0) 的进度
TOID_NOVALIDATE  跳过指定类型 id 的校验
FILESIZE 各转储文件的最大尺寸
RECALCULATE_STATISTICS 重新计算统计值 (N)

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

 (完)

 

抱歉!评论已关闭.