Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

699

.pdf
Скачиваний:
4
Добавлен:
15.11.2022
Размер:
3.63 Mб
Скачать

DR$DOCS_VC2DOC_IDX$I TABLE DR$DOCS_VC2DOC_IDX$R TABLE [3]

Системная таблица DUAL Oracle

В некоторых случаях может потребоваться вернуть при помощи запроса результат работы некоторой хранимой функции или результат вычисления. В этом случае можно использовать специальную системную таблицу DUAL, доступную всем пользователям и всегда содержащую единственный столбец с именем DUMMY и типом VARCHAR2(1) и единственную строку. Пример запроса, производящего вычисления и применяющего таблицу DUAL:

SELECT 4 + 5*20 FROM DUAL

В качестве другого примера с использованием таблицы DUAL можно рассмотреть вызов функции SYSDATE, возвращающей текущую дату [28]:

SELECT SYSDATE FROM DUAL

Если нужно сохранить выходные данные скрипта в файл, используйте команду SPOOL.

Пример:

SQL>spool out.txt select * from DUAL

Результат запишется в файл out.txt

2.9. Создание объекта база данных

Сервер ORACLE состоит из следующих частей:

1.Экземпляр – это набор процессов операционной системы и используемая ими память. Экземпляр Oracle состоит из двух частей: области SGA и набора фоновых процессов. Фоновые процессы выполняют рутинные задачи сопровождения, обеспечивающие работу СУБД.

2.База данных Oracle – набор физических файлов операционной системы. База данных может быть смонтирова-

111

на и открыта в нескольких экземплярах. Экземпляр может смонтировать и открыть только одну базу данных в каждый момент времени. В каждый момент времени с экземпляром связан только один набор файлов [29].

Системный идентификатор Oracle SID

Уникальное имя экземпляра Oracle. Для переключения между базами данных Oracle пользователи должны указывать соответствующий SID. SID входит в дескриптор соединения (в файле TNSNAMES.ORA) в качестве части CONNECT DATA, а также в определение сетевого прием-

ника в файле LISTENER.ORA [34].

SID определяет экземпляр Oracle на данном компьютере. Обычно он устанавливается как переменная ОС. Когда пользовательский процесс хочет подключиться к БД, системный идентификатор, установленный в учетной записи ОС, определяет, к какому экземпляру и БД будет подключен этот пользователь. Пользователь с одним именем может существовать в разных БД. Например, во всех БД Oracle8 существует системное имя SYS.

Системный идентификатор (SID) – это уникальное имя экземпляра базы данных Oracle на удаленном хосте. Кроме того, SID используется по умолчанию, чтобы найти файл параметров, который используется для поиска соответствующих файлов, таких как базы данных, управляющие файлы.

На большинстве платформ в переменной окружения ORACLE_SID устанавливает SID, в то время как перемен-

ная ORACLE_HOME устанавливает Oracle home. При под-

ключении к экземпляру клиенты могут указать SID в Oracle Net подключение или использовать net service name. База данных Oracle преобразует имя службы в ORACLE_HOME

и ORACLE_SID [12].

112

Создание новой БД Oracle

При создании БД создаются файлы на диске, форматированном и подготовленном на Oracle. Структура БД с момента первоначального создания не обязана оставаться неизменной. Можно добавлять другие файлы.

Запуск базы данных

База данных проходит через следующие этапы, когда она исходит из заглушенного состояния до открытого состояния базы данных:

запуск экземпляра без соединения с базой данных;

подключение базы данных;

запуск экземпляра и соединение с базой данных путем чтения контрольного файла. База данных на этом этапе закрыта для пользователей;

открытие базы данных.

Запущенный экземпляр связан с открытой базой данных. Данные, содержащиеся в файлах, доступны только для авторизованных пользователей.

В обычном случае можно вручную запустить экземпляр и затем соединиться и открыть базу данных, что делает ее доступной для пользователей. Вы можете использовать

SQL*Plus команду запуска, Oracle Enterprise Manager (Enterprise Manager) или SRVCTL утилиты для выполнения этих шагов.

Подключение с правами администратора

Запуск и отключение базы данных Oracle доступны только пользователям с правами администратора. Обычные пользователи не могут контролировать текущее состояние базы данных Oracle.

Правами администратора SYSDBA обладают:

– пользователи операционной системы, имеющие привилегии администратора;

113

– пользователи базы данных, которым предоставлены привилегии SYSDBA или SYSOPER.

SYSDBA и SYSOPER являются специальными привилегиями, которые позволяют получить доступ к экземпляру базы данных, даже если база данных не открыта. Привилегии SYSOPER являются подмножеством привилегии SYSDBA.

Запуск экземпляра базы данных

Когда база данных Oracle запускает экземпляр, выполняются следующие шаги:

Ищет файл параметров сервера. Если файл не найден, то создается новый текстовый файл с параметрами инициализации (с параметрами запуска SPFILE или PFILE и переопределяет поведение по умолчанию).

Считывает файл параметров для определения значений параметров инициализации.

Выделяет SGA на основе параметра инициализации параметров.

Запускает фоновые процессы Oracle.

Открывает журнал предупреждений и файлы трассировки и пишет все явные параметры настройки в журнале предупреждений.

На этом этапе базы данных не связаны с экземпляром.

Соединение с базой данных

Экземпляр подключается к базе данных, связанной с этим экземпляром. Чтобы подключить базу данных, экземпляр получает имена базы данных, управляющие файлы, указанные в параметре инициализации CONTROL_FILES,

иоткрывает файлы. База данных Oracle считывает файлы управления, чтобы найти имена файлов данных и online redo log файлы, которые она будет использовать для проверки доступа при открытии базы данных.

На этом этапе только администраторы могут подключится и закрыть базу данных. Администраторы могут со-

114

хранить базу. Однако база данных не доступна для обычных операций. Параметр инициализации CLUSTER_ DATABASE позволяет подключать несколько пользователей одновременно.

Значение false (по умолчанию) для только одного экземпляра, который подключает базу данных.

Открытие базы данных

Открытие базы данных делает его доступным для обычных операций с базой данных. Любой действительный пользователь может подключиться к открытой базе данных и получить доступ к ее информации. Как правило, администратор базы данных открывает ее, чтобы сделать доступной для общего использования.

При открытии базы данных Oracle выполняет следующие действия:

открыть онлайн-файлы данных в табличных пространствах кроме табличных пространств отката.

открывает табличное пространство undo.

открывает online redo log файлы [12].

Резервное копирование и восстановление в Oracle

Операции резервного копирования и восстановления в Oracle можно разделить на три вида:

1.Логическое резервное копирование – производится при помощи входящей в состав Oracle утилиты ехр, которая позволяет экспортировать всю базу, заданные схемы или таблицы. В случае экспорта всей базы выполняется так называемый полный экспорт (при этом экспортируются все таблицы базы данных) или инкрементный (выгружаются таблицы, изменившиеся с момента последнего экспорта). Для Oracle 10g ХЕ, в котором объем базы не превышает 4 Гбайт, можно пользоваться полным экспортом.

2.Физическое резервное копирование – выполняется после установки базы и предполагает копирование файлов

115

данных, управляющих файлов, оперативных журналов повтора и файла init.ora с настройками базы.

3. Оперативное резервное копирование – осуществляется в базе, функционирующей в режиме ARCHIVELOG. В этом режиме производится архивация оперативных журналов повтора и ведется журнал всех транзакций.

Логическое резервное копирование выполняется при помощи утилиты ехр.ехе, размещенной в папке oraclexe\app\oracle\product\10.2.0\server\BIN\ [28].

Синтаксис CREATE DATABASE

CREATE DATABASE mydb

DATAFILE '/disk03/mydb/system1.dbf' size 20m

LOGFILE '/disk03/mydb/log1.log', /disk05/mydb/log2.log' size 512K;

Параметр DATAFILE создает файл БД на указанном диске с указанным размером. Параметр LOG-FILE создает первые два файла журнала обновлений.

Оператор ALTER DATABASE Oracl

ALTER DATABASE позволяет изменять общие характеристики базы данных. Можно переименовать файлы БД или изменить их каталог, используя ALTER DATABASE.

SQL> ALTER DATABASE RENAME FILE /u01/oracle/ABC/user01.dbf to /u02/ABC/user01.dbf;

Создание БД Oracle в Rational Rose

1.Создание диаграммы на основе таблиц из существующей БД.

2.Создание схемы с таблицами Oracle с помощью script-файла и RR.

Пример извлеченной схемы (student) Analyse schema приведен на рис. 46.

116

Рис. 46. Диаграмма в Rational Rose

Создание нового пользователя и предоставление доступа к БД.

Создание нового пользователя в Oracle (рис. 47). SQL> connect system/manager.

SQL> Create User student Identified by student default tablespace users temporary tablespace temp ;

SQL> Grant connect, resource to Student SQL> connect student/student.

117

Рис. 47. Создание нового пользователя в Oracle

Построение диаграммы в RationalRose на основе существующей схемы БД.

В разделе Data Modeler имеются два пункта: “Add Schema” и “Reverse Engeneer…”. Пункт “Add Schema” ис-

пользуется для создания новых схем БД, а пункт “Reverse Engeneer” – для построения модели на основе существующей схемы БД.

Для извлечения схемы с помощью “Reverse Engeneer” используется утилита импорта схемы БД, удобно организованная в виде мастера (Wizard). Для импорта требуется указать данные для соединения с БД, все остальные действия система выполнит автоматически.

Существующую БД можно загрузить с помощью опции Oracle 8 Analyse Schema. Все таблицы будут отображе-

ны в Data Modeler.

Извлечение схемы и ее таблиц из базы данных XE

Закладка Tools – Oracle8Analyze Schema

118

Вразделе Data Modeler имеются два пункта: “Add Schema” и “Reverse Engeneer…”. Пункт “Add Schema” ис-

пользуется для создания новых схем БД, а пункт “Reverse Engeneer” – для построения модели на основе существующей схемы БД.

Вразделе “Logical View” дерева проекта образовался пункт “Schemas” со схемой “STUDENT” и набором таблиц.

Вконтекстном меню схемы имеется возможность соз-

дать новую для Rational Rose диаграмму – Data Model.

Соединение с Database Server в Rational Rose

На рис. 48 показан запрос пароля перед соединением с базой данных Oracle и отображением таблиц.

Рис. 48. Извлечение схемы таблиц Rational Rose

Диаграмма Data Model предоставляет следующие возможности:

1) создание и редактирование таблиц и их элементов (колонок, ограничений, индексов, триггеров и т.п.);

119

2)создание и редактирование идентифицирующих связей между таблицами;

3)создание и редактирование не идентифицирующих

связей.

Создание диаграммы сценариев (Use case diagram) в Use Case View

Эта схема создается с использованием CASE-средств. Данный тип диаграмм применяется при описании бизнеспроцессов автоматизируемой предметной области, определении требований к будущей программной системе. Отражает объекты как системы, так и предметной области и задачи, ими выполняемые. В первую очередь произведем анализ списка операций, которые будет выполнять система,

иопределим список объектов системы, которые данные функции выполняют. Таким образом, определим требования к системе и границы предметной области. Для этого будем использовать диаграммы Use Case.

Создание новой схемы с помощью Open Specification – Data Modeler – New – Schema

Создание новой таблицы

Основные возможности по работе с таблицей доступны, если войти в контекстном меню в пункт “Open Specification”. Появляющееся на экране окно включает следующие позиции:

определение таблицы;

связи (первичные ключи и внешние ключи).

Определение таблицы

При редактировании структуры таблицы в диалоговом

окне доступны следующие закладки:

General. Вводится общая информация о таблице (название, управление хранением данных);

Columns. Задается описание колонок (здесь можно добавить или отредактировать свойства колонок, задать тип,

120

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]