mp数据库文件导入数据库的步骤如下:

1. 创建表空间

```sql

create tablespace hnust_data

datafile 'D:\oracle\oradata\orcl\hnust_data.bdf' size 200m autoextend on next 20m segment space management auto;

```

2. 创建用户(以system用户登录)

```sql

-- 创建用户,指定表空间

-- PS:导入的dmp数据库文件的表空间一定要与导出的数据库的表空间一致

-- 所以这里要指定用户的表空间为hnust_data

create user hnust_prd2 identified by hnustok default tablespace hnust_data

grant connect,resource to hnust_prd2;

alter user hnust_prd2 default role connect,resource;

```

3. 授权dba权限,用于导入dba用户导出的dmp数据库文件

```sql

grant dba to hnust_prd2;

alter user hnust_prd2 default role dba;

```

4. 导入dmp数据库文件

```sql

imp hnust_prd2/hnustok file='d:\1.dmp' log=imp.hnust_prd2.1.log fromuser=hnust_xg2 touser=hnust_prd2

-- PS:这条命令自己在dos环境下执行cmd---cd c:

fromuser是导出时使用的用户名,touser是导入使用的用户名

```

5. 用pl/sql工具编译无效对象

PS:常见错误

- 没有授dba权限,则会出现如上错误。

- 导出用户与导入用户不一致,没有指定fromuser、touser属性值。