因为买在一台新服务器,把老服务器中的所有数据用Exp和Imp命令全部迁移过来了。
有没有什么办法,可以看两个库的结构和数据有差别,我现在只是简单查了下,数据表和视图等的个数是一致的,但是没办法判断数据量是否有差别?本来我想用下面的存储过程来把整个SA用户的记录数,统计出来来比较的,但是这个存储过程也执行不了,因为存储过程不认dba_tables这样的表?
record_count number;
sum_record number;
a_tabel_name varchar2(200);
begin
sum_record:=0;
for mycursor in (select table_name from dba_tables where owner='SA' order by table_name) loop
select count(1) into record_count from mycursor.table_name ;
sum_record :=(sum_record-record_count);
end loop;请问还有没有其他什么办法来检查数据丢失与否?或者这样的储存过程该如何改写?
有没有什么办法,可以看两个库的结构和数据有差别,我现在只是简单查了下,数据表和视图等的个数是一致的,但是没办法判断数据量是否有差别?本来我想用下面的存储过程来把整个SA用户的记录数,统计出来来比较的,但是这个存储过程也执行不了,因为存储过程不认dba_tables这样的表?
record_count number;
sum_record number;
a_tabel_name varchar2(200);
begin
sum_record:=0;
for mycursor in (select table_name from dba_tables where owner='SA' order by table_name) loop
select count(1) into record_count from mycursor.table_name ;
sum_record :=(sum_record-record_count);
end loop;请问还有没有其他什么办法来检查数据丢失与否?或者这样的储存过程该如何改写?
在oracle imp后,看看有没有错误提示,然后,随便抽检两个表做测试就可以了。
exp + imp 应该不会丢掉表的,检查一下输出的log就差不多了,如果没有错误提示的话
比较数据库相同,这个范围有点大吧!
redo和archive不同算吗?
楼主说的还是数据库的表和试图之类的对象是不是一样吧?
可以用all_objects先比出所有的数据库对象是不是都一样。
然后再想办法(比如all_tab_cols)比较每个字段的类型、大小和名字是不是相同吧!
tools->compare user objects对指定的用户进行全部对象的比较