(1)登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户)
(2)以sysdba方式来打开sqlplus,命令如下: sqlplus / as sysdba
(3)查看我们常规将用户表空间放置位置:执行如下sql:
select name from v$datafile
(4)创建用户表空间:
CREATE TABLESPACE NOTIFYDB DATAFILE '/home/oracle/app/oradata/orcl/testdb.dbf' SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
(5)创建用户,指定密码和上边创建的用户表空间
CREATE USER test IDENTIFIED BY test DEFAULT TABLESPACE NOTIFYDB;
(6)赋予权限
grant connect,resource to test;
grant unlimited tablespace to test;
grant create database link to test;
grant select any sequence,create materialized view to test;
执行命令
imp test/test@localhost:1521/oracle file=/home/oracle/app/oracle/bak_dir/test.dmp full=y
有可能报错only a DBA can import a file exported by another DBA
由于dba权限导出的数据库文件还得需要有dba权限的用户导入,那么就得给test的授权
通过sqlplus / as sysdba进入sql控制台:
grant sysdba to test;
grant imp_full_database to test;
然后再执行上边的命令就可以成功导入了