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(可能需要)
下面是建立表空间和用户的步骤:
- 用户
- 建立:create user 用户名 identified by "密码";
- 授权:grant create session to 用户名;
- grant create table to 用户名;
- grant create tablespace to 用户名;
- 建立表空间(一般建N个存数据的表空间和一个索引空间):
- create tablespace 表空间名
- datafile ‘ 路径(要先建好路径)\***.dbf ‘ size *M
- tempfile ‘ 路径\***.dbf ‘ size *M
- autoextend on --自动增长
- --还有一些定义大小的命令,看需要
- default storage(
- initial 100K,
- next 100k,
- );
- 例子:创建表空间
- create tablespace Aside
- datafile ‘F:\app\Aside\oradata\orcl\Aside.dbf‘
- size 100M
- autoextend on next 5M maxsize 3000M;
- 删除表空间
- drop tablespace Aside including contents and datafiles
- 用户权限
- 授予用户使用表空间的权限:
- alter user 用户名 quota unlimited on 表空间;
- 或 alter user 用户名 quota *M on 表空间;
以上是关于oracle dmp导入后还需要建立表空间吗?的主要内容,如果未能解决你的问题,请参考以下文章
oracle中用一个用户导出的dmp文件中含有多个表空间,怎么用该用户将这个文件再导入数据库