向oracle中导入.dmp要先创建表空间和用户吗?怎么手动创建呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了向oracle中导入.dmp要先创建表空间和用户吗?怎么手动创建呢?相关的知识,希望对你有一定的参考价值。

需要创建的,当然如果你将其导入到sys或者system等系统用户就不需要了。
创建临时表空间
CREATE TEMPORARY TABLESPACE test_temp
TEMPFILE ' C:\oracle\product\10.1.0\oradata\orcl\test_temp01.dbf '
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
创建临时表空间
CREATE TEMPORARY TABLESPACE test_temp
TEMPFILE ' C:\oracle\product\10.1.0\oradata\orcl\test_temp01.dbf '
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
创建用户表空间
CREATE TABLESPACE test_data
LOGGING
DATAFILE ' C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\TEST_DATA01.DBF '
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
创建用户并制定表空间
CREATE USER username IDENTIFIED BY password
DEFAULT TABLESPACE TEST_DATA
TEMPORARY TABLESPACE TEST_TEMP;
给用户授予权限
GRANT
   CREATE SESSION, CREATE ANY TABLE , CREATE ANY VIEW , CREATE ANY INDEX , CREATE ANY PROCEDURE ,
   ALTER ANY TABLE , ALTER ANY PROCEDURE ,
   DROP ANY TABLE , DROP ANY VIEW , DROP ANY INDEX , DROP ANY PROCEDURE ,
   SELECT ANY TABLE , INSERT ANY TABLE , UPDATE ANY TABLE , DELETE ANY TABLE
   TO username;
将role这个角色授与username,也就是说,使username这个用户可以管理和使用role所拥有的资源
GRANT role TO username;
参考技术A 只要建立一个user即可,
create user .......
命令比较简单,搜索下就好了
然后就是导入dmp
参考技术B 可以不创建。在imp过程中逐个回答问题即可

使用PLSQL向oracle中导入dmp文件

我在oracle中建立了一个表空间简称date,又建了一个临时表空间temp,然后我建了一个用户user并赋予DBA权限,user默认表空间是date,临时表空间是temp,然后我登陆PLSQL使用normal或者DBA权限导入桌面的一个dmp文件,每次都是cmd窗口一闪而过,tables文件夹下没有任何表,求解,急!
这是我用命令行导入时出现的错误,到底是怎么回事呢?

原因是你的oracle版本与给你导入文件的人使用的oracle版本不同,给你导入文件的人的oracle版本应该高于你使用的oracle版本。
一般的规则是:低版本导出的文件,高版本可以导入;高版本导出的文件,低版本是无法导入的。
参考技术A 你用命令行导入,就可以看到错误了。

运行:cmd
imp user/pwd@数据库的本地Net服务名

然后按照提示导入。
参考技术B = =

以上是关于向oracle中导入.dmp要先创建表空间和用户吗?怎么手动创建呢?的主要内容,如果未能解决你的问题,请参考以下文章

使用PLSQL向oracle中导入dmp文件

如何在oracle中导入dmp数据库文件?

oracle中导入数据库文件的方法是啥?

Oracle 10G中导入dmp文件

oracle dmp导入后还需要建立表空间吗?

如何在oracle中导入导出dmp文件