• 爱情文章
  • 亲情文章
  • 友情文章
  • 生活随笔
  • 校园文章
  • 经典文章
  • 人生哲理
  • 励志文章
  • 搞笑文章
  • 心情日记
  • 英语文章
  • 范文大全
  • 作文大全
  • 新闻阅读
  • 当前位置: 山茶花美文网 > 友情文章 > 正文

    oracle删除表空间 Oracle备份数据导入到其他的表空间(只设置默认表空间无效)

    时间:2020-04-30来源:山茶花美文网 本文已影响 山茶花美文网手机站

    我们在导入一个Oracle备份的数据文件(*.dmp)到另外一个数据库的用户下时,如果需要更换表空间,可以采用下几个办法。

    假设导出用户名:EXP_USER 表空间为:EXP_TSPACE

    导入用户名:IMP_USER 表空间为:IMP_TSPACE

    1、设置导入用户的默认表空间以及权限。

    a)建表语句如下:

    create user IMP_USER

    Sql代码

    identified by 密码

    default tablespace IMP_TSPACE

    temporary tablespace TEMP(临时表空间)

    identified by 密码

    default tablespace IMP_TSPACE

    temporary tablespace TEMP(临时表空间)

    b)只是设置表空间,还是解决不了问题。你会发现,在使用imp命令导入时,导入的表还是建立在EXP_TSPACE表空间上。

    原因是:导入的数据库也存在EXP_TSPACE表空间,同时IMP_SPACE也存在该表空间的使用权限。

    可能原因IMP_USER用户的权限含有含有unlimited tablespace权限。(角色resource、dba包含此权限)。

    i. 已存在用户,不改变其他权限

    a) 不改变原有角色或权限,仅去掉无限表空间权限。

    命令:revoke unlimited tablespace from IMP_USER;

    b) 添加对IMP_TSPACE权限。

    命令:alter user qcui quota unlimited on IMP_USER;

    ii. 新建用户,给予最低权限

    a) 以下是开发用户最低权限跟角色的参考:

    角色:connect、exp_full_database、imp_full_database

    权限:debug connect session(调试存储过程使用,非必须)

    a) 命令语句参考:

    Sql代码

    create user IMP_USER

    identified by 密码

    default tablespace IMP_TSPACE

    temporary tablespace TEMP

    profile DEFAULT

    quota unlimited on IMP_TSPACE;

    -- Grant/Revoke role privileges

    grant connect to IMP_USER;

    grant exp_full_database to IMP_USER;

    grant imp_full_database to IMP_USER;

    -- Grant/Revoke system privileges

    grant debug connect session to IMP_USER;

    create user IMP_USER

    identified by 密码

    default tablespace IMP_TSPACE

    temporary tablespace TEMP

    profile DEFAULT

    quota unlimited on IMP_TSPACE;

    -- Grant/Revoke role privileges

    grant connect to IMP_USER;

    grant exp_full_database to IMP_USER;

    grant imp_full_database to IMP_USER;

    -- Grant/Revoke system privileges

    grant debug connect session to IMP_USER;

    2、 直接修改dmp文件(不推荐)

    a) 使用UE等文本工具软件,可打开并查看DMP文件内容。除部分数据或命令是二进制乱码外,普通的create table、insert语句都是明文。

    b) 批量修改建表语句中的表空间名称。即:tablespace EXP_TSPACE替换为:tablespace IMP_TSPACE

    • oracle删除表空间 Oracle备份数据导入到其他的表空间(只设置默认表空间无效) 相关文章:
    • 爱情文章
    • 亲情文章
    • 友情文章
    • 随笔
    • 哲理
    • 励志
    • 范文大全