急!!!Oracle数据库导入的问题?
现有一逻辑备份出的文件,XXX.dmp文件,不是用sys导出的,他包含几个用户,但是不知都有什么用户,现在想导入到一个新的数据库中,应该如何导入?导入命令怎么写啊?
------解决方案--------------------imp user/name file= show=y full=y log=d:\imp.log 用sys用户导入看看日志,然后再
一个一个 fromuser= touser=去导入。
------解决方案--------------------全库导入呗,导出为了什么都不清楚的话只能这样了
------解决方案--------------------整个数据库导入罢。参考命令如下
SQL code
--导入整个数据库
IMP USERID=system/manager FILE=C:\expdir\fulldb.dmp LOG=C:\expdir\import.log FULL=y IGNORE=y(忽略导入过程产生的错误)
------解决方案--------------------
------解决方案--------------------
imp userid=sdsb/0420@orcl file=d:\sdsb_run2011-04-20.dmp full=y
以上标红的地方,是需要根据你的实际情况改的:
我给你一一解释:
1、sdsb:你的目的数据库名,即,你要把备份文件导入到新建的sdsb数据库
2、0420:密码,数据库登录密码
3、orcl:你的服务器名称,如果不清楚自己的服务器名称,可以到自己系统下的:tnsnames.ora文件下查找,我给你看一下我的tnsnames.ora:
sdsb=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.181)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME =orcl)
)
)
4、d:\sdsb2011-04-20.dmp 你要导的备份文件的存放位置,我是放在D盘根目录下,文件名是:sdsb2011-04-20.dmp
注意以上地方就行了,如果有什么问题,欢迎继续追问!
------解决方案--------------------
我的方法笨一点,直接打开DMP文件看文件头,文件头部的几兆空间会有表空间、用户、DBLINK等信息,基本上都是熟悉的SQL模式的,一看就知道。如果你的DMP很大,那么就用命令把DMP头部的内容保存到另外的一个文件里面,例如:
windows命令行下,使用 type xxxx.dmp >>back.txt
命令执行后马上按CTRL + C 终止执行,然后就会看到生成的back.txt文件,用文本工具打开一看就知道了。