Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > sys не имеет доступа к таблице пользователя


Автор: kaa 19.7.2008, 14:13
В общем поставил я Orackle 11g XE. Там по умолчанию создана база XE и пользователь для неё HR.

HR является владельцем нескольких таблиц.

Так вот собственно вопрос: почему sys не может посмотереть содержимое этих таблиц, он вообще ничего с ними сделать неможет. В отчет на любую команду, в которой участвуют таблицы HR-а возвращается ответ что такой таблицы или представления не созданно.

У sys-а вроде же полные права на все объекты в базе данных, нет?

ЗЫ: оракл только начал ковырять, по сему мог пропустить мимо глаз элементарные вещи.

Автор: bytes 19.7.2008, 21:21
Код

user:  sys as sysdba
pass: "admin password"


Автор: kaa 20.7.2008, 08:24
Неа :(


Код

SQL*Plus: Release 10.2.0.1.0 - Production on -? +¦? 20 09:31:55 2008

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> connect sys as sysdba;
Enter password:
Connected.
SQL> select owner, table_name from all_all_tables where table_name='JOBS';

OWNER                          TABLE_NAME
------------------------------ ------------------------------
HR                             JOBS

SQL> select * from JOBS;
select * from JOBS
              *
ERROR at line 1:
ORA-00942: table or view does not exist


SQL>

Автор: Nuzur 22.7.2008, 10:19
kaa, Жесть. 
Может все же SQL надо знать из какой схемы тянуть данные?

Код

select * from HR.JOBS;


Мой личный совет под sys, никогда, слышите? НИКОГДА, не входить без крайней на то необходимости. НИКОГДА!
Пока БД Експрес оно еще куда не шло но вот на "настоящем" сервере... ну за такое даже не знаю что могут сделать smile

Автор: kaa 23.7.2008, 18:15
Nuzur, 
Спасибо, попробую такsmile

Да я понимаю, рутовые права ни в какой системе использовать нельзя, да и не дадут мне их никогда smile
А пока учусь - думаю особо ничего страшного нет. smile

Автор: DnS 23.7.2008, 22:06
CREATE SYNONYM JOBS FOR HR.JOBS;
SELECT * FROM JOBS;

Автор: Nuzur 24.7.2008, 11:01
DnS, И куда по вашему создастся синоним? В схему Сис? Может всетаки лучше 
Код

CREATE PUBLIC SYNONYM JOBS FOR HR.JOBS;
SELECT * FROM JOBS; 
 
а? Хотя такое решение тоже грабли и некрасиво, нужно логиниться под ту схему которая нужна.

Автор: DnS 24.7.2008, 11:36
Цитата(Nuzur @  24.7.2008,  11:01 Найти цитируемый пост)
И куда по вашему создастся синоним?

Ну, по всей видимости, туда, где работает пользователь -)
А вот работать под сисом, или под кем-то еще, это уже его решение )

Автор: Nuzur 29.7.2008, 11:24
Цитата(DnS @ 24.7.2008,  11:36)
Цитата(Nuzur @  24.7.2008,  11:01 Найти цитируемый пост)
И куда по вашему создастся синоним?

Ну, по всей видимости, туда, где работает пользователь -)
А вот работать под сисом, или под кем-то еще, это уже его решение )

Согласно очень настойчивой рекомендации Оракла в схеме Сис ничего нельзя создавать. Иначе в случаи чего будут Ваши личные проблемы.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)