Oracle不同数据库间对比分析脚本
2006-08-05 11:51:19 来源:WEB开发网二、对比两个不同模式下表定义的差异
运行方法和前面第一个脚本一样,这里不再详述。下面是一个运行实例结果:
对象属主(模式): db_zgxt
第一个实例的数据库联接名称 (包括 @):@ora_cx
第一个实例的数据库联接名称 (包括 @):@ora_zs
附:PL/SQL程序脚本清单: SET PAGESIZE 60
SET LINESIZE 110
SET VERIFY OFF
SET FEEDBACK OFF
SET PAUSE OFF
ACCEPT obj_owner PROMPT '对象属主(模式): '
ACCEPT inst_1_dblink PROMPT '第一个实例的数据库联接名称 (包括 @):'
ACCEPT inst_2_dblink PROMPT '第一个实例的数据库联接名称 (包括 @):'
clear breaks
TTITLE off
SET HEADING off
COLUMN datetime noprint new_value datetime
COLUMN inst_code1_name noprint new_value inst_code1_name
COLUMN inst_code2_name noprint new_value inst_code2_name
SELECT TO_CHAR(SYSDATE,'MM/DD/YY') datetime FROM DUAL
/
SELECT global_name inst_code1_name FROM global_name&inst_1_dblink
/
SELECT global_name inst_code2_name FROM global_name&inst_2_dblink
/
SET feedback ON
SET HEADING ON
TTITLE COL 30 '对象比较结果报告单' -
COL 63 '日期: ' datetime -
SKIP 1 COL 68 '页: ' sql.pno -
SKIP 1 COL 10 '属主: ' obj_owner -
SKIP 1 CENTER '&inst_code1_name 和 &inst_code2_name 之间表定义的差别明细' -
SKIP 2
COLUMN table_name format a25 HEADING '表名';
COLUMN column_name format a25 HEADING '列名';
COLUMN data_type format a8 HEADING '数据类型';
COLUMN data_length format 999 HEADING '长度';
COLUMN data_precision format 999 HEADING '精度';
COLUMN nullable format a5 HEADING '是否可空';
COLUMN inst_code format a15 HEADING '实例';
SELECT '&inst_code1_name' inst_code, table_name, column_name, data_type, data_length, data_precision, nullable
FROM all_tab_COLUMNs&inst_1_dblink
WHERE owner = UPPER('&obj_owner')
AND table_name in (SELECT table_name FROM all_tables&inst_2_dblink
WHERE owner = UPPER('&obj_owner'))
MINUS
SELECT '&inst_code1_name' inst_code, table_name, column_name, data_type, data_length, data_precision, nullable
FROM all_tab_columns&inst_2_dblink
WHERE owner = UPPER('&obj_owner')
UNION
SELECT '&inst_code2_name' inst_code, table_name, column_name, data_type, data_length, data_precision, nullable
FROM all_tab_COLUMNs&inst_2_dblink
WHERE owner = UPPER('&obj_owner')
AND table_name in (SELECT table_name FROM all_tables&inst_1_dblink
WHERE owner = UPPER('&obj_owner'))
MINUS
SELECT '&inst_code2_name' inst_code, table_name, column_name, data_type, data_length, data_precision, nullable
FROM all_tab_columns&inst_1_dblink
WHERE owner = UPPER('&obj_owner')
ORDER BY 2, 3
/
- ››不同位置或以不同格式保存Word文档
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
更多精彩
赞助商链接