??xml version="1.0" encoding="utf-8" standalone="yes"?> 数据的导?br />
1 D:\daochu.dmp 中的数据导入 TEST数据库中?br />
imp system/manager@TEST file=d:\daochu.dmp 附录一Q?br />
l用户增加导入数据权限的操作 执行CZ: 屏幕昄 q接? Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production l由常规路径导出由EXPORT:V08.01.07创徏的文?br />
已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导?br />
导出服务器用UTF8 NCHAR 字符?(可能的ncharset转换) 在导入导出命令中加上feedback=1000可以让过E显CZ个不断增多的“...”Q以改变以往的闪烁的光标 New: exp/imp已经很好用了Q但是唯一的确定是速度太慢Q如?张表的数据有个百千万的,常常导入导出长旉停在q个表这Q但是从Oracle 10g开始提供了UCؓ数据泉|的工具expdp/impdpQ它为Oracle数据提供高速ƈ行及大数据的q移?/p>
imp/exp可以在客L调用Q但是expdp/impdp只能在服务端Q因为在使用expdp/impdp以前需要在数据库中创徏一个Directory create directory dump_test as '/u01/oracle10g'Q?/p>
grant read, write on directory dump_test to piner expdp piner/piner directory=dump_test dumpfile=user.dmp 导出用户的数?/p>
执行环境Q可以在SQLPLUS.EXE或者DOSQ命令行Q中执行Q?br />
DOS中可以执行时׃ 在oracle 8i ?nbsp; 安装目录ora81BIN被设|ؓ全局路径Q?br />
该目录下有EXP.EXE与IMP.EXE文g被用来执行导入导出?br />
oracle用java~写QSQLPLUS.EXE、EXP.EXE、IMP.EXEq两个文件有可能是被包装后的cL件?br />
SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类Q完成导入导出功能?br />
下面介绍的是导入导出的实例?br />
数据导出Q?br />
1 数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp?br />
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 数据库中的表inner_notify、notify_staff_relat导出
exp aichannel/aichannel@TESTDB2 file= d:\datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4 数据库中的表table1中的字段filed1?00"打头的数据导?br />
exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=" where filed1 like '00%'"
上面是常用的导出Q对于压~,既用winzip把dmp文g可以很好的压~?br />
也可以在上面命o后面 加上 compress=y 来实现?/p>
imp aichannel/aichannel@TEST full=y file=d:\datanewsmgnt.dmp ignore=y
上面可能有点问题Q因为有的表已经存在Q然后它?yu)报错,对该表就不进行导入?br />
在后面加?ignore=y 可以了?br />
2 d:daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
基本上上面的导入导出够用了。不情况要先是表d删除Q然后导入?br />
注意Q?br />
操作者要有够的权限Q权限不够它会提C?br />
数据库时可以q上的。可以用tnsping TEST 来获得数据库TEST能否q上?/p>
W一,启动sql*puls
W二Q以system/manager登陆
W三Qcreate user 用户?IDENTIFIED BY 密码 Q如果已l创用户Q这步可以省略)
W四QGRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字
W五, q行-cmd-q入dmp文g所在的目录,
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
Import: Release 8.1.7.0.0 - Production on 星期?2?16 16:50:05 2006
(c) Copyright 2000 Oracle Corporation. All rights reserved.
With the Partitioning option
JServer Release 8.1.7.0.0 - Production
. 正在AICHANNEL的对象导入到 AICHANNEL
. . 正在导入?nbsp; "INNER_NOTIFY" 4行被导入
准备启用U束条g...
成功l止导入Q但出现警告?/p>
附录二:
Oracle 不允许直接改变表的拥有? 利用Export/Import可以辑ֈq一目的.
先徏立import9.par,
然后Q用时命o如下Qimp parfile=/filepath/import9.par
?import9.par 内容如下Q?br />
FROMUSER=TGPMS
TOUSER=TGPMS2 Q注Q把表的拥有者由FROMUSER改ؓTOUSERQFROMUSER和TOUSER的用户可以不同)
ROWS=Y
INDEXES=Y
GRANTS=Y
CONSTRAINTS=Y
BUFFER=409600
file==/backup/ctgpc_20030623.dmp
log==/backup/import_20030623.log
然后可以开始导入导?/p>
expdp piner/piner directory=dump_test dumpfile=table.dmp tables=test1,test2 导出表数?/p>
impdp piner/piner directory=dump_test dumpfile=user.dmp 导入该用h?/p>
impdp piner/piner directory=dump_test dumpfile=table.dmp 导出表数?
]]>
-- 创徏 RSMS_INDEX 表空?br />
CREATE SMALLFILE TABLESPACE "RSMS_TEMP" DATAFILE 'C:\oracle\product\10.1.0\oradata\ORCL\RSMS_TEMP' SIZE 500M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
-- 创徏 RSMS 用户
CREATE USER "RSMS" PROFILE "DEFAULT" IDENTIFIED BY "rsms20080310" DEFAULT TABLESPACE "RSMS" ACCOUNT UNLOCK;
GRANT "CONNECT" TO "RSMS" WITH ADMIN OPTION;
GRANT "DBA" TO "RSMS" WITH ADMIN OPTION;
----删除用户
drop user "WEB_GZ" cascade;//删除视图
revoke unlimited tablespace from SLJGW;
alter user SLJGW default tablespace SLJGW;
alter user SLJGW quota unlimited on SLJGW;
alter user SLJGW quota 0 on system;