扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
怎么在oracle库复制数据到另外一个oracle库
成都做网站、成都网站制作,成都做网站公司-成都创新互联公司已向1000+企业提供了,网站设计,网站制作,网络营销等服务!设计与技术结合,多年网站推广经验,合理的价格为您打造企业品质网站。
: 1、exp导出表,然后imp导入表; 2、两个数据库之间连接使用DBLink,在其中一个数据库里就可以访问另一个数据库的表了。
你是要复制出来还是复制到另外一个表结构:
复制的话直接sql语句 :1. 复制表结构及其数据: create table table_name_new as select * from table_name_old
2. 只复制表结构: create table table_name_new as select * from table_name_old where 1=2; 或者: create table table_name_new like table_name_old
3. 只复制表数据:如果两个表结构一样:insert into table_name_new select * from table_name_old 如果两个表结构不一样:insert into table_name_new(column1,column2...) select column1,column2... from table_name_old
导出来的话指令不写了、直接百度就有了。
在DBA的日常工作中,经常需要重装或在新机器上安装Oracle,但每次安装所浪费的时间、精力以及失败的挫折都在考验着DBA的承受能力,本文着重介绍了一个简单的复制和迁移Oracle数据库的方法,详细内容请参考下文。
复制迁移的步骤如下:
◆1、首先,复制原Oracle数据库的安装目录到新机器或系统中的安装目录,注意目录要一致,盘符也要一致。
◆2、假如Oracle的安装目录不在Program Files系统文件夹下,我们需要把原系统中的Program Files文件夹下的Oracle目录也复制到新系统的Program Files文件夹中去。
◆3、导出原系统中的Oracle注册表信息,主要注册信息如下:
A. HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE
B. HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services 下有关Oracle的所有键,通常包括以下9个:
/OracleMTSRecoveryService
/OracleOraHome92Agent
/OracleOraHome92ClientCache
/OracleOraHome92HTTPServer
/OracleOraHome92PagingServer
/OracleOraHome92SNMPPeerEncapsulator
/OracleOraHome92SNMPPeerMasterAgent
/OracleOraHome92TNSListener
/OracleServiceORA8
◆4、注意:有多少个数据库,注册表服务键下的OracleServiceXXX就会有多个。其中最主要的有监听服务和数据库服务,即OracleOraHome92TNSListenerXXX和OracleServiceXXX。
◆5、将导出的所有注册表的信息在新的系统中导入(注册)。
◆6、设置系统环境变量,打开"我的电脑"的"属性"界面,在"高级"而点击"环境变量"进入设置,找到[Path]系统变量项目,点"编辑",在变量值的输入框的最后,加入";ORACLE的安装目录"。
◆7、最后我们需要进入 C:/Documents and Settings/All Users/Start Menu/Programs下把 Oracle - OraHome92 和 Oracle Installation Products 两个菜单文件夹也复制到新系统中,此时,就和新安装的一样了。重启系统后,成功完成。
1、使用plsql连接上数据库,展开【Tables】菜单项,下面出现的就是数据库表。
2、在数据库表tblTest上面点击鼠标右键,选择【Query data】,此项的目的是查询这张数据库表的数据。
3、点击完成【Query data】之后,右侧会出现一个SQL语句的窗口,默认有一条【select * from 表名】的sql语句,下方还有一个列表,展示这张表中的已有数据。
4、然后写一条insert插入的SQL语句,写完之后,选中这条SQL,点击左上角的【次轮状】图标,然后,SQL语句下方会出现【1 row inserted in xx seconds】,表示语句执行成功。此时数据还没有真正写入数据库 insert插入sql格式:insert into 表名(字段1, 字段2, 字段n) values(值1, 值2, 值n)。
5、在Oracle数据库中,对数据的变更还需要点击【Commit】按钮,也就是左上角向下箭头的图标,如果不点击这个按钮,数据其实不会真正存入数据库。点击【Commit】按钮后,会弹出一个Confirm窗口,此时点击【Yes】就将数据写入数据库,点击【No】则不提交到数据库。
insert into 新表(字段1,字段2,字段3) select 字段1,字段2,字段3 from 旧表,commit;确定新表里没被插入的字段有默认值或者不为空,否则报错;现在在另一个表中建一个字段(null),然后在企业管理器里用数据导出,把其他字段的钩选空,就那个要复制的字段,这样导出就可以了,只不过源数据库和目标数据库是同一个数据库而已。
拓展回答:不同的数据库语法不同(SQL Server和Oracle为例),且复制包括目标表已存在和目标表不存在的情况;Oracle应用产品包括财务,供应链,制造,项目管理、人力资源和市场与销售等150多个模块,荣获多项世界大奖,现已被全球近7600多家企业所采用;由于在电子商务方面的杰出表现,Oracle公司在美国Mongan Stanley公司最新公布的权威性全球企业1000强中,从去年的第122名一跃成为第13名,成为全球第二大独立软件公司和最大的电子商务解决方案供应商。
可用如下方法复制:
如果新表不存在:
比如有一张表叫test,现在要复制表结构及表内数据,可执行代码:
create table test as select * from test;
这样就把表结构连同数据一起复制了。
如果表存在,可用以下代码:
insert into test1 select * from test;commit;
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流