Oracle 10g dmp文件的导入导出
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle 10g dmp文件的导入导出
Posted on 2012-07-21 19:18 Winoval阅读(91) 评论(0) 编辑收藏
Oracle数据导入dmp文件可以是“某个用户下的数据库”,也可以是“某张表”,这里以导入数据库为例说明:
<方法1:使用客户端Enterprise Manager Console>
1.用SYS用户名,以DBA的身份在ie中登入到数据库(ORACLE客户端Enterprise Manager Console)
2.在方案->用户与权限->用户
新建用户
同时给该用户授予“角色”:
CONNECT,DBA,EXP_FULL_DATABASE,IMP_FULL_DATABASE,RESOURCE
授予系统权限:
ALTER USER,COMMENT ANY TABLE,CREATE ANY VIEW,CREATESESSION,
CREATE USER,DELETE ANY TABLE,DROP ANY VIEW,DROP USER,
UNLIMITED TABLESPACE
3.在命令行下执行:(一定完全按照以下步骤)
$imp 用户名/口令回车
填写导入文件路径:EXPDAT.DMP>c:\a.dmp
输入插入缓冲区大小:默认不填回车
只列出导入文件的内容:回车
忽略创建错误:yes
导入权限:yes
导入表数据:yes
导入整个导出文件:yes
等待……
成功终止导入,但出现警告。
例如:
4.打开PLSQL Developer,用新建的用户名和口令,以normal身份登录
5.在tables中可以查看导入到表
6.到此结束(这个问题折腾了一上午)
导出:
exp username/password@服务名file=文件路径及文件名
服务器名的获取:
1、先登录conn 用户名/密码
2、执行下列sql命令:select name from v$database
例:我的数据库pcms的用户名和密码都是mmis,服务名为pcms 我要导出到D盘下的pcms.dmp 文件,可以这样写:
exp mmis/mmis@pcms file=d:\pcms.dmp
SQL> $exp 用户名/密码@服务名file=路径+文件名
如下图所示:
$exp gengjingzhen/********@XE file=d:grains.dmp
大家知道Colb吗?
CLOB定义
数据库中的一种保存文件所使用的类型。
Character Large Object
SQL 类型CLOB 在JavaTM 编程语言中的映射关系。SQL CLOB 是内置类型,它将字符大对象(Character Large Object) 存储为数据库表某一行中的一个列值。默认情况下,驱动程序使用SQL locator(CLOB) 实现Clob 对象,这意味着CLOB 对象包含一个指向SQL CLOB 数据的逻辑指针而不是数据本身。Clob 对象在它被创建的事务处理期间有效。
在一些数据库系统里,也使用Text 作为CLOB的别名,比如SQL Server
CLOB和BLOB的区别
CLOB使用CHAR来保存数据。如:保存XML文档。
BLOB就是使用二进制保存数据。如:保存位图。
JAVA里面对CLOB的操作
在绝大多数情况下,使用2种方法使用CLOB
1 相对比较小的,可以用String进行直接操作,把CLOB看成字符串类型即可
2 如果比较大,可以用getAsciiStream 或者getUnicodeStream 以及对应的setAsciiStream 和setUnicodeStream 即可
读取数据
ResultSet rs = stmt.executeQuery("SELECT TOP 1 * FROM Test1");
rs.next();
Reader reader = rs.getCharacterStream(2);
插入数据
PreparedStatement pstmt = con.prepareStatement("INSERT INTO test1 (c1_id, c2_vcmax) VALUES (?, ?)");
pstmt.setInt(1, 1);
pstmt.setString(2, htmlStr);
pstmt.executeUpdate();
更新数据
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM test1");
rs.next();
Clob clob = rs.getClob(2);
long pos = clob.position("dog", 1);
clob.setString(1, "cat", len, 3);
rs.updateClob(2, clob);
rs.updateRow();
Ok,教程就到这里了,这也是今天额收获。
DMP文件导入:
1.用SYS用户名,以DBA的身份登入到数据库(ORACLE客户端Enterprise Manager Console)
2.在安全性-- 用户若所要导入的用户对象已存在则移去然后新建之(这样就可以删除该用户下所有对象了) 表空间选择原来的。
3.在该用户的角色中加入DBA角色
4.在命令行下执行:imp aioss/aioss@ORCL10G file=d:\aioss0819.dmp full=y ignore=y commit=y
参数解释:用户名/密码@数据库服务名数据文件路径