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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle dmp导入后还需要建立表空间吗?相关的知识,希望对你有一定的参考价值。

用oracle没多久经历只是放在谢谢SQL上,公司给了个dmp文件,我倒近oracle后 dmp里的表和数据都能访问了,可是为什么还要见表空间,公司的人说还要在users下建立,我用sys导入后照样能访问即使我建立一个表空间怎么和我导入的dmp文件关联上 求解答

理解有错误。应该是先有的表空间,之后dmp文件才可以导入到对应的表空间下。
解释:dmp文件如果都已经导入成功了,那么说明用的表空间肯定已经存在,再就是既然用户都可以正常登陆了,那么也可以证明表空间已经存在,所以是不需要再单独建立的。
备注:如果dmp文件是需要导入到新表空间,那么才需要创建的。
参考技术A 表空间不是默认建立在users下面么?所以你应该是导入对了,假如你导入的时候没有改变表空间的话。
有必要建立表空间。虽然不建立表空间和建立的结果一样,但是不利于维护数据。比如说备份。
CREATE USER abc IDENTIFIED BY 123
DEFAULT TABLESPACE users--默认表空间自己填,可能是users,你不填也是users(缺省就是users)

conn /as sysdba;
grant create session to abc;

conn abc/123;

然后导入dmp追问

比如我把users 起一个别的名字可以吗?那么users是一个默认的表空间呗?刚刚安装完orale是不是就有?

追答

是啊,刚刚装完就有一个默认的表空间。叫做users,你可以自己查看一下嘛。

默认的,一般不要改吧


你可以按照我上面说的,自己创建一个新的表空间。然后再导入dmp文件。

本回答被提问者和网友采纳

Oracle 使用命令导入dmp文件

若要导入到特定的表空间则需要新建表空间,若不要求,则用已有的,则只需执行下面的步骤

      在dos窗口中输入imp 用户名/密码@ip地址:端口号/数据库实例 file=‘需要导入的dmp文件的路径‘ full = y(可能需要)

下面是建立表空间和用户的步骤:  

  1. 用户  
  2. 建立:create user 用户名 identified by "密码";  
  3. 授权:grant create session to 用户名;  
  4. grant create table to  用户名;  
  5. grant create tablespace to  用户名; 
  1. 建立表空间(一般建N个存数据的表空间和一个索引空间):  
  2. create tablespace 表空间名  
  3. datafile ‘ 路径(要先建好路径)\***.dbf  ‘ size *M  
  4. tempfile ‘ 路径\***.dbf ‘ size *M  
  5. autoextend on  --自动增长  
  6. --还有一些定义大小的命令,看需要  
  7. default storage(  
  8.  initial 100K,  
  9. next 100k,  
  10. );  

  1. 例子:创建表空间  
  2. create tablespace Aside
  3. datafile ‘F:\app\Aside\oradata\orcl\Aside.dbf‘   
  4. size 100M   
  5. autoextend on next 5M maxsize 3000M;  
  6. 删除表空间  
  7. drop tablespace Aside including contents and datafiles  

 


  1. 用户权限  
  2. 授予用户使用表空间的权限:  
  3. alter user 用户名 quota unlimited on 表空间;  
  4. 或 alter user 用户名 quota *M on 表空间;  

以上是关于oracle dmp导入后还需要建立表空间吗?的主要内容,如果未能解决你的问题,请参考以下文章

oracle中用一个用户导出的dmp文件中含有多个表空间,怎么用该用户将这个文件再导入数据库

Oracle 使用命令导入dmp文件

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

oracle的dmp文件可以导入到别的表空间吗

使用PLSQL向oracle中导入dmp文件

只有一个dmp文件 怎么恢复oracle数据库 !