当前位置:文档之家› Oracle数据的导入导出(按照表)

Oracle数据的导入导出(按照表)

一直有个问题困扰我,在创建数据库的时候没有选择模拟数据(emp,dept……)后来尝试几次从其他的数据库中导出导入过来,但是都没能成功。今天做的比较顺利,现在将导出导入的步骤以及遇到的问题和解决方法一一写出来。
1.在一个有emp表的数据库中进行操作
---------------------------------------------------------------------------------
C:\Documents and Settings\Administrator>exp scott/oracle
Export: Release 10.2.0.1.0 - Production on 星期日 1月 31 13:19:16 20
Copyright (c) 1982, 2005, Oracle. All rights reserved.

连接到: Oracle Database 10g Release 10.2.0.1.0 - Production
输入数组提取缓冲区大小: 4096 >
导出文件: EXPDAT.DMP > D:/a.dmp

(2)U(用户), 或 (3)T(表): (2)U > 3

导出表数据 (yes/no): yes >

压缩区 (yes/no): yes >

已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
服务器使用 AL32UTF8 字符集 (可能的字符集转换)

即将导出指定的表通过常规路径...
要导出的表 (T) 或分区 (T: P): (按 RETURN 退出) > emp

. . 正在导出表 EMP导出了 14 行
要导出的表 (T) 或分区 (T: P): (按 RETURN 退出) > dept

. . 正在导出表 DEPT导出了 4 行
要导出的表 (T) 或分区 (T: P): (按 RETURN 退出) >

成功终止导出, 没有出现警告。
------------------------------------------------------------------------------
导出完成

2.在ocp10g中导入刚刚导出的表到scott用户下
-----------------------------------------------------------
导入的时候出现了问题,无权限
进到system下,查询scott用户的权限都有哪些
先查看dba_sys_privs中有哪些字段,以免一会儿查询的时候出现太多不需要字段
SQL>desc dba_sys_privs
发现其中的只有三个字段
SQL>select * from dba_sys_privs where grantee='SCOTT';
查询到了SCOTT的一些权限,发现有create any table
然后进到SCOTT用户下,进行创建一个表试试,但是出现了ora-01950报错(ORA-01950: 对表空间 'USERS' 无权限)。
接下来对scott赋予一下RESOURCE的系统权限
SQL>grant resource to scott;
进行建表实验,发现这次可以进行建表了,可见问题解决了
-----------------------------------------------------------
C:\Users\Administrator>imp scott/oracle@localhost/ocp10g
Import: Release 10.2.0.3.0 - Production on 星期日 1月 31 13:14:10 2016
Copyright (c) 1982, 2005, Oracle. All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Productio
With the Partitioning, OLAP and Data Mining options

导入文件: EXPDAT.DMP> D:\m.dmp

输入插入缓冲区大小 (最小为 8192) 30720>

经由常规路径由 EXPORT:V10.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
只列出导入文件的内容 (ye

s/no): no >

由于对象已存在, 忽略创建错误 (yes/no): no >

导入权限 (yes/no): yes >

导入表数据 (yes/no): yes >

导入整个导出文件 (yes/no): no >
用户名: scott

输入表 (T) 或分区 (T: P) 名称。空列表表示用户的所有表
输入表 (T) 或分区 (T: P) 的名称或 。如果完成: emp

输入表 (T) 或分区 (T: P) 的名称或 。如果完成: dept

输入表 (T) 或分区 (T: P) 的名称或 。如果完成: bonus

输入表 (T) 或分区 (T: P) 的名称或 。如果完成: salgrade

输入表 (T) 或分区 (T: P) 的名称或 。如果完成:

. 正在将 SCOTT 的对象导入到 SCOTT
. 正在将 SCOTT 的对象导入到 SCOTT
. . 正在导入表 "EMP"导入了 14 行
. . 正在导入表 "DEPT"导入了 4 行
. . 正在导入表 "BONUS"导入了 0 行
. . 正在导入表 "SALGRADE"导入了 5 行
即将启用约束条件...
成功终止导入, 没有出现警告。
---------------------------------------------------------------------------------
导入完成
在scott用户下查看表是否存在
desc emp或select table_name from user_tables;
完成!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

相关主题
文本预览
相关文档 最新文档