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

   我们在导入一个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

时间: 2024-07-28 15:23:25

Oracle备份数据导入到其他的表空间(只设置默认表空间无效)的相关文章

关于 Oracle 的数据导入导出及 Sql Loader (sqlldr) 的用法

在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法: 1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中2. 建立数据库间的 dblink,然后用 create table B as select * from A@dblink where ...,或 insert into B select * from A@dblink where ...3. exp A 表,再 imp 到 B 表,exp 时可加查询条件4. 程序

mysql表关联只取关联表中最近一条数据

问题描述 mysql表关联只取关联表中最近一条数据 表A{id,userId,logTime} 表B{id,userId,departmentId,updateTime} 表A为数据记录 表B相当于历史记录表(userId在updateTime时间之前的departmentId) 现在表A与表B关联 但是只能让表B中符合条件的最近一记录关联上 (也是updateTime在logTime之前并且最近的一条) 我是这么做的 SELECT A.id,B.userId,B.departmentId FR

注册表Win2000安全设置—注册表使用全攻略之十六_注册表

利用注册表Win2000安全设置-注册表使用全攻略之十六 注:更改的注册表项目位于HKEY_CURRENT_USER中. 如果针对某一用户,更改位于HKEY_USERS\(S-1-5-21-746137067-507921405-1060284298-500)(用户代码)下的相应键值. 1. 防止他人获取对Web页面的访问信息 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs用于保存IE历史记录的,保存最近浏览的25

js 提交form表单和设置form表单请求路径的实现方法_javascript技巧

如下所示: form表单ID:postform 设置表单请求url document.postform.action = "SaveReturnInfo"; 提交form表单 document.getElementById("postform").submit(); 以上就是小编为大家带来的js 提交form表单和设置form表单请求路径的实现方法全部内容了,希望大家多多支持~ 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,

将Oracle的数据导入EXCEL中的方法

在当今信息化高速发展的时代,日常的工作中,用户经常遇到要将EXCEL文件中的数据和ORACLE数据库中的数据互倒的问题,实现对实时数据的操作,而可查阅到这方面的资料并不多.若需将ORACLE信息系统中的数据倒出来,并在此基础上利用EXCEL对其进行分析整理,笔者在工作中利用ODBC将数据倒入到EXCEL文件中,对初学者来说,效果不错,在这里给大家作一介绍. 所谓ODBC是Open Database Connectivity 的缩写,就是开放式数据库互连.利用ODBC实现动态数据交换的前提条件很简

导入导出 Oracle 分区表数据

--**************************** -- 导入导出 Oracle 分区表数据 --****************************         导入导入Oracle 分区表数据是Oracle DBA 经常完成的任务之一.分区表的导入导出同样普通表的导入导出方式,只不过导入导出需要考 虑到分区的特殊性,如分区索引,将分区迁移到普通表,或使用原始分区表导入到新的分区表.下面将描述使用imp/exp,impdp/expdp导入导出 分区表数据.       有关分

探讨ORACLE数据库的数据导入方法

oracle|数据|数据库 前言每个数据库管理员都会面临数据导入的问题,这有可能发生在数据库的新老移植过程中,或者是在数据库崩溃后的恢复重建过程中,还有可能是在创建测试数据库的模拟环境过程中,总之作为一名合格的数据库管理员,你应该做好接受各种数据导入请求的技术储备,同时还要尽量满足人本能的对导入速度的苛求.本文仅针对 Oracle 数据库所提供的加速数据导入的各种特性和技术进行探讨,其中的一些方法也可以转化应用于其他数据库.以下七种数据导入方法哪个最适用需要针对具体情况具体分析,我也附带列举了影

Java+XML将数据导入SQL Server中

在开始学习XML和数据库编程时,大家都对一大堆的文档和资料,无从入手.作者在工作中,正好要用到了这些,就手头的一个程序进行整理,其功能很简单,用Java语言从access数据库中,把一些数据导入到SQL数据库中. 原Access数据库表结构: 表:production 产品型号 字符串型 产品编号 零件图号 字符串型 零件编号 图号 字符串型 工具编号 SQL Server中数据表结构: Project 产品表 Id int 标识 Number varchar64 编号 Product 零件表

mysql-mySql多表查询,有中间表和外键关联

问题描述 mySql多表查询,有中间表和外键关联 select a.id,a.name, sum(case when d.STATUS=0 then 1 else 0 end) as 待处理, sum(case when d.STATUS=1 then 1 else 0 end) as 带跟进, sum(case when d.STATUS=2 then 1 else 0 end) as 已结束, sum(case when d.STATUS=3 then 1 else 0 end) as 已完