![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
Berliner |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
здраствуйте подскажите пожалуста что такое System scheme, Object Scheme. А то читал в хелпе по Oracle и не понял что это, может роли?
|
|||
|
||||
Sqlninja |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 353 Регистрация: 15.5.2006 Где: San Francisco, CA Репутация: 13 Всего: 13 |
Вообще, это набор логических структур данных.
Каждый обьектв Oracle хранится в определенной условной схеме. Схема может быть системной типа SYS или SYSTEM, или пользовательской типа SCOTT. Каждый юзер имеет свою схему, которая имеет такое же имя как и он. В схему могут входить самые различные объекты - таблицы, индексы, кластеры, Java классы и.т.д. Манипуляции со схемами осуществляются с помощью SQL. Это сообщение отредактировал(а) Sqlninja - 23.5.2006, 16:07 -------------------- It's better to burn out than to fade away. |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 2 Всего: 151 |
Насколько я понимаю, это практически то же самое, что пользователь (под которым ты коннектишься). Т.е., грубо говоря, 1 юзер соответствует 1 схеме и наоборот.
Поправьте, если не так. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
Sqlninja |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 353 Регистрация: 15.5.2006 Где: San Francisco, CA Репутация: 13 Всего: 13 |
Один юзер - одна схема. Но строго говоря, это не тоже самое, если по определению. Обьекты схемы - это логические структуры хранимых данных. Однако, это чистая абстракция. Схема никак не привязана к физическим структурам данных, например, к табличным пространствам или файлам.
-------------------- It's better to burn out than to fade away. |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 18 Всего: 538 |
Схема это что-то вроде пакетов в Java, просто способ логически сгруппировать данные.
В Oracle схема жестко привязанна к пользователю, но например в SQL Server - нет, схема существует независимо от пользователя. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Berliner |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 803 Регистрация: 18.5.2005 Репутация: нет Всего: 2 |
Интересно, когда ставил сервер у меня спросили пароль system ввел пароль(я так понимаю это пароль админа), есть тестовый юзер HR с базой про сотрудников. Пытаюсь сделать выборку из этой быза про сотрудников, при помощи пользователя system- пишет(что типа недоступная схема или что то такое), интересно пароль администратора и недоступная схема. Хотя насколько я понял из Help что в Oracle есть несколько типов администраторов.
|
|||
|
||||
batigoal |
|
||||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 2 Всего: 151 |
Потому что SYSTEM имеет доступ ко всем схемам, из-за этого нужно указать схему явно. Типа такого:
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
||||
|
|||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 18 Всего: 538 |
Вероятнее всего там речь шла о DBA, а не учетных записях. Действительно в Oracle выделяют 12 разных типов DBA, по специализции, но это уже изыски. Из учетных записей можно выделить SYS, это пользователь в схеме которого хранятся все словари, системные данные и т.п. Любой пользователь соединившийся как SYSDBA, автоматически начинает работать от имени SYS. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
BIZ0N |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 27.5.2006 Репутация: нет Всего: нет |
Вопрос: а обьекты тоже обязательно принадлежат какойнибудь схеме? а системные представления (например dba_users)?
Я просто читаю статью с www.firststeps.ru (он здесь упоминался как один из хороших источников), не могу проглотить вот эту фразу:
Про что здесь разговор? О том, где может храниться код (на клиенте или на сервере), или про то что обьекты не принадлежат отдельной схеме, а принадлежат базе в целом? |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 2 Всего: 151 |
Видимо, тут идет речь об именованных и анонимных процедурах. Именованные сохранятся в БД для последующего использования, анонимные существуют только во время выполнения.
Судя по коду, они принадлежат схеме SYS:
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
Sqlninja |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 353 Регистрация: 15.5.2006 Где: San Francisco, CA Репутация: 13 Всего: 13 |
Здесь просто нужно понять отличие хранимых обьектов от локальных. Хранимый объект, например, процедура, пакет или функция, хранится в базе в скомпилированном виде, в так называемом P-Code. При наличии соответствующих привилегий хранимые обьекты могут быть доступны из внешних программ и быть видимыми для всех пользователей. Локальные обьекты видимы только в контексте той программы, в декларативной части которой они были обьявлены, и при вызове каждый раз компилируются и запускаются заново. Естественно, хранимая процедура выполняется быстрее. Так вот, Вы не можете создавать локальные пакеты в программных блоках, ни в анонимных, ни в именованых, то есть подобное делать нельзя:
-------------------- It's better to burn out than to fade away. |
||||
|
|||||
BIZ0N |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 27.5.2006 Репутация: нет Всего: нет |
to Sqlninja: Спасибо именно то, что хотел услышать! (очень хороший пример)
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Oracle" | |
|
Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Oracle | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |