`
sd8089730
  • 浏览: 258619 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

Oracle远程复制表到本地

 
阅读更多
问题2 SQL*Plus Copy命令
问题描述
怎样在SQL*Plus中实现不同的表之间的数据复制,不论是本地的还是远程的?
问题分析
在SQL*Plus中的copy命令,可以完成远程数据库、本地数据库或Oracle数据库与非Oracle数据库之间的数据复制。其性能与导入/导出相同。
copy的基本命令格式:

copy {from source_database |to destination_database}{append|create|insert|replace}destination_table[(column,column,column,...)]using<source_select_statement>    
 

其中数据库连接使用如下格式:
username/password\]@connect_identifier
在数据复制时,复制支持的数据类型为:char、date、long、number、varchar2。原理如图3-9所示。

 
图3-9 SQL*Plus Copy原理图 

SQL*Plus Copy命令可在不同数据库之间,以及同一个数据库内的不同模式的表之间复制数据。
  •从远程数据库复制数据到本地数据库。
  •从本地数据库(默认)复制数据到远程数据库。
  •从一个远程数据库复制数据到另一个远程数据库。
通常,copy命令用于Oracle数据库与非Oracle数据库之间复制数据。如果在Oracle数据库之间复制数据,应该使用create table as 和insert的SQL命令。
•对目标表的控制方式有4种类型:replace、create、insert和append。
  •replace子句指定了被创建的表名。如果目标表已存在,则删除并用包含复制数据的表替代。若不存在,则创建目标表。
  •使用create子句可避免覆盖已存在的表。若目标表已存在,则copy报告一个错误;若不存在,则创建目标表。
  •insert插入数据到已存在的表。
将查询到的行插入到目标表,如果目标表不存在,copy返回错误。当使用insert时,using子句必须为目标表的每个列选择对应的列。
  •append是将查询到的行插入到目标表。如果不存在,则创建目标表并插入。
问题解答
首先应注意的是:

1)copy是SQL*Plus命令,不是SQL命令,在语句最后不必加分号;

2)由于多数copy命令比较长,所以,在分行时每行末尾必须有续行符(-),最后一行不加。
具体步骤如下。
步骤1:使用using子句指定一个查询,将其查询结果数据复制到本地数据库的当前模式下employee表中。例如:

copy from hr/hrd@rensh-replace employee-using select last_name,salary-from emp_details_view-where department_id=30
 

步骤2:使用create从一个远程数据库复制数据到本地数据库。

copy from hr/<your_password>@bostondb-create empcopy-using select*from hr    
 

步骤3:为其他用户复制数据。

copy from hr/hr@dbora-create job-using select*from renbs.jobs   
 

以用户hr连接到数据库dbora,将renbs模式的jobs表复制到当前本地数据库。
步骤4:在同一个数据库中可将一个模式的表复制到另一个模式中。同样必须指定用户口令和数据库服务名。

copy from hr/password@mydatabase-insert employee_copy2-using select * from employee_copy
 

步骤5:在同一个远程数据库中复制表,必须是关键字from和to中包含相同用户名和数据库服务名。

copy from hr/password@daliandb-to hr/password@daliandb-insert employee_copy2-using select * from employee_copy  
 

 

分享到:
评论

相关推荐

    oracle自动备份、Oracle远程备份

    Oracle远程备份主要涉及到将备份数据存储在远离数据库服务器的地方,以防止本地故障: 1. **网络备份**:通过网络将备份数据传输到远程服务器或云存储。这可能涉及使用RMAN的网络备份选项,或者使用NFS、SMB等网络...

    本地java实现远程oracle备份还原

    5. **上传备份文件**:当需要将备份还原到远程Oracle数据库时,需要将本地的DMP文件上传回远程服务器。同样,使用Java的网络和I/O类可以实现文件的上传。 6. **执行还原**:最后,使用`IMPDP`命令在远程服务器上...

    使用plsql连接远程oracle(不安装本地oracle客户端)

    ### 使用PL/SQL连接远程Oracle数据库(无需安装本地Oracle客户端) 在进行远程Oracle数据库连接时,经常遇到的一个挑战是如何在没有本地Oracle客户端的情况下实现这一目标。本文将详细介绍如何使用PL/SQL Developer...

    oracle的数据库本地客户端

    这个客户端包含了必要的库文件,使得应用程序可以连接到远程Oracle数据库,执行SQL查询和PL/SQL程序。 在描述中提到,由于Maven仓库通常不包含Oracle官方的JDBC驱动(ojdbc),因此在Java项目中,我们不能像导入...

    Oracle高级复制技术详解

    1. **分布式数据库技术**:这是数据复制的基础,使得数据可以在多台服务器之间共享,实现远程数据访问和本地存取。设计分布式数据库时,需要考虑应用完整性、复杂性、性能、可用性和响应时间等因素,从而决定采用...

    plsql同时访问本地oracle数据库和远程oracle数据库配置方法(亲测有效).docx

    ### PL/SQL同时访问本地Oracle数据库与远程Oracle数据库配置详解 #### 一、软件版本及操作系统介绍 在本文档中,我们将详细介绍如何配置PL/SQL Developer以实现对本地Oracle数据库和远程Oracle数据库的同时访问。...

    oracle配置、远程备份还原教程.docx

    - 主要通过复制数据库文件到备份介质上实现。 - **热备份**: - 允许在数据库运行时进行备份,适用于生产环境中不间断的数据保护。 - 需要注意的是,热备份需要开启归档模式。 - **RMAN备份**: - RMAN (Recovery ...

    DB2数据库与Oracle数据库之间远程复制

    DB2数据库与Oracle数据库之间远程复制 DB2 联合数据库是分布式数据库管理的特殊形式,在联合数据库系统中,可以通过一个 SQL 命令来发出对多个数据源的命令请求。DB2 与非 DB2 数据库之间进行复制之前,首先需要...

    远程Oracle数据库连接

    在现代企业环境中,数据的分布往往跨越多个地理位置,因此,实现本地系统与远程Oracle数据库的有效连接变得至关重要。本文将深入解析如何建立本地数据与远程Oracle数据库之间的连接,通过一系列详细的操作步骤,帮助...

    本机不安装Oracle客户端,使用PL/SQL Developer连接远程数据库

    2. **TNSNames.ora**:如果远程数据库使用了TNSNames服务定义,那么可能需要配置本地的TNSNames.ora文件来指定如何连接到远程数据库。虽然我们不安装Oracle客户端,但可以在PL/SQL Developer中手动输入连接信息,...

    不用安装oracle客户端也可以用plsql连接远程oracle

    即使本地没有Oracle客户端,只要正确配置,也可以连接到远程Oracle数据库。 - 配置的关键在于`tnsnames.ora`文件,这个文件定义了Oracle网络服务的名称和连接参数。文件中的`ORCL`条目需要更新为远程数据库的实际...

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

    异步复制允许本地交易独立完成,不等待远程复制,适合长距离传输,但存在数据延迟风险。 - 按站点类型,复制分为多主控站点复制(所有站点平等交流)、物化视图复制(主控站点到物化视图站点的单向或双向复制)和...

    通过Oracle的流复制实现数据库之间的同步

    队列管理器可以是本地的,也可以是远程的,支持数据的异步传输。 3. **捕获进程**:负责监控指定模式下的数据变化,并将这些变化转换为LCR,存储到队列中。 4. **传播进程**:读取队列中的LCR,根据预定义的规则将...

    oracle 远程计算机导出,导入数据

    ### Oracle远程计算机导出与导入数据详解 #### 标题:Oracle远程计算机导出,导入数据 #### 描述:Oracle远程计算机导出,导入数据 #### 标签:Oracle、远程计算机、导出、导入数据 #### 知识点解析 在Oracle...

    基于Oracle数据复制技术的研究与应用.pdf

    例如,它可以用于实现灾难恢复,当本地数据库发生故障时,应用程序能够无缝切换到远程数据库,保证服务不间断。此外,数据复制还可以支持远程办公、多数据中心部署和数据整合等需求。 5. **实现方法** 在实际应用...

    远程连接oracle数据库

    可以从虚拟机上的Oracle安装目录中复制tnsnames.ora到用户机,或者在Instant Client的安装路径下新建`network`文件夹和tnsnames.ora文件,然后进行配置。 远程连接Oracle服务器主要有两种方法: 1. 使用sqlplus。...

    连接其他oracle数据库信息创建本地视图

    数据库链接允许我们在一个Oracle实例中创建对另一个Oracle实例的逻辑连接,从而能够查询远程数据库中的表或视图,就像它们是本地对象一样。这种方式不仅提供了实时的数据共享,还避免了数据复制带来的资源消耗。 ...

Global site tag (gtag.js) - Google Analytics