oracle数据库导入dmp文件-详解(在不知道数据库用户名的条件下-windows环境下)

今天碰到一个问题,需要在另外一台机器(经过核实,本机器上已经安装过oracle数据库)上导入oracle的后缀名是DMP的数据文件,但是不知道机器上oracle的相关用户的用户名和密码,(还好经过尝试sysdba的用户名密码没有被修改过)

如何导入呢?步骤如下:

机器环境是windows条件下,win7:

1.打开“开始”--->输入cmd,打开cmd命令窗口,输入:sqlplus / as sysdba;然后使用conn / as sysdba;这样就可以以超级管理员的最高权限登录,当然这决定于init.ora 文件中的数据库初始化参数,可以参考:

http://blog.chinaunix.net/uid-43642-id-2124603.html


2.上面以sysdba登录后,就可以创建表空间和用户了。由于目前有dmp文件,可以用notepad++(或者Editplus或者UltraEdit)打开dmp文件(UltraEdit或者Editplus打开效果更好,没有乱码,因为是二进制文件嘛,不过其他方面我更喜欢notepad++),使用快捷键ctrl+F,查找tablespace ,可以找到这个dmp文件所对应数据库的表空间,我查找我的表空间的名称是USERS,下面创建语句创建的表空间的名称就是USERS,创建语句不太明白的,可以百度一下。

2.1然后创建表空间,命令如下:

create tablespace USERS   
logging   
datafile 'D:\oracle\product\10.2.0\oradata\orcl\USERS.dbf'   
size 32m   
autoextend on   
next 32m maxsize 2048m   
extent management local;

2.2创建用户,命令如下:

创建test用户,密码也是test222,使用上面创建的表空间

create user test identified by test222  
default tablespace USERS  


3.给创建的test用户分配权限,这里我比较懒,直接分配了dba权限,命令如下:

grant dba to test; 

这样前期工作准备就绪了,然后可以关掉刚刚这个命令窗口了。


4.打开“开始”-->输入cmd(记住:这里是cmd窗口,不是sqlplus窗口!!!)

由于在上面几个步骤中,创建了test这个用户,所以往test用户导入数据:

直接输入如下语句:imp test/test222@localhost/orcl file="C:\Users\zhengyi\Desktop\test20140221.DMP"  full=y;

上述语句说明如下:

test是上面创建的登录数据库用户名;

test222是登录数据库的密码;

localhost:代表当前数据库的地址是本机,如果是远程导入,替换成对应的ip地址就行

orcl:是实例名称(这个如果不知道实例名称的话,应该可以查,如果不能查,额,我还不知道咋弄,我先试试!)

file:后面的是你当前dmp文件存放的路径

full=y,这个貌似是全部导入,我再查查核实一下!


这样,oracle下导入dmp文件的方法基本就说明完了,祝大家好运!




你可能感兴趣的:(Oracle学习)