Сравнивая две схемы Oracle, другие пользователи - PullRequest
3 голосов
/ 10 июня 2010

Мне было поручено сравнить две схемы оракула с большим количеством таблиц, чтобы найти структурные различия в схеме. До тех пор, пока я не узнал, что я использовал инструмент DB Diff в Oracle SQL Developer, и он работал очень хорошо. Проблема в том, что теперь мне нужно сравнить таблицы пользователя, в который я не могу войти, но я могу увидеть это в разделе других пользователей в SQL-разработчике. Проблема в том, что всякий раз, когда я пытаюсь использовать инструмент сравнения для сравнения этих объектов с другой схемой, он не работает. У кого-нибудь есть идеи, как это сделать? Это сэкономило бы мне очень большой объем работы. У меня есть некоторые базовые знания SQL, если это то, что нужно. Спасибо.

Ответы [ 2 ]

2 голосов
/ 10 июня 2010

Если вам были предоставлены разрешения в этой другой схеме, введите

alter session set current_schema = OTHER_SCHEMA_NO_QUOTES_REQUIRED;

для запуска любого инструмента.

В противном случае это select * from all_tables where owner = OTHER_USER;, 'select * from all_indexes where...` и т. д.

0 голосов
/ 26 октября 2015

Просто верните этот вопрос с правильным ответом.

Если вы можете заставить своего администратора баз данных предоставить вам прокси через вас, вы можете сделать следующее, не зная пароля конечной схемы:

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

Затем вы можете продолжить и выполнить различие между базами данных в обеих схемах, даже не зная пароля для ENDSCHEMA.

...