`

(转) oracle复制一个用户的对象给其他用户

 
阅读更多

首先要学会如何查看一个用户拥有的对象。

1,可以在plsql中一这个用户登陆,在object面板中就可以看到tables,Indexes等,这些都是Oracle对象,属于这个用户的。

2,可以造object面板中找到users,然后再下面有Objects,Object privileges,System privileges,Role grants。这里面再点开Objects就能看到

属于这个用户的对象。

3,使用sql语句:

 

[html] view plain copy
 
  1. select owner,object_name,object_type from dba_objects t  
  2.  where owner='CM'   
  3.   order by t.OBJECT_TYPE  


当我们创建一个新的用户时,这个用户没有自己的对象(在tables里没有任何表)。

 

 

[html] view plain copy
 
  1. /*-- Create the user   
  2. create user cognos  
  3.  identified by cognos  
  4.   default tablespace CC_DATA  
  5.   temporary tablespace TEMP;  
  6. -- Grant/Revoke role privileges   
  7. grant connect to cognos;  
  8. grant dba to cognos;  
  9. grant resource to cognos;  
  10. -- Grant/Revoke system privileges   
  11. grant unlimited tablespace to cognos;*/  
  12.   
  13.   
  14. select owner,object_name,object_type from dba_objects t  
  15.  where owner='COGNOS'   
  16.   order by t.OBJECT_TYPE  


从此看出,oracle每个用户有自己的对象(例如表,索引,触发器等),这样管理数据的。

 

比如,我们使用新用户创建一张表HAHA,然后再换个用户cm登陆,查询这张表,

就会报错:ORA-00942:表或视图不存在。

在同一个实例下,这个表肯定是存在的,为什么查询就说不存在呢?因为在查询表时,默认前面都会有schema。

(schema也就是方案,有的叫模式,
其实一个schema对应一个用户,但注意schema和用户不是一个概念。在逻辑上一个schema表示一个用户拥有的对象。

好比,我有的东西是一个schema,我自己是一个user。你想要看我的东西,就需要指明看“我”的东西)。

一个用户对其他用户的对象进行操作,是需要权限的。

 

那么cognos想要查cm的表,就需要指明schema。

 

[html] view plain copy
 
  1. select * from cognos.HAHA t  


在以上理解了用户,对象,schema之后,我们开始解决问题:拷贝一个用户的对象给另外一个用户。

 

语法例子

导出: exp cm/cm owner=cm file=c:\usercm.dmp rows=n               ---    rows=n  表示不导出数据

导入: imp cm/cm fromuser=cm touser=cognos file=c:\usercm.dmp

实例打印:

 

[html] view plain copy
 
  1. C:\Users\Administrator>exp cm/cm owner=cm file=c:\usercm.dmp rows=n  
  2.   
  3. Export: Release 11.1.0.6.0 - Production on 星期一 4月 1 16:24:51 2013  
  4.   
  5. Copyright (c) 1982, 2007, Oracle.  All rights reserved.  
  6.   
  7.   
  8. 连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production  
  9. With the Partitioning, OLAP, Data Mining and Real Application Testing options  
  10. 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集  
  11. 注: 将不导出表数据 (行)  
  12.   
  13. 即将导出指定的用户...  
  14. . 正在导出 pre-schema 过程对象和操作  
  15. . 正在导出用户 CM 的外部函数库名  
  16. . 导出 PUBLIC 类型同义词  
  17. . 正在导出专用类型同义词  
  18. . 正在导出用户 CM 的对象类型定义  
  19. 即将导出 CM 的对象...  
  20. . 正在导出数据库链接  
  21. . 正在导出序号  
  22. . 正在导出簇定义  
  23. . 即将导出 CM 的表通过常规路径...  
  24. . . 正在导出表                     CDB_BAS_CUS  
  25. . . 正在导出表                      CDB_BRANCH  
  26. . . 正在导出表                     CDB_CUS_ACC  
  27. . . 正在导出表             CDB_MOBILE_TEL_AREA  
  28. . . 正在导出表                    CDB_TEL_AREA  
  29. . . 正在导出表                 CDB_TEL_FEE_SUM  
  30. . . 正在导出表                CDB_TEL_OPER_DIS  
  31. . . 正在导出表                     CDB_TRA_RET  
  32. . . 正在导出表                    IVR_CALL_LOG  
  33. . . 正在导出表                IVR_CALL_LOG_HIS  
  34. . . 正在导出表                   IVR_NODE_NAME  
  35. . . 正在导出表         IVR_TRAN_CODE_TRANSLATE  
  36. . . 正在导出表                IVR_TRAN_LOG_HIS  
  37. . . 正在导出表                     IVR_TRA_LOG  
  38. . . 正在导出表                         LDBCOLS  
  39. . . 正在导出表                  PCI_EXSYS_INFO  
  40. . . 正在导出表                  PCI_PARAM_INFO  
  41. . . 正在导出表                    SIF_IVR_MENU  
  42. . . 正在导出表                 TRANS_PATCH_SUM  
  43. . . 正在导出表                T_AC_RECORD_INFO  
  44. . . 正在导出表                 T_DIS_CODE_NAME  
  45. . 正在导出同义词  
  46. . 正在导出视图  
  47. . 正在导出存储过程  
  48. . 正在导出运算符  
  49. . 正在导出引用完整性约束条件  
  50. . 正在导出触发器  
  51. . 正在导出索引类型  
  52. . 正在导出位图, 功能性索引和可扩展索引  
  53. . 正在导出后期表活动  
  54. . 正在导出实体化视图  
  55. . 正在导出快照日志  
  56. . 正在导出作业队列  
  57. . 正在导出刷新组和子组  
  58. . 正在导出维  
  59. . 正在导出 post-schema 过程对象和操作  
  60. . 正在导出统计信息  
  61. 成功终止导出, 没有出现警告。  
  62.   
  63. C:\Users\Administrator>imp cm/cm fromuser=cm touser=cognos file=c:\usercm.dmp  
  64.   
  65. Import: Release 11.1.0.6.0 - Production on 星期一 4月 1 16:28:03 2013  
  66.   
  67. Copyright (c) 1982, 2007, Oracle.  All rights reserved.  
  68.   
  69.   
  70. 连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production  
  71. With the Partitioning, OLAP, Data Mining and Real Application Testing options  
  72.   
  73. 经由常规路径由 EXPORT:V11.01.00 创建的导出文件  
  74. 已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入  
  75. . 正在将 CM 的对象导入到 COGNOS  
  76. 成功终止导入, 没有出现警告。  
  77.   
  78. C:\Users\Administrator>  

 

 

这时新用户和老用户有的对象一样,但是是拷贝了另外一份,而不是共享通一份,各自的对象互不影响。

在倒数据的时候,大多情况都是导表,但是有些对象是必须也导入的,比如触发器,索引等。当然我们可以把原来的对象的sql拷出来,

在用新用户登陆后,把sql执行一遍就可以。效果也是一样的。但是如果对象很多,你就觉得工作量是个天文数字。

这样导用户的对象,直接就搞定了。是不是很方便?

 

 

 

REFS:http://blog.csdn.net/lushuaiyin/article/details/8747651

分享到:
评论

相关推荐

    ORACLE数据库复制

    复制技术将数据从一个数据库复制到另一个物理位置的数据库,这样查询和统计操作可以在独立的服务器上进行,减轻主数据库的压力,确保关键业务不受影响。 Oracle提供了三种复制技术:**高级复制(Advanced ...

    oracle高级复制应用实例

    1. **物化视图复制**:物化视图是Oracle高级复制中的核心组件,它是一个预先计算好的查询结果,存储在目标数据库中。物化视图可以实时或定时更新,以反映源数据库中的最新数据。在配置物化视图复制时,需要确保物化...

    Mysql的表对象Sql语句转换单表,转换成Oracle创建表sql

    标题提到的"‘Mysql的表对象Sql语句转换单表,转换成Oracle创建表sql’"是一个处理这种转换的工具或过程。 首先,让我们理解这个过程的一般步骤: 1. **数据迁移需求分析**:在开始转换之前,了解源MySQL表的结构...

    oracle goldengate11支持的复制对象列表

    Oracle GoldenGate是Oracle公司的一款高级数据复制解决方案,主要用于实现数据库的实时或近实时的数据同步,以支持灾难恢复、数据整合和大数据分析等场景。在Oracle GoldenGate 11版本中,它支持多种数据类型的复制...

    oracle数据库复制软件白皮书

    - 高可用性和容灾:通过复制,DDS可以创建一个与源数据库实时同步的目标数据库,用于故障切换或灾难恢复。 - 数据过滤和转换:DDS支持对SQL语句的过滤和转换,允许根据业务需求定制复制内容。 2. **DDS系统结构**...

    SqlServer表结构转Oracle

    "SqlServer表结构转Oracle"是一个专注于帮助用户将SQL Server的表结构转换为Oracle数据库系统的工具。这个工具的主要目标是确保在不丢失任何重要信息的情况下,实现数据库结构的平滑过渡。 首先,我们来详细了解SQL...

    Oracle 数据库对称复制实施手册

    - 对称复制需要一个额外的系统表空间,其大小至少为 15MB。 - 这个额外的空间主要用于存储复制过程中产生的元数据。 2. **回滚段(Rollback Segment)**: - 应该配置一个比正常情况下大两倍的回滚段。 - 增加回滚...

    详解Oracle分布式系统数据复制技术

    Oracle分布式系统的数据复制技术是一种关键的数据库管理策略,旨在提高数据的安全性和可用性,同时优化性能。这种技术涉及将数据库中的数据复制到不同地理位置的多个站点,以实现数据的本地访问,减少网络负担,增强...

    玩转Oracle的一系列教程(视频+电子书)

    Oracle数据库是全球领先的企业级关系数据库管理系统,广泛应用于金融、电信、制造、零售等多个领域。它以稳定性、安全性、高可用性而著称,并支持大规模并发数据处理。本文将从Oracle数据库的学习资源、架构特点、...

    oracle 高级复制操作步骤,花了很久才研究透彻。

    为了自动化复制过程,可以创建一个时间表来定期执行复制任务。 1. **用repadmin身份登录masterdef数据库**: ```sql -- 创建复制时间表 CREATE REPLICATION SCHEDULE schedule_name MINUTES = 1; ``` 2. **用...

    oracle流复制技术的数据库容灾备份应用研究

    Oracle Sreams 流复制技术是一种数据库复制技术。利用数据流可实现数据库 之间或数据库内部的数据和事件的共享。Oracle Streams 是提高数据库可用性, 构建灾难备份系统以及实现数据库分布的理想的技术解决方案。...

    Oracle dmp文件导出导入(还原)到不同的表空间和不同的用户操作

    通过上述步骤,可以从一个现有的Oracle环境中导出DMP文件,并将其导入到不同的表空间和不同的用户下,从而实现数据的有效迁移和管理。这种方式在进行数据迁移、测试环境搭建等方面非常实用,能够有效避免数据丢失和...

    sql数据库与oracle之间的转换以及导入到出

    这里假设我们有一个SQL数据库,我们需要将其数据转换为Oracle兼容的格式。 1. 数据导出: 在SQL数据库中,导出数据通常通过数据库管理工具完成,比如在MySQL中使用`mysqldump`命令,SQL Server则有`bcp`或`sql...

    Oracle分布式系统数据复制技术

    物化视图复制有一个主控站点和一个或多个物化视图站点,提供特定时间点的数据拷贝;混合复制结合两者,适用于复杂业务场景。 数据复制的特点包括增强数据安全性和可用性,提供容错机制,通过本地访问数据提高性能,...

    plsql下不同用户数据导入

    1. 在导出数据时,需要勾选 Include Privileges 选项,以便包括对象特权的授予其他用户和角色。 2. 在导出数据时,需要勾选 Include Storage 选项,以便包括存储信息,例如表空间名称和初始大小。 3. 在导出数据时,...

    -玩转oracle实战教程(韩顺平

    - 视图: 基于一个或多个表的虚拟表。 - 索引: 加速数据检索速度的结构。 - 存储过程: 预编译的 SQL 代码集合。 #### 七、Oracle 数据库管理最佳实践 - **性能监控**: - 使用 Oracle 提供的工具来监控数据库...

    oracle转SQL Server方法收集

    ### Oracle转SQL Server方法详解:运用SSMA工具实现高效迁移 #### 一、引言 随着企业业务的发展和技术栈的变化,数据库迁移成为了一个常见的需求。本文将详细介绍如何使用Microsoft SQL Server Migration ...

    oracle oe sh pm hr 用户备份

    而逻辑备份则是通过工具如`expdp`(数据泵导出)或`exp`(传统导出)来导出数据库对象,例如表、视图、存储过程等,形成一个可导入的文件,如本例中的`.dmp`文件。 在本案例中,`pmshoehrexp.dmp`文件是使用Oracle...

Global site tag (gtag.js) - Google Analytics