比较两个Oracle架构,其他用户

时间:2010-06-10 00:20:18

标签: database oracle oracle10g oracle-sqldeveloper

我的任务是将两个oracle模式与大量表进行比较,以找出模式中的结构差异。直到知道我在Oracle SQL Developer中使用了DB Diff工具,并且它运行良好。问题是现在我需要比较用户无法登录的表,但我可以通过SQL开发人员的其他用户部分看到它。问题是,每当我尝试使用diff工具将这些对象与其他模式进行比较时,它就不起作用。有谁知道怎么做?这将为我节省大量的工作。如果需要的话,我有一些基本的SQL知识。感谢。

2 个答案:

答案 0 :(得分:2)

如果您已在该其他架构中获得GRANTed权限,请发出

alter session set current_schema = OTHER_SCHEMA_NO_QUOTES_REQUIRED;

运行任何工具。

否则,它是select * from all_tables where owner = OTHER_USER;,'从all_indexes中选择* ......等等。

答案 1 :(得分:0)

用正确的答案重新回答这个问题。

如果您可以让DBA通过您授权代理,您可以在不知道最终架构密码的情况下执行以下操作:

ALTER USER {use you do not have pw to - lets call it ENDSCHEMA} GRANT CONNECT THROUGH {user you have pw for - lets call it YOURSCHEMA};

然后在SQL Developer中创建一个连接:

username: YOURSCHEMA[ENDSCHEMA] 
password: YOURSCHEMA password

然后,您可以继续并在两个模式上执行Database Diff,并且永远不知道ENDSCHEMA的密码。