- •Табличное пространство
- •Internal – специальный привилегированный псевдоним для пользователя sys, который используется, как правило, для запуска и остановки экземпляра бд Oracle.
- •Idle_time 30 --Кол-во мин. Простоя
- •17. Что такое словарь данных Oracle? Для чего он необходим.
- •Кто эту привилегию может назначать?
- •Кто эту привилегию может назначать?
- •Pl/sql: курсоры (неявные и явные)
- •Isopen - Открыт курсор (для неявных всегда false)
- •10. Перечислите типы lob и объясните их назанчение и способ хранения данных.
- •11. Объясните назначение следующих параметров lob:
Idle_time 30 --Кол-во мин. Простоя
*/
--13. Объясните назначение профиля с именем DEFAULT.
--Профиль Default назначается все пользователям для которых не был назначен профиль при создании.
--Таже в нем хранятся все значения поумолчанию, если како-то параметр создаваемому профилю указать DEFAULT,
--то значение возмется из профиля DEFAULT
--14. Что такое пользователь базы данных?
/*Пользователь – человек, у которого есть учетная запись,
посредством которой определяются его полномочия и разрешения в пределах базы данных.
В дальнейшем, в уроках, понятия пользователя и учетной записи будут тождественны,
но всегда стоит помнить различие между ними.
*/
--15. Перечислите известные вам параметры пользователя БД Oracle.
/*
DEFAULT TABLESPACE TS_PEKAR QUOTA UNLIMITED ON TS_PEKAR --Табличное пространство по-умолчанию
TEMPORARY TABLESPACE TS_PEKAR_TEMP --Временное табличное пространство
PROFILE PF_PEKARCORE --Профиль
ACCOUNT UNLOCK --Учетная запись разблокирована
PASSWORD EXPIRE --Пароль истек
*/
--16. Перечислите все известные вам представления словаря БД Oracle.
/*
SYS.DBA_TABLESPACES - хранит информацию о табличных пространствах
DBA_DATA_FILES - хранит информацию о файлах данных
DBA_SYS_PRIVS - хранит информацию о ролях
DBA_PROFILES - хранит информацию о профилях безопасности
Все представления относятся к статическим
Словарь данных. Структура БД Oracle.
17. Что такое словарь данных Oracle? Для чего он необходим.
/*
Словарь данных СУБД Oracle: набор таблиц и связанных с ними представлениями,
который представляет возможность отследить внутреннюю структуру базы данных и деятельность СУБД Oracle.
*/
--18. Проклассифицируйте представления словаря данных Oracle.
/*
Статические представления производительности (static data dictionary vews)
Отображают информацию, обновляемую DDL.Владелец: в основном SYS и некоторые представления (PL/SQL) SYSTEM
USER_XXXXXXXXX - представления, которые представляют возможность видеть объекты принадлежащие пользователю
ALL_XXXXXXXXXX - представления, которые представляют возможность видеть объекты
принадлежащие пользователю или на которые ему были выданы привилегии
DBA_XXXXXXXXXX - представления, которые представляют возможность видеть все объекты.
Представления предназначены для администратора базы данных
Динамические представления производительности (dynamic perfomance data dictionary views)
Отображают информацию в основном об экземпляре (instance) БД Oracle. Динамические представления строятся на основе X$-таблиц, представляющие внутренние структуры памяти
V$XXXXXXXXXXX – динамические представления производительности, информация об экземпляре БД к которому подключен пользователь.
GV$XXXXXXXXXX - динамические представления производительности, информация обо всех экземплярах БД.
*/
--19. Что значит СУЬД Oracle работает в режиме клиент/сервер? Какой номер порта используется сервером Oracle по умолчанию?
/*
Это значит, что вся база данных и субд находятся на сервере,
и все клиенты подключаются и работают через компьютеры именно с сервером.
Номер порта 1521
*/
--20. Перечислите все типы файлов базы данных Oracle.
/*
1) Файлы данных
2) Файлы журнала повторного выполнения
3) Временные файлы
4) Управляющие файлы
5) Архивные файлы
6) Файлы паролей
*/
--21. Перечислите 2 главные области оперативной памяти СУБД Oracle.
/*
System Global Area (SGA) – системная глобальная память.
Это большой совместно используемый сегмент памяти, к которому обращаются все процессы Oracle.
Program Global Area (PGA) – программная глобальная область: значения переменных для исполняемых SQL-операторов,
область сортировки, характеристики обработки курсоров.
Это приватная область памяти процесса или потока, недоступная другим процессам/потокам.
*/
--22. Перечислите основной области памяти SGA и поясните их назначение.
/*
? fixed sga – фиксированная часть SGA;
? buffer cache – буферный кэш; содержимое кэша регулируется LRU;
? log buffer – буферы журналов повтора;
? shared pool – разделяемый пул; компоненты разделяемый пула: library cache –
библиотечный кэш (откомпилированные SQL-операторы и их планы исполнения, разделяемые курсоры);
dictionary cache – словарный кэш (хранение данных словаря БД);
? java pool – используется для процедур и функций на Java;
? large pool – используется в режиме MTS сервера Oracle.
*/
--23. Для чего необходим файл паролей и как определить его место расположения на сервере?
/*
Используются для аутентификации пользователей, выполняющих администрирование удаленно, по сети.
Мы не будем их подробно рассматривать. Достоверность пароля
(сравнить со значением, хранящимся для пользователя в базе данных) можно проверить, только если база данных открыта. В случае наличия файла паролей пользователь должен удостоверить свою личность, чтобы запустить базу данных.
*/
--24. В чем разница между SPFILE и PFILE?
/*
Файлы параметров инициализации (pfile, spfile)
PFILE – статичный, пользовательский текстовый файл, который редактируется стандартными текстовыми редакторами (например, “блокнот” или “vi”).
Обычно этот файл находится на сервере, однако, для запуска Oracle с удаленной машины
необходимо иметь локальную копию. АБД (Администраторы Баз Данных) обычно ссылаются на этот файл: INIT.ORA.
SPFILE (Server Parameter File), с другой стороны, постоянно находящийся на сервере бинарный файл,
который может быть изменен только с помощью команды “ALTER SYSTEM SET”.
Это значит, что больше нет необходимости хранить локальную копию файла параметров
для запуска экземпляра с удаленной машины. Редактирование SPFILE-а вручную повредит его,
после чего он станет неработоспособным.
Файлы параметров инициализации
При запуске экземпляра базы данных выделяется память для экземпляра Oracle и открывается один их двух типов файла параметров инициализации: либо текстовый файл, который называется init.ora (PFILE), либо файл параметров сервера (SPFILE).
Файлы параметров инициализации независимо от их формата — определяют места размещения трассировочных файлов, управляющих файлов, заполненных файлов журналов базы данных и так далее. Кроме того, они устанавливают предельные значения размеров различных структур в системной глобальной области (SGA) и максимальное число одновременно разрешенных подключений пользователей к базе данных.
Применение SPFILE значительно упрощает управление параметрами и делает его более эффективным для АБД. Если для работающего экземпляра используется SPFILE, любая команда alter system, изменяющая нараметр инициализации системы, может автоматически изменить параметр инициализации в SPFILE.
*/
--25. Перечислите основные конфигурационные файлы используемые при работе Oracle в сети как определить его место расположения на сервере и клиенте.
/*
С базой данных Oracle связано много файлов параметров:
от файла TNSNAMES.ORA на клиентской рабочей станции (используемого для поиска сервера)
и файла LISTENER.ORA на сервере (для запуска процесса прослушивания Net8) до файлов
SQLNET.ORA, PROTOCOL.ORA, NAMES.ORA, CMAN.ORA и LDAP.ORA.
Наиболее важным является файл параметров инициализации экземпляра,
потому что без него не удастся запустить экземпляр. Остальные файлы тоже важны;
они связаны с поддержкой сети и обеспечением подключения к базе данных.
Файл профиля SQLNET.ORA содержит сведения, как клиент или сервер должны использовать возможности Net8.
*/
--26. Объясните назначение программы Listener
/*
Listener - это процесс, основная функци оторого - прослушивание запросов запросов клиентов на вход в бд Oracle.
*/
--27. Объясните разницу работы сервера в режиме выделенного и разделяемого серверов.
/*
При работе в режиме выделенного сервера каждому набору клиентов(до 50) выделяется свой сервер,
который обрабатывает их запросы.
При работе в режиме разделяемого сервера. Все запросы изначально поступают в диспетчер, которы потом посылает
запросы в очередь запросов. Сервер, обработав запрос, посылает его в очередь ответов.
*/
--28. Какие типы процессов вы знаете?
/*
1)серверные процессы (теневые);
2)фоновые процессы;
3)подчиненные процессы.
*/
--29. Перечислите наиболее значимые фоновые процессы.
/*
? PMON – монитор процессов(очистка после нештатного прекращения подключения, перезапуск всех процессов, устанавливает связь с Listener);
? SMON – монитор системы (сборка мусора, восстановление после сбоя экземпляра, дефрагментация свободного пространства, ...);
? MMON, MMNL, Mnnn – мониторы системы управления(сбор статистики);
? MMAN – управление памятью (буферный пул, shared, Java, Large);
? LGWR – запись журнала;
? CKPT - содействие (посылает сигнал) DBWn при обработке контрольной точки; контрольная точка – это событие БД при котором все измененные буферы записываются на диск;
? RECO – восстановление распределенной базы данных (фиксация в нескольких базах данных),протокол 2PC;
? QMNC, Qnnn – управление очередями сообщений (параметр AQ_TM_PROCESS = количество);
? EMNn – управление событиями (уведомлениями), составная часть AQ;
? DBWn – запись блоков базы данных (можно сконфигурировать до 10);
? ARCn – архивирование журналов;
? СJQn, Jnnn – управление очередью заданий;
? PSP0 - генератор процессов Oracle;
*/
Последовательность
GRANT CREATE SEQUENCE TO RL_PEKARCORE --Делаем от система
CREATE SEQUENCE PEKARCORE.S1
START WITH 1000
INCREMENT BY 10
NOMAXVALUE
NOMINVALUE
NOCYCLE
NOCACHE
NOORDER
SELECT S1.NEXTVAL FROM DUAL
Что такое последовательность? Для чего она применяется?
Последовательность - объект бд для получения значений идущих по порядку (счетчик)
22. Поясните все параметры последовательности.
START WITH 1000 - начать с
INCREMENT BY 10 - увеличивать на
NOMAXVALUE - без макс знач
NOMINVALUE - без мин знач
NOCYCLE - не циклич
NOCACHE - не кэшир
NOORDER - не по порядку
23. Какая привилегия необходима для использования представлений словаря базы данных Oracle?
SELECT ANY DICTIONARY
24. Как получить все привилегии роли?
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'ИМЯ РОЛИ'
25. Какая привилегия необходима для создания, удаления и модификации последовательности?
CREATE SEQUENCE
26. Какие представления словаря базы данных содержат информацию об последовательностях?
DBA_SEQUENCES
Кластер
GRANT CREATE CLUSTER TO RL_PEKARCORE --от SYSTEM
DROP CLUSTER ABC;
CREATE CLUSTER ABC
(
X NUMBER(10),
V VARCHAR(12),
C DATE
)
HASHKEYS 200;
SELECT * FROM DBA_CLUSTERS WHERE OWNER LIKE '%PEKAR%';
21. Какая привилегия необходима пользователю для создания кластера?
Кто эту привилегию может назначать?
GRANT CREATE CLUSTER TO RL_PEKARCORE --от SYSTEM
22. Что такое кластер? В каких случаях он применяется?
Кластер - две или более таблиц, физически хранящихся в одном месте, чтобы использовать
преимущества совпадающих между таблицами столбцов.(Значительно ускоряется join)
23. Можно удалить кластер, если на него ссылаются таблицы?
НЕТ - будет ошибка - Кластер не пуст.
24. Что такое хэш-функция?
Хэш-функция (функция свёртки) - это функция, отображающая аргумент произвольной конечной длины
в образ фиксированной длины.
25. Что такое хэш-таблица? Какие существуют способы организации хэш-таблиц?
хеш-таблица — это структура данных, реализующая интерфейс ассоциативного массива,
а именно, она позволяет хранить пары (ключ или индекс, значение) и выполнять три операции:
операцию добавления новой пары, операцию поиска и операцию удаления пары по ключу.
Существует 2 способа организации хэш-таблиц:
--прямая адресация
В массиве H хранятся списки пар (коллизии)
Среднее время выполнения операций = коэффициенту заполнения
--открытая адресация
хэш списков нет, все записи хранятся в самой хэш-таблице,
каждая ячейка содержит либо значение динамического множества либо NULL.
Число хранимых элементов не может быть больше размера таблицы:
коэффициент заполнения таблицы не больше 1
26. Какая привилегия необходима пользователю для создания индекса?