重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如有两张相同表结构的表:
创新互联公司主营汉川网站建设的网络公司,主营网站建设方案,成都app软件开发,汉川h5小程序设计搭建,汉川网站营销推广欢迎汉川等地区企业咨询
test表:
test1表:
现在要找出两张表有差异的数据,需要用minus及union的方式查找出来,语句如下:
select t1.* from
(select * from test
minus
select * from test1) t1
union
select t2.* from
(select * from test1
minus
select * from test) t2;
查询结果如下,红框部分的数据就是有差异的内容。
(1)oradata:打开这个文件夹,里面是一个以数据库名(而不是实例名)命名的文件夹,我们喜欢将其命名为“orcl”。把orcl打开,看到的文件就是Oracle数据库的大部分内容了,也是DBA需要管理的东西。这些文件可以分成三类:
*.ctl:控制文件 (至少一个,一般是三个)
*.dbf:数据文件(分为系统数据文件和用户数据文件)
*.log:在线重做日志文件(至少两个,默认安装是三个,Oracle9i 下为 100M 大小)
我们在后继课程中会详细讲述这些文件的特性和用处。
如果两个数据库可以建立dblink,那么通过dblink就可以像在一个数据库一样去对比。
如果不能建立dblink,那么就只能导出两行表,通过spool导出就可以。然后通过系统级别的命令去比对。我记得linux是有比较两个文件不同行的功能的。
如果认为两个都导出比较麻烦,那就导出一个,在导入另外一个库(注意变换名字,否则表明重复就麻烦了),然后再对比。
如有两张相同表结构的表:
test表:
test1表:
现在要找出两张表有差异的数据,需要用minus及union的方式查找出来,语句如下:
select t1.* from
(select * from test
minus
select * from test1) t1
union
select t2.* from
(select * from test1
minus
select * from test) t2;
查询结果如下,红框部分的数据就是有差异的内容。
方法一、用PL/SQL DEVELOPER 来比较
1.登陆数据库A.
2.打开TOOLS菜单下的Compare User Objects
3.点Target Session,登陆数据库B
4.执行Compare
5.返回的是所有不同的对象以及更新语句[@more@]方法二、
1、对需要比较的表进行分析(可全表可抽样,自选),否则统计信息不准;
2、通过dba_tab_col_statistics表的column_name字段进行比较
select tz.table_name ,tz.column_name from dba_tab_col_statistics tz
WHERE tz.owner = 'BSS' AND TZ.TABLE_NAME LIKE 'BSS_%'
and (TZ.TABLE_NAME ,TZ.COLUMN_NAME) not in(
select TZT.TABLE_NAME ,TZT.COLUMN_NAME
from dba_tab_col_statistics@tz_bsstzt tzt
WHERE tzt.owner = 'BSS' AND TZT.TABLE_NAME LIKE 'BSS_%')