[Oracle, JDBC] Как проще для 10ки проверить что сущ опред схема?

bastii

Необходимо проверить, что в базе существует схема с определенным именем. Как проще всего это сделать через Jdbc к J2SE >=1.4?

KViH

select * from all_users where username='my_username'

bastii

спасибо
а чем от dba_users отличается?

ava3443

простые пользователи dba_users не видят (права select из него не имеют)
у нас кто-то как-то раз использовал dba_users - пришлось мне потом создавать в базе одноимённый синоним на all_users, чтобы не менять приложение.

bastii

а если я потом буду создавать нового пользователя, все равно админские права нужны?

ava3443

В смысле, ты собираешься через JDBC его потом создавать? Можно (и лучше с точки зрения security) дать лишь необходимые системные привилегии, типа "CREATE USER". Но проще конечно сразу дать "DBA" (=все привилегии сразу, причём "WITH ADMIN OPTION") и не заморачиваться. Особенно если заранее знаешь, что заказчик не потребует отобрать DBA у всех пользователей, под которыми приложение соединяется с базой.
У нас пара заказчиков потребовала DBA убрать, пришлось аккуратно раздавать всем необходимые гранты, делать синонимы... В итоге новые инсталляции я теперь сразу без DBA делаю, меньше работы потом.

bastii

понятно, спасибо
с DBA вроде нет проблем
Еще одни вопрос. У меня фактически на Оракле происходит пост обработка распределенного запроса, где сначала выполняются запросы на др источниками данных, результаты сгружаются в Оракл, а затем над ними выполняется запрос. Здесь хотелось бы иметь минимальные издержки от журналирования, так как данные получаются временные, и нет необходимости их восстанавливать после системного сбоя. Этот аспект настраивается в Оракле как-нибудь?

Hastya

sql loader умеет

bastii

мне надо это делать через jdbc, т.к. данные для загрузки формируются джава кодом
по идее для временных таблиц не нужно журналировать инсерты строк подробно, т.е. значения столбцов (как в sql server для tempdb) — что-нибудь подобное в Оракл как выглядит?
Оставить комментарий
Имя или ник:
Комментарий: