部分功能迁移到新服务器----如何在新服务器上建表和复制数据

iamlaosong文

1、建表

当我们在数据库服务器上建表的时候,可以先建表结构,再插入数据,例如:

create table song_temp (code varchar2(20),descrip varchar2(100)) tablespace emsdata ;

插入数据:
insert into song_temp (code,descrip) values ('2300','合肥市');
插入查询结果:
insert into song_temp select city_code,city_name from tb_county;
这种方式的好处是查询字段和插入字段名称可以不同,如果相同,可以一次性完成建表和查询,这是我们最喜欢的方法:
create table song_tmp tablespace emsdata as select city_code,city_name from tb_county;
对于非本机的数据表查询可以通过数据连接完成,用这个方法可以轻松复制另一台服务器上面的表

create table tb_city_zd tablespace emsdata as select * from tb_city_zd@dlink_g7;

注意:如果使用默认表空间,上述语句tablespace emsdata可以省略。


2、转移

当我们用一台新服务器代替老服务器上部分功能时,会将部分表和存储过程转移到新服务器,这些处理放到新服务器上之后,会大大缓解老服务器的压力。将数据表迁移到新服务器后,为了不影响原来那些程序的访问,需要在老服务器增加一个数据连接到新服务器,然后在老服务器上创建同义词SYNONYM。由于同义词采用和原表相同的名称,这样就保证了原来的访问程序不变。

CREATE SYNONYM TB_EVT_DLV_QITA FOR TB_EVT_DLV_QITA@DATALINK_G9;

迁移存储过程时如果不知道需要哪些表格,可以先使用PL/SQL Developer编译,系统会跳到不存在的表名处,复制此表名,替换下面语句中的表名创建表即可,反复操作就可以创建所有缺失的表:

create table tb_city_zd tablespace emsdata as select * from tb_city_zd@dlink_g7;

上面语句简便的同时将所有的数据也复制过来,如果不需要数据或者需要部分数据,可以加上查询条件,例如:

create table tb_city_zd tablespace emsdata as select * from tb_city_zd@dlink_g7 where 1=0;

create table tb_city_zd tablespace emsdata as select * from tb_city_zd@dlink_g7 where prov_name='安徽';


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值