Автор: Пользователь скрыл имя, 03 Мая 2013 в 12:29, контрольная работа
База даних дозволяє відслідковувати всі виконувані в ній дії, тобто проводити аудит. Існує дві можливості розміщення записів аудиту: таблиця SYS.AUD$ та журнал аудиту операційної системи (ця можливість залежить від конкретної операційної системи).
Аудит можливо проводити для трьох типів дій:
спроба реєстрації в базі даних;
звернення до об’єктів бази даних;
дії в базі даних.
Для активації аудиту бази даних файл init.ora повинен містити елемент для параметра AUDIT_TRAIL. Цей параметр може мати наступні значення:
1. Аудит об’єктів бази даних ORACLE.
2.Розроблювана програма………………………………………………………...7
3. Список використаної літератури……………………………………………..11
4. Додаток №1 Лістинг програми………………………………………………12
ДЕРЖАВНА МИТНА СЛУЖБА УКРАЇНИ
АКАДЕМІЯ МИТНОЇ СЛУЖБИ УКРАЇНИ
Кафедра
Інформаційних управляючих систем та технологій
Контрольна робота
З дисципліни “Основи адміністрування баз даних”
Виконав: курсант групи К08-1
Стуканова М.Д
Дніпропетровськ
2011
АКАДЕМІЯ МИТНОЇ СЛУЖБИ УКРАЇНИ
кафедра інформаційних систем та технологій
спеціальність 6.080401 „інформаційні управляючі системи та технології”
З А В Д А Н Н Я
на контрольну роботу
курсанта групи К08-1
Стуканової Марини Дмитрівни
1. Аудит об’єктів бази даних ORACLE.
2.Розробити програму,
яка буде мати можливість
3. Дата видачі завдання ________________________
Керівник контрольної роботи __________________(доц. Кабак Л.В)
Завдання взяв до виконання ____________________(Стуканова М.Д.)
1. Аудит об’єктів бази даних ORACLE.
2.Розроблювана програма…………………
3. Список використаної літератури……………………………………………..
4. Додаток №1 Лістинг програми………………………………………………12
База даних дозволяє відслідковувати всі виконувані в ній дії, тобто проводити аудит. Існує дві можливості розміщення записів аудиту: таблиця SYS.AUD$ та журнал аудиту операційної системи (ця можливість залежить від конкретної операційної системи).
Аудит можливо проводити для трьох типів дій:
Для активації аудиту бази даних файл init.ora повинен містити елемент для параметра AUDIT_TRAIL. Цей параметр може мати наступні значення:
NONE |
Аудит вимкнено. |
DB |
Аудит активовано, запис проводиться в таблицю SYS.AUD$. |
OS |
Аудит активовано, запис проводиться в журнал аудиту операційної системи. |
Якщо записи аудиту зберігаються в таблиці SYS.AUD$, її необхідно періодично архівувати. Оскільки вона занесена у словник даних, то знаходиться у табличному просторі SYSTEM та може викликати проблеми з місцем на диску, якщо її записи періодично не очищувати.
Для видалення записів аудиту з таблиці SYS.AUD$ користувачу має бути надана роль DELETE_CATALOG_ROLE.
Кожну спробу з’єднання з базою даних можна відслідкувати. Команда, що починає аудит цих спроб, має наступний вигляд:
audit session;
Якщо записи результатів аудиту знаходяться в таблиці SYS.AUD$, їх можна продивитися за допомогою представлення словника даних DBA_AUDIT_SESSION цієї таблиці.
При запиті записів
аудиту реєстрації з таблиці
представлення DBA_AUDIT_
Перевіряються такі номери помилок:
ORA-1005 |
Повідомлення повертається, коли користувач вводить ім’я, але не вказує пароль. |
ORA-1017 |
Повідомлення повертається, коли пароль введено неправильно. |
Для вимкнення аудиту сеансу необхідно ввести команду noaudit:
noaudit session;
Можливо проведення аудиту будь-яких дій, що впливають на об’єкти бази даних: таблиці, зв’язки бази даних, табличні простори, синоніми, сегменти відкату, користувачі або індекси. Під час аудиту можна згрупувати дії, що впливають на ці об’єкти. Об’єднання команд зменшить об’єм роботи адміністратора з установки та підтримки налаштувань аудиту.
Oracle пропонує наступні групи параметрів оператора:
CONNECT |
Відслідковує реєстрацію в базі даних Oracle та виходу з неї. |
DBA |
Відслідковує команди, що потребують повноважень адміністратора БД, такі як grant, revoke, audit, noaudit, create або alter tablespace, а також create або drop public synonym. |
RESOURCE |
Здійснює аудит команд create та drop для таблиць, кластерів, представлень, індексів, табличних просторів, типів та синонімів. |
ALL |
Аудит всіх цих команд. |
ALL PRIVIEGES |
Аудит всіх попередніх команд, а також аудит команд delete, insert, update та деяких інших. |
Кожній дії, над якою може проводитися аудит, в базі даних присвоюється чисельний код. Ці коди доступні в представленні AUDIT_ACTION. Дізнавшись код дії, можна з’ясувати як ця дія вплинула на об’єкт.
За допомогою конструкції username можна здійснювати аудит конкретного користувача. Наприклад:
audit update table by SCOTT
Окрім аудиту операцій системного рівня над об’єктами, можна проводити аудит операцій з маніпулювання даними, наприклад команд select, insert, update та delete. Ці дії відслідковуються приблизно також, як і попередні. Єдина відмінність пов’язана з додаванням до команди audit нової конструкції.
Додатковими конструкціями для аудиту об’єкту є by session або by access. Вони визначають, чи потрібно робити запис аудиту один раз для кожного сеансу (by session) або при кожному звертанні до об’єкта (by access).
Завдання № 2
Розробити програму, яка буде мати можливість переглядати інформацію про правила цілісності для таблиць будь якого користувача . Розроблена програма повинна мати можливість видаляти будь яке із існуючих правил цілісності. Для написання програми необхідно використовувати наступні пакети програм Oracle Pl/SQL, Delphi чи C++Builder. У пояснювальній записці прикласти текст програми з коментарями. На дискеті прикласти відкомпільований файл програми з вихідними текстами програм.
Рис.1 Форма виконання програми.
Програма дає можливість адміністратору баз даних переглядати обмеження цілісності, встановлювати нові та видаляти існуючі обмеження для стовпців таблиці відповідного користувача.
Список використаної літератури:
Додаток№ 1 Лістинг програми:
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//----------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//----------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
ADOQuery1->Active = false;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("select username from sys.dba_users");
ADOQuery1->Active = true;
ComboBox1->Text=' ';
while(!ADOQuery1->Eof){
ComboBox1->Items->Add(
ADOQuery1->Next();
}
}
//----------------------------
void __fastcall TForm1::ComboBox1Change(
{
ADOQuery2->Active = false;
ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Add("select table_name from sys.dba_tables where owner='"+ComboBox1->Text+"'");
ADOQuery2->Active = true;
ComboBox2->Text=' ';
ComboBox2->Items->Clear();
while(!ADOQuery2->Eof){
ComboBox2->Items->Add(
ADOQuery2->Next();
}
}
void __fastcall TForm1::ComboBox2Change(
{
ADOQuery3->Active = false;
ADOQuery3->SQL->Clear();
ADOQuery3->SQL->Add("select column_name
from sys.dba_tab_cols where owner='"+ComboBox1->Text+"'
and table_name='"+ComboBox2->Text+
ADOQuery3->Active = true;
ComboBox3->Text=' ';
ComboBox3->Items->Clear();
while(!ADOQuery3->Eof){
ComboBox3->Items->Add(
ADOQuery3->Next();
}}
void __fastcall TForm1::ComboBox3Change(
{
ADOQuery4->Active = false;
ADOQuery4->SQL->Clear();
ADOQuery4->SQL->Add("select constraint_name
from sys.dba_CONS_COLUMNS where owner='"+ComboBox1->Text+"'
and table_name='"+ComboBox2->Text+
ADOQuery4->Active = true;
ComboBox4->Text=' ';
ComboBox4->Items->Clear();
while(!ADOQuery4->Eof){
ComboBox4->Items->Add(
ADOQuery4->Next();
}}
void __fastcall TForm1::ComboBox4Change(
{
ADOQuery6->Active = false;
ADOQuery6->SQL->Clear();
ADOQuery6->SQL->Add("select constraint_type
from DBA_CONSTRAINTS where constraint_name='"+ComboBox4->
ADOQuery6->Active = true;
ComboBox5->Text=' ';
ComboBox5->Items->Clear();
while(!ADOQuery6->Eof){
ComboBox5->Items->Add(
ADOQuery6->Next();
}}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (ComboBox5->Text=="R")
{
ADOQuery5->SQL->Clear();
ADOQuery5->SQL->Add("alter
table "+ComboBox1->Text+"."+
ADOQuery5->Active = true;
}
else
if (ComboBox5->Text=="P")
{
ADOQuery5->SQL->Clear();
ADOQuery5->SQL->Add("alter table "+ComboBox1->Text+"."+
ADOQuery5->Active = true;
}
else
{
ADOQuery5->SQL->Clear();
ADOQuery5->SQL->Add("alter table "+ComboBox1->Text+"."+
Информация о работе Контрольна робота з “Основи адміністрування баз даних”