1523

Теория программирования на языке Oracle

Конспект

Информатика, кибернетика и программирование

Архитектура Oracle. База данных. Физические и логические сегменты. Создание базы данных Oracle. Управляющие файлы. Создание, удаление и перемещение (переименование) управляющих файлов. Файлы данных. Создание, перемещение (переименование) файлов данных. Изменение состояния файлов данных. Использование CPU для нужд Oracle.

Русский

2013-01-06

164 KB

21 чел.

Вопрос № 1. Архитектура Oracle. База данных. Физические и логические сегменты.

Архитектура Oracle:

 1 – База Данных

2 – Экземпляр

База Данных:

1 – Физ. Структуры хранения данных

-файлы данных

-файлы журналов

-архивные файлы журналов

-управляющие файлы

-файлы параметров

-файлы паролей

2 – Логические структуры хранения данных

-табличные области

-схема

-объекты схемы

-блоки данных

-экстенты

-сегменты

Физические структуры

1) Файлы данных – системные \ пользовательские (должен быть хотя бы 1 ф.д.)

c:\oracle\oradata

2) Файлы журналов (хотя бы 2 для б.д.). Из файлов журналов состоят журнальные группы.

3) Архивные файлы ( копии ) ARCHIVELOG – режим БД с архивированием. NOARCHIVELOG – без архивирования.

Синтаксис: ALTER DATABASE режим

4) Файлы параметров. Нужны для поиска и назначения ресурсов.

5) Управляющие файлы. Нужны для контроля за физическими компонентами БД:

-имя БД

-дата создания БД

-имена и расположения файлов данных и журналов

6) Файлы паролей

 SYSDBA

 SYSOPER

 orapwd

Логические структуры

  1.  Блоки данных (4кб – default ). Состоит блок из: заголовка, строк данных, списка указателей таблиц, списка указателей строк.
  2.  Экстент – непрерывный набор блоков.

INITIAL_EXTENT ( выделяется изначально )

NEXT_EXTENR (по сколько экстентов увеличивать область )

  1.  Сегмент – множество экстентов.
  2.  Табличные области – Хранилище логических групп объектов.

Т.о. SYSTEM хранит системные данные. Есть временные табличные области, т.о. для индексов, т.о. для сегментов отката, т.о. для данных пользователя.

5) Схема (объекты схемы ). Схема – набор объектов БД В одной т.о. могут находиться объекты разных схем.


Вопрос №2. Экземпляр. Структура памяти.

Экземпляр Oracle состоит из процессов и разделяемой памяти, необходимой для доступа к информации в БД. Если копнуть чуть глубже, то экземпляр составляют пользовательские процессы, фоновые процессы Oracle и разделяемая область памяти, которую используют все эти процессы.

Что же представляет собой разделяемая память (shared memory)? Oracle использует разделяемую память в разных целях: как кэширование данных и индексов, так и хранение программного кода. Разделяемая память делится на несколько частей (или структур памяти). Основными структурами памяти Oracle являются Системная Глобальная Область (System Global Area или SGA) и Программная Глобальная Область (Program Global Area или PGA). Рассмотрим SGA и PGA более подробно.

Системная Глобальная Область (SGA) 

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

  •  кэш буферов БД – здесь хранятся последние открытые блоки данных. Эти блоки могут содержать данные, которые изменились, но еще не были записаны на диск (грязные блоки); данные, которые не изменялись либо были записаны на диск после изменения (чистые блоки). Так как кэш буферов БД хранит блоки данных на основе алгоритма последних используемых блоков, то наиболее активно используемые блоки постоянно остаются в памяти (тем самым, снижая дисковый ввод/вывод и увеличивая производительность системы).
  •  буфер журнала изменений – хранит данные об изменениях БД. Буфер журнала изменений записывается в файл журнала изменений настолько быстро и эффективно, насколько это возможно. Помните, что журнал изменений используется для восстановления экземпляра СУБД Oracle в случае сбоя системы.
  •  разделяемый пул – Это область SGA, в которой хранятся такие структуры разделяемой памяти, как разделяемые SQL-области в библиотечном кэше и внутренняя информация словаря данных. Разделяемый пул важен, потому что недостаточный объем памяти, выделенный для него, может привести к деградации производительности всей системы. Разделяемый пул состоит из библиотечного кэша и кэша словаря данных.

Библиотечный кэш используется для хранения разделяемых SQL. Здесь для каждого уникального SQL-выражения строиться дерево разбора строк и план исполнения, которые кэшируются (т.е. сохраняются в библиотечном кэше). Если несколько приложений отправляют одинаковые SQL-выражения, то для ускорения работы используется разделяемая SQL-область (так как используются уже разобранные строки и готовый план исполнения, то происходит экономия времени).

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

  •  пользовательская информация (например, пользовательские привилегии)
  •  ограничения целостности, определенные для таблиц БД
  •  имена и типы данных всех столбцов таблиц БД
  •  информация об объеме памяти, определенном и используемом объектами схемы данных

Oracle часто обращается к словарю данных при разборе SQL-выражений. Эти обращения составляют сущность работы Oracle. Узкие места в словаре данных влияют работу всех пользователей системы Oracle. Поэтому Вы всегда должны быть уверены, что объем памяти, определенный для словаря данных, достаточно велик для кэширования данных. Если кэш словаря данных мал, то Вы заметите значительное снижение производительности. Когда под кэш словаря данных Вы определите достаточный объем памяти, существенных проблем с производительностью быть не должно.

Программная Глобальная Область (PGA) 

Программная Глобальная Область – это такая область памяти, в которой хранятся данные и управляющая информация о серверных процессах Oracle. Размер и содержание PGA определяется опциями, которые Вы указываете при инсталляции Oracle. Эта область состоит из следующих компонентов:

  •  пространство стека – это память, хранящая переменные сеансов, массивы сеансов и т.д.
  •  информация сеанса – если Oracle работает не в мультинитевом режиме, то информация сеанса хранится в PGA. В противном случае, информация сеанса хранится в SGA.

приватная SQL-область – это часть PGA, где хранятся связанные переменные и буферы реального времени.
Вопрос 3. Создание базы данных Oracle

Запустите Oracle Server и зарегистрируйтесь как пользователь sys с привилегиями sysdba: connect sys/change_on_install as sysdba;

БД можно создавать с помощью Oracle Database Configuration Assistant (DCA) или вручную (с помощью SQL*Plus)

Создание БД вручную.

Этап 1 Установить значение переменной среды Windows ORACLE_SID (должно согласовываться со значением параметра инициализации DB_NAME):

Мой компьютер => правая кнопка мыши => Свойства => Дополнительно => Переменные среды => переменная ORACLE_SID

Этап 2 Зарегистрировать службы Oracle в реестре Windows:

C:/> oradim -STARTUP -SSID projectdb -USRPWD

oracle -STARTTYPE arvc

Создание файла параметров

Этап 3 Каждая БД должна иметь связанный с ней уникальный файл параметров. Во время установки. c:/oracle/admin/sample/pfile/initsmpl.ora

Скопировать этот файл и редактировать файл-копию (формат имени файла параметров: init<SID>.ora). Создать файл параметров инициализации

C:/oracle/admin/projectbd/pfile/init.ora

Создать другой файл

C:/oracle/ora81/database/initprojectdb.ora и добавить в него параметры с

помощью параметра IFILE:

IFILE=’C:/oracle/admin/projectbd/pfile/init.ora'

Значения параметров:

DB_NAME – уникальное имя БД (не более 8 символов)

DB_DOMAIN – доменное имя БД

CONTROL_FILES – расположение управляющих файлов

DB_BLOCK_SIZE – размер блока БД

DB_CACH_SIZE, DB_nK_CACHE_SIZE – буферный кэш

PROCESSES число процессов

LICENSE_MAX_SESSIONS, LICENSE_SESSIONS_WARNING число одновременных сеансов БД

LICENSE_MAX_USERS – число именованных пользователей, создаваемых в БД

Запуск экземпляра Oracle и создание БД

Этап 4 Запустить SQL*Plus и подключить экземпляр Oracle с привилегиями SYSDBA

C:/> SQLPLUS/nolog    SQL> CONNECT SYS/change_on_install AS SYSDBA

Создание, запуск и останов БД

Этап 5 Запустить экземпляр Oracle: SQL> STARTUP NOMOUNT

Этап 6 Создать БД

SQL> CREATE DATABASE projectdb

MAXINSTANCES 1   MAXLOGHISTORY 1

MAXLOGFILES 5   MAXLOGMEMBERS 5

MAXDATAFILES 100

DATAFILE ‘c:/oracle/oradata/projectdb/system01.dbf ‘ SIZE 325M

REUSE UNDO TABLESPACE undotbs DATAFILE

‘c:/oracle/oradata/projectdb/undotbs01.dbf SIZE ZOOM REUSE

AUTOEXTEND ON NEXT 512K MAXSIZE UNLIMITED

CHARACTER SET US7ASCII NATIONAL CHARACTER SET AL16UTF16

LOGFILE GROUP 1 (‘c:/oracle/oradata/projectdb/redo01.log’)SIZE 100M,

LOGFILE GROUP 2 (‘c:/oracle/oradata/projectdb/redo02.log’)SIZE 100M,

LOGFILE GROUP 3 (‘c:/oracle/oradata/projectdb/redo03.log’)SIZE 100M;

Теперь база данных projectdb создана.


4.запуск и отключение БД

Инструменты: а)SQL * PLUS б) SQL * PLUS Worksheet в)ОЕМ г)RMAN д)oradim е)ср-ва ОС

  1.  SQL * PLUS

Графический режим:a) пуск->программы->oracle->OraHome…->Application Developmant->SQL*PLUS

б)из командной строки sqlplusw.exe

Текстовый режим: в) sqlplus.exe Надо войти в систему с привилегиями SYSDBA,SYSOPER

Пример: запуск C:\oracle\ora90\bin\sqlplus

 enter user name:sys as sysdba

enter password:…

connected to an idle instance

SQL>startup[параметры]

 Останов SQL>shutdown[…]

Параметры запуска: OPEN-по умолчанию - открыта для всех пользователей. NOMOUNT-запуск без монтирования(чтобы создавать упр.файлы);MOUNT монтируется, но не открыв. для исп-я; CLOSED –бд закрыта, в режиме холодного копирования; RESTRICT – ограниченный режим ; EXCLUSIVE- одиночный экземпляр; FORCE-принудит.запуск после аварии; PARALLEL-несколько экземпляров; PFILE-если в месте, отличном от положения по умолчанию. Параметры останова:NORMAL –по умолчанию, обычный останов;IMMEDIATE-быстрый останов, открытые сеансы прерываются, откат транзакций;TRANSACTIONAL – активные транзакции заверш., неакт. прерыв-ся;ABORT-авайрийное завершение

  1.  SQL * PLUS Worksheet включено цветовое кодирование

1) пуск->программы->oracle->OraHome…->Application Developmant->SQL*PLUS Worksheet 2) из под ОЕМ 3) из ком.строки: …\oemapp.bat worksheet

Пример: connect sys/change_on_install as sysdba

startup nomount;

alter database mount;

alter database open;

  1.  OEM а)графич оболочка: Пуск->Программы->…->Enterprise Manager Console б)из командной строки: …\oemapp.bat console
  2.  RMAN rman.exe

Пример: с:\oracle\ora90\bin\rman target sys/change_on_install nocatalog

RMAN>startup nomount

RMAN>SQL `ALTER DATABASE MOUNT`

  1.  oradim

c:\oracle\…bin>oradim –shutdoun –aid mybase

radim –help

  1.  win 2000Панель упр->Администрирование-> службы

OracleServerMybase –автоматический запуск; Останов из-под служб=ABORT

Ограничение доступа к БД.1)startup restrict-запускает бд т.о.,что к ней могут подключаться только sysoper и sysdba.В этот режим переводится только через останов 2)замораживание БД-quiescing-перевод БД в режим quiescent.Обычные польз.не могут создавать сеансы и делать запросы. С точки зрения пользов.все подвисло”.Администратор может выполнять все .что угодно Замораживание (quiescing) – ограничения доступа обычных пользователей к БД без ее остановки .Для использования этой функции необходимо разрешить менеджер ресурсов БД (DatabaseResource Manager). Необходимо создать план ресурсов и связать его с менеджером ресурсов.После этого можно использовать команду ALTER SYSTEM для перевода БД в режим замораживания (quiescent).3)Приостановка бд – администратор тоже не может обращаться к данным alter system suspend; …; alter system resume;(возвращение обратно)


5 Управляющие файлы. Создание, удаление и перемещение (переименование) управляющих файлов.

Управляющий файл(УФ) – Используется для контроля за физическим компонентами БД. Рекомендуется резервировать.

Содержит:

- имя

- временная метка создания

- имена и расположение файлов данных и журналов

Операции с УФ.

- узнать расположение УФ: select * from u$controlfile 

- создать УФ: CREATE CONTROLFILE путь

- мультиплексирование УФ: INIT.ORA:

 CONTROL_FILES =(‘путь’,…, ‘путь’)

- резервное копирование УФ.

1) ALTER DATABASE BACK CONTROLFILE to имя;

2) ALTER DATABASE BACK CONTROLFILE to TRACE

В папке udump – создается скрипт УФ.

CREATE CONTROLFILE RGUB DATABASE mybase …

RGUB – компоненты, которые приведут к копированию.

- удалить/переместить УФ.

1. Отключить БД.

2. Изменить имя(скопировать УФ)

3. Отредактировать INIT.ORA т.е. изменить CONTROL_FILES=…

4. Запустить БД.


6-й вопрос. Файлы данных. Создание, перемещение (переименование) файлов данных. Изменение состояния файлов данных.

Создание:

1-ый комплект создается сразу (ТО SYSTEM) и все файлы БД создаются именно в ней.

Для создания ФД используется CREATE TABLESPACE.

Для создания временных ФД: CREATE TABLESPACE tablespace TEMPORARY

 ALTER TABLESPACE tablespace TEMPORARY

Существует ограничение не максимальное количество ФД. По умолчанию 200. (1.Определяется параметром DB_FILES; 2.Параметр MAXDATAFILES(<=DB_FILES)).

Перемещение:

1. Перевести режим работы ТО в OFFLINE (ALTER TABLESPACE tablepsace OFFLINE).

2. Скопировать или переместить в новое место.

3. Переименовать ФД в табличной области (ALTER TABLESPACE tablespace RENAME DATAFILE ‘old_name’ TO ‘new_name’

4. Перевести ТО в онлайн (ALTER TABLESPACE tablespace ONLINE).

Если переименовывать ФД из ТО SYSTEM, надо смонтирвать БД, но не открывать.

Изменение состояния:

1. Изменение параметров хранения для ТО

При изменении параметров хранения для табличной области эти изменения коснутся

впоследствии создаваемых в этой ТО объектов. Изменение параметров хранения – оператор ALTER TABLESPACE.

Пример:

ALTER TABLESPACE users

DEFAULT STORAGE (

INITIAL 50K

NEXT 50K

MINEXTENTS 2

MAXEXTENTS 20

PCTINCREASE 50);

2. включение/выключение

ALTER TABLESPACE users ONLINE/OFFLINE;

Не каждый ФД можно выключить (если в режиме ARCHIVELOG, то можно)

Выключение ТО можно выполнить следующими способами: normal offline, temporary offline, immediate offline.

ALTER TABLESPACE users OFFLINE NORMAL;

3. Перевод ТО в режим Read-Only

Перевод ТО в режим read-only делает ее недоступной для записи. После перевод То в состояние read-only следует выполнить архивирование. Перевод в режим read-only возможен, если: 1.ТО находится в состоянии online; 2.ТО не содержит активных сегментов отката; 3.ТО не находится в состоянии архивирования; 4.Параметр инициализации COMPATIBLE должен быть установлен в значение 7.1.0 (или больше).

Перевод ТО в режим read-only выполняется с помощью оператора ALTER TABLESPACE.

ALTER TABLESPACE flights READ ONLY

4. Перевод табличной области в режим Read Write

Для перевода ТО в режим READ WRITE ТО должна быть включена (находитьсяв состоянии online).

ALTER TABLESPACE flights READ WRITE;

5. Удаление табличной области

Можно удалить любую табличную область, кроме SYSTEM. Удаление ТО – оператор DROP TABLESPACE. Удаляются только файловые указатели, для освобождения дискового пространства необходимо удалить файлы ВРУЧНУЮ.


7. Журналирование. Группы и элементы журналов. Удаление/добавление группы/элемента.

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

Управление журналами. Отдельные файлы наз. Эл-тами журнальной группы. Оракл рекомендует 2 файла журнала (мин.). Хранить фж на разных дисках.

Создание файла журнала. Группы: ALTER DATABASE ADD LOGFILE GROUP 3 ('c:\oracle\...\redoo3.log', 'd:\...\redo.log') SIZE sook; При использовании номеров групп не рекомендуется “пропускать” номера (например, 10, 20, 30 и т.д.), т.к. это приводит к потере места в управляющих файлах БД. Элемент группы: ALTER DATABASE ADD LOGFILE MEMBER 'e:\...\redoo3.log' TO GROUP 3. Параметры: MAXLOGFILES – группы, MAXLOGMEMBERS – максимальное кол-во элементов группы.

Переключение активного файла журнала.

Автоматически - как только заполняется один фж.

SQL>select group#, sequense#,status from u$log,

  1.  5 CURRENT
  2.  3 INACTIVE
  3.  4 ACTIVE

Действия с ФЖ.

Переименование и перемещение фж.

  1.  должен быть отключен фж SQL>shutdown
  2.  SQL>host move старый новый
  3.  SQL>startup mount //смонтировать

SQL>ALTER DATABASE RENAME FILE старый TO новый;

SQL> ALTER DATABASE OPEN;

Удаление журнала

  1.  число журнальных групп >= 2
  2.  Нельзя удалить активн. Журнальную группу.
  3.  Нельзя удалить если находится в режиме соотв. If ARCHIVELOG (кот. Ожидает архивирования)

Удаление элементов журнальных групп.

  1.  должен остаться хотя бы 1 эл-т жг.
  2.  Нельзя удалять эл-ты из активн. жг.
  3.  Если ARCHIVELOG, то должно быть выполнено архивирование этого эл-та.

Удаление членов журнальной группы

Пример ALTER DATABASE DROP LOGFILE MEMBER '/oracle/dbs/log3c.rdo';

Принудительное переключение журналов ALTER SYSTEM SWITCH LOGFILE;

Очистка ФЖ.

ALTER DATABASE CLEAR LOGFILE GROUP 3;

Информация о журналах.

V$LOG

V$LOGFILE

V$LOGHISTORY


8. Режимы архивирования журнала. Настройка журналирования.

Режимы архивирования: ARCHIVELOG/NOARCHIVELOG

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

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

Для управления режимом архивирования журналов повторного выполнения утилита SQL*Plus предлагает команду ARCHIVE LOG, которая имеет следующий синтаксис:

<команда ARCHIVE LOG > ::=

ARCHIVE LOG <команда или журнал> [TO <место назначения>]

<команда или журнал> ::=

LIST | STOP | START | NEXT | ALL | <номер журнала>

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

Опция

Назначение

LIST

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

STOP

Останавливает автоматическое архивирование. Если экземпляр по- прежнему работает в режиме ARCHIVELOG и все группы журналов повторного выполнения заполнены, работа базы данных приостанавливается, пока файл журнала повторного выполнения не будет заархивирован (например, командами ARCHIVE LOG NEXT или ARCHIVE LOG ALL).

START

Включает автоматическое архивирование. Запускает фоновый процесс ARCH, выполняющий автоматическое архивирование при необходимости. Если запускается процесс ARCH и в команде указано имя файла, этот файл становится новым стандартным местом назначения для архива. Процесс ARCH запускается автоматически при запуске экземпляра, если параметр инициализации LOG_ARCHIVE_START имеет значение TRUE.

NEXT

Явно архивирует следующую заполненную, но еще не заархивированную оперативную группу файлов журнала повторного выполнения.

ALL

Явно архивирует все заполненные, но еще не заархивированные оперативные группы файлов журнала повторного выполнения.

номер журнала

Вызывает архивирование любой еще доступной оперативной группы файлов журнала повторного выполнения с указанным номером последовательности. Если такая группа не найдена, выдается сообщение об ошибке. Эта опция позволяет повторно выполнить архивирование группы.

Если место назначения для архива не указано явно в командной строке, используется параметр инициализации LOG_ARCHIVE_DEST (стандартное место назначения). Если новое место назначения указано с опцией START, оно становится стандартным. В остальных случаях туда записываются только соответствующие архивы, инициированные данной командой.

Команду ARCHIVE LOG может выполнять только пользователь, подключившийся как SYSOPER или SYSDBA. Она применяется только к текущему экземпляру. Для управления другими экземплярами и кластером в целом используется SQL-оператор ALTER SYSTEM.

Если все оперативные группы файлов журнала повторного выполнения заполнены и не доступны для повторного использования (т.е. сервер работает в режиме ARCHIVELOG, и они не скопированы) работа базы данных приостанавливается. Явное архивирование решает эту проблему.


9.Контрольная точка(КТ). Принудительное выполнение контрольной точки.

“то что необходино произвести запись на диск” В файле init.ora, имеется два параметра, которые влияют на работу процесса LGWR. Это параметры LOG_CHECKPOINT_INTERVAL, LOG_CHECKPOINT_TIMEOUT - определяют, интервалы следования КТ в самой БД.

LOG_CHECKPOINT_INTERVAL при активации параметра, КТ генерируется при условии, что указанное количество блоков операционной системы (а, не блоков БД!) записывается в журнал транзакций.

LOG_CHECKPOINT_TIMEOUT при активации параметра, КТ генерируется при условии, что истек период ожидания времени в секундах.

LOG_CHECKPOINT_INTERVAL, то указанное количество блоков ОС должно соотносится с размером группы журнала транзакций! Когда эта группа заполняется - генерируются контрольная точка.

LOG_CHECKPOINT_TO_ALERT из файла init.ora, если он активирован то, после генерации каждой контрольной точки будет проставлена соответствующая пометка, в файле регистрации alert.log, что может оказаться полезным при давнейшем процессе анализа генерации контрольных точек БД.

- Принудительное выполнение контрольной точки. ALTRE SYSTEM CHECKPOINT


10. Табличная область (ТО).

Виды ТО:

  1.  постоянные (данные сохраняются при завершении работы экземпляра);
  2.  временные (данные не сохраняются).

В табличной области SYSTEM хранится вся управляющая информация.

Виды ТО:

  1.  с управляющим словарем (управляющая информация хранится в словаре данных);
  2.  с локальным управлением (управляющая информация хранится в файлах этой же ТО).

Создание ТО.

CREATE TABLESPACE

Удаление ТО.

  1.  Файлы данных остаются:

DROP TABLESPACE INCLUDING CONTENTS;

  1.  Файлы данных тоже удаляются:

DROP TABLESPACE INCLUDING CONTENTS AND DATAFILE;

Сращивание ТО.

Если параметр PCNT INCREASE = 0, то автоматического сращивания не происходит.

ALTER TABLESPACECOALESCE;

Добавление файлов (пространства) в ТО.

ALTER TABLESPACE … ADD DATAFILE ‘….’ SIZE 50M;

ALTER TABLESPACE DATAFILE ‘….’ REUSE 5M;

Изменение режима доступа к ТО.

Режимы доступа:

READ ONLY

READ WRITE

OFFLINE

ONLINE

ALTER TABLESPACE … READ ONLY;

Просмотр информации о ТО.

1) V$TABLESPACE

 DBA_TABLESPACES

DBA_SEGMENTS

V$DATAFIEL

V$TEMPFILE

 DBA_USERS

2) посредством EOM

Установка квот на ТО.

REVOKE RESOURCE FROM польз.;

ALTER польз. QUOTA UNLIMITED ON temp;

QUOTA 20M ON user_to;


11.Управление пространством

INITIAL_EXTENT- размер первоначального EXTENT

MINE_EXTENT- кол-во EXTENT

NEXT_EXTENT- размер след. EXTENT

PCNT_INCREASE- рост в % относит. предыдущ. EXTENT

Пример

SQL> select initial_extent, mine_extent, max_extent, pcnt_extent, extent_managment from dbs_Tablespaces, where tablespace_name= ‘SYSTEM’;

INITIAL_EXTENT MINE_EXTENT MAX_EXTENT PCNT_INCREASE

12288     1    249    50

EXTENT_MANAGMENT

DICTIONARY

SQL> alter tablespace SYSTEM default storage;

Tablespace altered

SQL>……

Выделение экстента:

  1.  Автоматически

Create tablespace test1 datafile’…’ size 50M extent management local autoallocate

  1.  Вручную (задавать размер)

Create tablespace test1 datafile’…’ size 50M extent management local uniform SIZE 64K;

TO:

  1.  локальное управление (local)- управление с помощью списка свободных блоков
  2.  управление словарем (dictionary) bitmap (более эффективое)


Вопрос 12. Управление пользователями. Создание пользователей. Аутентификация пользователей. Роли, привилегии, профили.

Учетные записи пользователей. С каждой учетной записью связан пароль, который можно изменить. Учетную запись можно связать с учетной записью пользователя в операционной системе.

Привилегии. Доступ к объекту управляется привилегиями – правами выполнять команды.

Назначается следующим образом:

GRANT «привилегия» on «объект» to «пользователь» (без кавычек, естественно).

В качестве привилегий могу быть указаны ALTER DELETE EXECUTE INSERT SELECT UPDATE и др.

Привилегии может устанавливать владелец или пользователь, у которого есть права.

REVOKE «права» on «объект» from «пользователь» - отнять права.

SQL> connect scott/tiger;

SQL> create table test tablespace users;

SQL> insert into test values(1);

............................................................

SQL> commit;

SQL> grant select on test to vova;

............................................................

SQL> connect vova/vovik;

SQL> select * from scott.test;

SQL> insert into scott.test values(2); - ошибка, у пользователя vova нет прав INSERT на таблицу scott.test.

SQL> connect scott/tiger;

SQL> revoke all on test from vova; - scott отнимает права у vova (как владелец).

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

SQL> create role 'test_role' identified by 'aa';

SQL> grant create any table to 'test_role';

SQL> grant 'test_role' to vova.

Посмотреть все имеющиеся роли можно в DBA_ROLES.

SQL> create role account_creator;

SQL> grant create session, create, alter user to account_creator.

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

SQL> alter user vova default role CONNECT;

SQL> alter user vova default role all except account_creator;

MAX_ENABLED_ROLES – ограничивает количество ролей (обычно 30)

Представления словаря, относящиеся к ролям и привилегиям.

  1.  DBA_ROLES – все роли
  2.  DBA_ROLE_PRIVS – пользователи, кот предоставлена роль DBA
  3.  DBA_SYS_PRIVS – пользователи, кот предоставлены системные привилегии
  4.  DBA_TAB_PRIVS - пользователи, кот предоставлены привилегии на таблицы
  5.  DBA_COL_PRIVS - пользователи, кот предоставлены привилегии на столбцы
  6.  ROLE_SYS_PRIVS – роли, кот предоставлены сист привилегии
  7.  ROLE_TAB_PRIVS – роли, которым предоставлены привилегии на таблицы

Профили 

Ресурсы:

SESSIONS_PER_USER – кол-во сеансов на пользователя

CPU_PER_SESSION – время ЦПУ в сотых долях на время сеанса

CONNECT_TIME – время (в мин), в течение которого сеанс м/б соединен с БД

LOGICAL_READS_PER_SESSION – количество блоков, считанных за время сеанса

+ограничения на пароль

CREATE PROFILE «имя профиля» LIMIT «ограничения»

SQL> create profile 'test_profile'

SQL> limit cpu_per_session default

SQL> password_lock_time 5;

alter user vova profile 'test_profile';

Ограничения на пароли:

PASSWORD_LIFE_TIME – в днях

PASSWORD_REUSE_TIME – по истечении какого срока можно исп повторно

PASSWORD_REUSE_MAX – максимальное кол-во раз повт использования

PASSWORD_LOCK_TIME – на какое время блокируется учетная запись

PASSWORD_GRACE_TIME – время, в теч которого возможен вход при истекшем пароле

PASSWORD_VERIFY_FUNCTION - функция,которая проверяет надежность пароля


13. Резервное копирование

Виды резервного копирования:

  •  Логическое (экспорт как всей базы так и её части)
  •  Физическое

13.1 Логическое копирование (экспорт)

Утилита резервного копирования exp сбрасывает свои данные в файл-дампа. ЛРК возможно при открытой базе данных.

Режимы экспорта: Full, Tablespace, User, Table (полное, табличная область, пользовательские схемы и таблица)

пример:

exp userid = system/manager@aa

 file = scott.dmp owner = scott (scott.dmp—имя файла-дампа)

imp – утилита импортирования

пример:

connect scott\tiger@aa

drop table emp; (“случайно” удаляется таблица)

imp userid = system\manager@aa file= scott.dmp

table = emp from user = scott to user = scott

13.2 Физическое копирование

ФК бывает:

  •  автономное (offline, холодное), т.е копирование при выключенной базе данныз
  •  динамическое (online backup, горячее) этот способ возможен лишь в режиме ARCHIEVELOG

пример:

 SQL> alter tablespace users begin backup;

………………………………………………

SQL> hot copy C:\oracle\oradate\users\* d:\backup

SQL> alter tablespace users end backup;

Копирование бывает полным и частичным. При полном копируется вся бд полностью, включая упр. бд

База данных считается целостной, если она находится в состоянии после точки восстановления или после нормальной остановки.

Способы физ. копирования:

  •  RMAN— при данном способе восстановления используется спец. каталог восстановления, который рекомендуется хранить на отдельном носителе. Этот каталог может быть использован для восстановления нескольких бд. Отслеживаются изменения, произошедшие с момента последнего копирования.
  •  средствами ОС ---1. Создается список файлов (с помощью словаря из работающей БД)

2. останавливается БД.

3. Копирование

4. Запуск БД

 

Планирование копирования средствами ОС

  1.  shutdown.sql:

connect sys\change_on_install@aa as sysdba;

shutdown immediate;

startup restrict;

shutdown normal;

exit;

  1.  startup.sql:

connect sys\change_on_install@aa as sysdba;

startup;

exit;

  1.  oraback.bat:

c:\oracle\...\bin\sqlplus.exe –s \nolog @shutdown.sql

copy c:\oracle\...\aa\*.dbf c:\tmp\

copy c:\oracle\...\aa\*.log c:\tmp\

copy c:\oracle\...\aa\*.cfl c:\tmp\

c:\oracle\...\bin\sqlplus.exe –s \nolog @startup.sql

  1.  at 00:00 \every: m,w,f,su


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

1. Введение

Настройка может проводиться с целью повышения производительности (т.е. число запросов в единицу времени) или уменьшения времени отклика. Стратегия зависит от требований поставленной задачи. Эти требования и цели должны быть сформулированы в явном виде, например, ”среднее время выполнения SQL-запроса меньше 3 с”. При настройке системы для выполнения определенных требований часто необходимо бывает идти на компромисс. Так, например, устранение проблем, связанных с чтением/записью может потребовать увеличения количества дисков или увеличения объема памяти. Однако, при любых условиях нельзя жертвовать возможностью восстановления данных.

2. Оценка производительности

Динамические характеристики системы можно оценить, просматривая представления словаря V$. Список всех представления V$ содержится в представлении V$FIXED_TABLE. Представления V$ читают информацию из внутренних системных таблиц X$. Даные этих таблиц динамически обновляются, если параметр инициализации TIME_STATISTICS установлен в зачение TRUE::

ALTER SYSTEM SET TIME_STATISTICS=true;

  •  

2.1. Представления на уровне экземпляра

Следующие представления рассматривают экземпляр как одно целое и отражают статистические данные о работе экземпляра либо с момента запуска, либо (если это статистика SGA) текущие значения, которые изменяются при перераспределении пространства SGA. Ниже приведены некоторые из них

Представление

Примечания 

V$INSTANCE

Текущее состояние экземпляра.

V$ROWCACHE

Статистика использования словаря данных.

V$SGA

Содержит общую информацию о SGA 

V$SYSSTAT

Основная статистика экземпляра.

2.2. Представления на уровне сессии

Статистические данные таких представлений накапливаются с момента открытия сессии.

Представление

Примечания 

V$LOCK

Информация об активных блокировках

V$MYSTAT

Статистика текущей сессии.

3.3. Настройка ресурсов CPU

Оцените используемые Вашей системой ресурсы CPU в трех случаях:

  •  при бездействии системы
  •  при средней нагрузке
  •  при пиковой нагрузке

При пиковой нагрузке нормальным считается 90% загрузка CPU, при средней нагрузке допустимым считается 30% использование ресурсов CPU.

Обнаружение и устраниние проблем, связанных с CPU 

Использование CPU для системных нужд

Статистика Oracle показывает загрузку CPU только за счет сессий Oracle, тогда как операционная система тоже занимает ресурсы CPU. Таким образом, настройка ОС может привести к улучшению характеристик производительности Oracle.

Использование CPU для нужд Oracle

Информацию об использовании CPU можно получить из следующих представлений:

  •  V$SYSSTAT – использование CPU всеми сессиями (поле "CPU Used").
  •  V$SESSTAT – использование CPU каждой сессией.

Основные возможные причины проблем CPU

  •  Синтаксический разбор SQL предложений (репарсинг)
  •  Неэффективное построение SQLзапросов
  •  Большое количество операций чтения
  •  Проблемы масштабирования в приложении
  •  Блокировки

3.4. Распределение памяти

Oracle хранит информацию в памяти и на диске. Доступ к данным, расползающимся в памяти, осуществляется значительно быстрее, чем к данным на диске. Таким образом, правильное распределения памяти между структурами Oracle оказывает большое влияние на производительность.

Требования к памяти зависят от приложения, таким образом, настройку памяти нужно проводить после настройки приложений и настройки SQL-предложений, но до настройки чтения/записи.

Устранение проблем, связанных с памятью

Настройка ОС. Сокращение постраничного замещения и свопинга

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

Расположение SGA в основной памяти (недопущение свопинга)

Для того, чтобы ОС не выполняла свопинг SGA, необходимо обеспечить ее полное использование, например, читать SGA при запуске экземпляра, определив значение параметра инициализации PRE_PAGE_SGA = YES. Это приведет к увеличению времени запуска экземпляра, поэтому применимо, если в Вашей системе не происходит частых подключений и отключений. Можно определить точное количество страниц, которые будут прочитаны при запуске, с помощью следующего предложения:

 SHOW SGA

Результат выполнения примерно следующий:

 Total System Global Area    18847360 bytes

Fixed Size      63104 bytes

Variable Size     14155776 bytes

Database Buffers     4096000 bytes

Redo Buffers     532480 bytes

Назначение адекватного размера памяти отдельным пользователям

Память, выделяемая для пользователя, должна содержать:

  •  Образ исполняемых файлов Oracle (короче, сам оракл)
  •  SGA
  •  Утилиты
  •  Данные, специфичные для приложения

3.5. Настройка буфера протокола

Параметр LOG_BUFFER определяет объем памяти, выделенный для буфера журнала. Процесс LGWR начинает перенос данных из буфера журнала на диск при почти полном заполнении журнала. Таким образом, больший буфер журнала обеспечит возможность одновременной записи и в буфер журнала и переносу данных из буфера на диск.

3.7. Настройка разделяемого пула

Алгоритм, используемый Oracle для управления данными, стремится сохранять данные словарного КЭШа в памяти дольше, чем данные библиотечного КЭШа. Таким образом, при настройке библиотечного кэша предполагается, что настройка словарного КЭШа проведена.

Выделение пространства разделяемой памяти для информации сессии необходимо только при использовании мульти-нитевого сервера.

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

При превышении размена разделяемого пула объекты их этих кэшей удаляются. Если такие изменения происходят часто, это ведет к потере производительности. Так как недостаток пространства буферного пула является менее критичным с точки зрения производительности, рекомендуется сначала выделить достаточный объем памяти для разделяемого пула, а затем разместить буферный кэш.

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

SELECT (SUM(PINS - RELOADS)) / SUM(PINS) "LIB CACHE" FROM V$LIBRARYCACHE;

SELECT (SUM(GETS - GETMISSES - USAGE - FIXED)) / SUM(GETS) "ROW CACHE" FROM V$ROWCACHE;

Если значения отношений близки к 1, необходимо увеличить размер пула.

Для определения объема свободной памяти в разделяемом пуле используйте представление V$SGASTAT :

 SELECT * FROM V$SGASTAT WHERE NAME = 'FREE MEMORY';

3.8. Настройка библиотечного кэша

Мониторинг использования библиотечного кэша осуществляется с помощью динамического представления V$LIBRARYCACHE. Статистика отражает активность библиотечного кэша с момента запуска экземпляра.

Каждая строка представления содержит информацию об одном типе объектов библиотечного кэша.

Пример:

SELECT SUM(PINS) "EXECUTIONS",

SUM(RELOADS) "CACHE MISSES WHILE EXECUTING"

FROM V$LIBRARYCACHE;

Результат запроса:

 EXECUTIONS CACHE MISSES WHILE EXECUTING

---------- ----------------------------

 320871   549

Интерпретация результата:

SQL-предложения, блоки PL/SQL и определения данных были доступны по исполнению 320,871 раз, из которых 549 привели к ситуации недостатка библиотечного кэша. Отношение misses/executions равно 0.17% (отношение не должно превышать 1%)

3.9. Настройка словарного кэша

Для мониторинга словарного кэша используйте представление словаря V$ROWCACHE.

Пример

SELECT SUM(GETS) "DATA DICTIONARY GETS",

SUM(GETMISSES) "DATA DICTIONARY CACHE GET MISSES"

FROM V$ROWCACHE;

Результат

DATA DICTIONARY GETS DATA DICTIONARY CACHE GET MISSES

 -------------------- --------------------------------

 1439044    3120

В данном примере, к данным словаря было всего 1,439,044 запросов, из которых 3120 закончились превышением пространства словарного кэша. Таким образом, отношение GETMISSES/GETS составляет 0.2% (допустимым считается <10-15%). При превышении порогового значения необходимо увеличить объем кэша (параметр SHARED_POOL_SIZE)

3.10. Настройка буферного кэша

Для мониторинга буферного кэша используйте представление словаря V$SYSSTAT.

Пример

SELECT NAME, VALUE

FROM V$SYSSTAT

WHERE NAME IN ('DB BLOCK GETS', 'CONSISTENT GETS',

'PHYSICAL READS');

Результат:

NAME       VALUE

------------------------------------------------------ ----------

DB BLOCK GETS      85792

CONSISTENT GETS      278888

PHYSICAL READS      23182

Критическое отношение рассчитывается по формуле (дожно быть не менее 0.9):

Hit Ratio = 1 - (physical reads / (db block gets + consistent gets)) 

Увеличение объема буферного кэша – параметр DB_BLOCK_BUFFERS.

4. Настройка контрольных точек

Частые контрольные точки уменьшают время восстановления при сбое, однако могут вызвать уменьшение производительности.

Частота контрольноых точек определяется параметром LOG_CHECKPOINT_INTERVAL.

5. Устранение конкуренции за ресурсы

Представление V$RESOURCE_LIMIT предоставляет информацию о текущем использовании и максимальном использовании системных ресурсов.


 

А также другие работы, которые могут Вас заинтересовать

76415. Преобразование Лапласа и его свойства 89.59 KB
  Различают прямое и обратное преобразование Лапласа. Прямое преобразование Лапласа определяется уравнением. Обратное преобразование Лапласа определяют из решения.
76416. Частотные характеристики САУ 83.42 KB
  Если на вход подавать синусоидальные колебания 1 то на выходе после затухания переходных процессов этим заниматься не будем также возникают синусоидальные гармонические колебания с той же частотой но с другой амплитудой и сдвинутые по фазе относительно входных колебаний: где φ – сдвиг по фазе выходных колебаний относительно входных.угол – φ Зависимость модуля АФЧХ от частоты колебаний ω называется амплитудно-частотной характеристикой. Зависимость сдвига фаз входных и выходных колебаний φ от частоты ω называется фазочастотной...
76417. Дифференциальные уравнения и передаточные функции 38.88 KB
  Введем понятие звена автоматической системы. При математическом описании системы удобно разбить систему на звенья и для каждого звена записать свое уравнение. Уравнение такого звена связывает две величины: x входная величина или воздействие и y выходная величина или реакция. Пусть момент времени t=0 выбран так что начальные условия на выходе звена являются нулевыми.
76418. Типовые сигналы 139.87 KB
  Дельтафункция является четной функцией между функцией Хэвисайда и Дирака существует связь выраженная соотношением: или На практике считается что на вход объекта подана функция функция если время действия прямоугольно го импульса намного меньше времени переходного процесса. Сдвинутые элементарные функции К этим функциям относятся функции Хевисайда и Дирака с запаздыванием т. и Рисунок 4 при этом Все...
76419. Типовые динамические звенья 34.53 KB
  Преобразуемая физическая величина поступающая на вход динамического звена называется входной х а преобразованная величина получаемая на выходе звена выходнойy. Статической характеристикой звена называется зависимость между его выходной и входной величинами в установившемся состоянии. Динамические свойства звена могут быть определены на основании дифференциального уравнения описывающего поведение звена в переходном режиме. Решение дифференциального уравнения дает возможность получить переходную или иначе временную характеристику...
76420. Минимально фазовые и не минимально фазовые звенья 21.74 KB
  Если в передаточной функции произвести замену то получаем называемое частотной характеристикой звена частотный коэффициент передачи звена. Общая фаза выходного сигнала звена будет складываться из частичных фаз определяемых каждым двучленом числителя и знаменателя. Если хотя бы один из корней звена расположен справа то такое звено не минимально фазовое звено.
76421. Интегрирующие и дифференцирующие динамические звенья и их характеристики 24.88 KB
  В этом случае для установившегося режима будет справедливым равенство откуда и произошло название этого типа звеньев. Такое звено является идеализацией реальных интегрирующих звеньев. Примерами идеальных интегрирующих звеньев могут служить операционный усилитель в режиме интегрирования гидравлический двигатель емкость и др. Дифференцирующие звенья В звеньях дифференцирующего типа линейной зависимостью связаны в установившемся режиме выходная величина и производная входной откуда и произошло название этого типа звеньев.
76422. Апериодическое звено 39.34 KB
  Временные характеристики Переходная функция: Весовая функция: Передаточная функция Передаточная функция апериодического звена 1го порядка получается путем применения к дифференциальному уравнению свойства дифференцирования оригинала преобразования Лапласа: . В целом считается что почти любой объект управления в первом приближении очень грубо можно описать апериодическим звеном 1го порядка.[1] Апериодическое звено второго порядка Уравнение апериодического звена 2го порядка имеет вид Передаточная функция апериодического звена 2го...