Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1.
- Analiza struktury katalogów SZBD Oracle dla instalacji serwera oraz klienta.
- Enter user-name: system/manager@orcl as sysdba
- Connected to:
- Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
- With the Partitioning, OLAP, Data Mining and Real Application Testing options
- 2.Uruchomić narzędzie SQLPlus, logując się
- jako użytkownik:
- system/manager as sysdba
- do bazy danych
- orcl
- 2. Nazwa bazy danych i tryb pracy:
- Wykonać następujące polecenia:
- Select name from v$database;
- select log_mode from v$database;
- SQL> Select name from v$database;
- NAME
- ---------
- ORCL
- SQL> select log_mode from v$database;
- LOG_MODE
- ------------
- NOARCHIVELOG
- 3. Struktura bazy danych:
- wykonać następujące polecenia, wyświetlające poszczególne pliki bazy danych:
- select file_name from dba_data_files;
- select member from v$logfile;
- show prameters control_files
- lub
- select value from v$parameter where name=’control_files’;
- select name from v$controlfile;
- SQL> select file_name from dba_data_files;
- FILE_NAME
- --------------------------------------------------------------------------------
- C:\APP\ORADATA\ORCL\USERS01.DBF
- C:\APP\ORADATA\ORCL\UNDOTBS01.DBF
- C:\APP\ORADATA\ORCL\SYSAUX01.DBF
- C:\APP\ORADATA\ORCL\SYSTEM01.DBF
- C:\APP\ORADATA\ORCL\EXAMPLE01.DBF
- SQL> select member from v$logfile;
- MEMBER
- --------------------------------------------------------------------------------
- C:\APP\ORADATA\ORCL\REDO03.LOG
- C:\APP\ORADATA\ORCL\REDO02.LOG
- C:\APP\ORADATA\ORCL\REDO01.LOG
- SQL> show parameters control_files;
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- control_files string C:\APP\ORADATA\ORCL\CONTROL01.
- CTL, C:\APP\ORADATA\ORCL\CONTR
- OL02.CTL, C:\APP\ORADATA\ORCL\
- CONTROL03.CTL
- SQL> select name from v$controlfile;
- NAME
- --------------------------------------------------------------------------------
- C:\APP\ORADATA\ORCL\CONTROL01.CTL
- C:\APP\ORADATA\ORCL\CONTROL02.CTL
- C:\APP\ORADATA\ORCL\CONTROL03.CTL
- SQL>
- 4.Wszystkie pliki bazy danych:
- Wykonać następujące polecenie:
- Select name from v$datafile
- Union all
- select member from v$logfile
- union all
- select name from v$controlfile;
- SQL> Select name from v$datafile union all select member from v$logfile union a
- l select name from v$controlfile;
- NAME
- -------------------------------------------------------------------------------
- C:\APP\ORADATA\ORCL\SYSTEM01.DBF
- C:\APP\ORADATA\ORCL\SYSAUX01.DBF
- C:\APP\ORADATA\ORCL\UNDOTBS01.DBF
- C:\APP\ORADATA\ORCL\USERS01.DBF
- C:\APP\ORADATA\ORCL\EXAMPLE01.DBF
- C:\APP\ORADATA\ORCL\REDO03.LOG
- C:\APP\ORADATA\ORCL\REDO02.LOG
- C:\APP\ORADATA\ORCL\REDO01.LOG
- C:\APP\ORADATA\ORCL\CONTROL01.CTL
- C:\APP\ORADATA\ORCL\CONTROL02.CTL
- C:\APP\ORADATA\ORCL\CONTROL03.CTL
- 11 rows selected.
- SQL>
- 5. Przestrzenie tabel i odpowiadające im nazwy plików:
- Wykonać następujace polecenie:
- SELECT t.NAME „Tablespace", f.NAME "Datafile "
- FROM V$TABLESPACE t, V$DATAFILE f
- WHERE t TS# = f.TS #
- ORDER BY t.NAME;
- SELECT t.name "TB_NAME", d.file# "DF#",
- d.name "DF_NAME", b.status
- FROM V$
- DATAFILE d, V$TABLESPACE t, V$BACKUP b
- WHERE d.TS#= t.TS# AND b.FILE # = d.FILE #;
- SQL> SELECT t.NAME "Tablespace", f.NAME "Datafile" FROM V$TABLESPACE t, V$DATAFI
- LE f WHERE t.TS# = f.TS# ORDER BY t.NAME;
- Tablespace
- ------------------------------
- Datafile
- --------------------------------------------------------------------------------
- EXAMPLE
- C:\APP\ORADATA\ORCL\EXAMPLE01.DBF
- SYSAUX
- C:\APP\ORADATA\ORCL\SYSAUX01.DBF
- SYSTEM
- C:\APP\ORADATA\ORCL\SYSTEM01.DBF
- Tablespace
- ------------------------------
- Datafile
- --------------------------------------------------------------------------------
- UNDOTBS1
- C:\APP\ORADATA\ORCL\UNDOTBS01.DBF
- USERS
- C:\APP\ORADATA\ORCL\USERS01.DBF
- SQL> SELECT t.name "TB_NAME", d.file# "DF#", d.name "DF_NAME", b.status FROM V$D
- ATAFILE d, V$TABLESPACE t, V$BACKUP b WHERE d.TS#=t.TS# AND b.FILE# = d.FILE#;
- TB_NAME DF#
- ------------------------------ ----------
- DF_NAME
- --------------------------------------------------------------------------------
- STATUS
- ------------------
- SYSTEM 1
- C:\APP\ORADATA\ORCL\SYSTEM01.DBF
- NOT ACTIVE
- SYSAUX 2
- C:\APP\ORADATA\ORCL\SYSAUX01.DBF
- NOT ACTIVE
- TB_NAME DF#
- ------------------------------ ----------
- DF_NAME
- --------------------------------------------------------------------------------
- STATUS
- ------------------
- UNDOTBS1 3
- C:\APP\ORADATA\ORCL\UNDOTBS01.DBF
- NOT ACTIVE
- USERS 4
- C:\APP\ORADATA\ORCL\USERS01.DBF
- TB_NAME DF#
- ------------------------------ ----------
- DF_NAME
- --------------------------------------------------------------------------------
- STATUS
- ------------------
- NOT ACTIVE
- EXAMPLE 5
- C:\APP\ORADATA\ORCL\EXAMPLE01.DBF
- NOT ACTIVE
- 6. Etapy startu i zamykania bazy danych:
- Zamknąć bazę danych polceniem shutdown;
- Prześledzić etapy zamykania bazy danych;
- Uruchomić bazę danych poleceniem startup;
- Prześledzić poszczególne etapy startu bazy danych;
- SQL> shutdown;
- Database closed.
- Database dismounted.
- ORACLE instance shut down.
- SQL> startup;
- ORACLE instance started.
- Total System Global Area 535662592 bytes
- Fixed Size 1334380 bytes
- Variable Size 184550292 bytes
- Database Buffers 343932928 bytes
- Redo Buffers 5844992 bytes
- Database mounted.
- Database opened.
- SQL>
- 7.Zmiana trybu pracy bazy danych:
- .
- zamknąć bazę danych poleceniem:
- shutdown
- Uruchomić bazę danych w trybie mount poleceniem:
- startup mount
- zmienić tryb pracy bazy danych
- alter database archivelog;
- Otworzyć bazę danych i umożliwić pracę użytkownkom
- alter database open;
- poleceniami ARCHIVE LOG LIST i select log_mode from v$database
- sprawdzić w jakim trybie pracuje baza danych i jakie są numery sekwencyjne dzienników
- powtórzeń wykonać automatyczne przełączenie pliku dziennika powtórzeń
- poleceniem:
- alter system switch logfile;
- SQL> shutdown;
- Database closed.
- Database dismounted.
- ORACLE instance shut down.
- SQL> startup mount;
- ORACLE instance started.
- Total System Global Area 535662592 bytes
- Fixed Size 1334380 bytes
- Variable Size 184550292 bytes
- Database Buffers 343932928 bytes
- Redo Buffers 5844992 bytes
- Database mounted.
- SQL> alter database archivelog;
- Database altered.
- SQL> alter database open;
- Database altered.
- SQL> ARCHIVE LOG LIST;
- Database log mode Archive Mode
- Automatic archival Enabled
- Archive destination USE_DB_RECOVERY_FILE_DEST
- Oldest online log sequence 11
- Next log sequence to archive 13
- Current log sequence 13
- SQL> select log_mode from v$database;
- LOG_MODE
- ------------
- ARCHIVELOG
- SQL> alter system switch logfile;
- System altered.
- SQL>
- 8. Przełączanie plików dziennika powtórzeń:
- Wykonać następujące polecenie:
- ARCHIVE LOG LIST;
- alter system switch logfile;
- ARCHIVE LOG LIST
- SQL> ARCHIVE LOG LIST;
- Database log mode Archive Mode
- Automatic archival Enabled
- Archive destination USE_DB_RECOVERY_FILE_DEST
- Oldest online log sequence 11
- Next log sequence to archive 13
- Current log sequence 13
- SQL> select log_mode from v$database;
- LOG_MODE
- ------------
- ARCHIVELOG
- SQL> alter system switch logfile;
- System altered.
- SQL> ARCHIVE LOG LIST;
- Database log mode Archive Mode
- Automatic archival Enabled
- Archive destination USE_DB_RECOVERY_FILE_DEST
- Oldest online log sequence 12
- Next log sequence to archive 14
- Current log sequence 14
- SQL> alter system switch logfile;
- System altered.
- SQL> ARCHIVE LOG LIST;
- Database log mode Archive Mode
- Automatic archival Enabled
- Archive destination USE_DB_RECOVERY_FILE_DEST
- Oldest online log sequence 13
- Next log sequence to archive 15
- Current log sequence 15
- SQL>
- 9. Informacje na temat zarchiwizowanych plików dziennika powtórzeń:
- Wykonać następujące polecenia:
- SHOW PARAMETER LOG_ARCHIVE_FORMAT;
- SELECT NAME FROM V$ARCHIVED_LOG;
- SELECT NAME, VALUE FROM V$PARAMETER
- WHERE NAME LIKE log_archive_des
- t
- %
- AND VALUE IS
- NOT NULL;
- SQL> SHOW PARAMETER LOG_ARCHIVE_FORMAT;
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- log_archive_format string ARC%S_%R.%T
- SQL> SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME LIKE 'log_archive_dest%' AND
- VALUE IS NOT NULL;
- NAME
- --------------------------------------------------------------------------------
- VALUE
- --------------------------------------------------------------------------------
- log_archive_dest_state_1
- enable
- log_archive_dest_state_2
- enable
- log_archive_dest_state_3
- enable
- NAME
- --------------------------------------------------------------------------------
- VALUE
- --------------------------------------------------------------------------------
- log_archive_dest_state_4
- enable
- log_archive_dest_state_5
- enable
- log_archive_dest_state_6
- enable
- NAME
- --------------------------------------------------------------------------------
- VALUE
- --------------------------------------------------------------------------------
- log_archive_dest_state_7
- enable
- log_archive_dest_state_8
- enable
- log_archive_dest_state_9
- enable
- NAME
- --------------------------------------------------------------------------------
- VALUE
- --------------------------------------------------------------------------------
- log_archive_dest_state_10
- enable
- 10 rows selected.
- SQL>
- Zarządzanie bezpieczeństwem bazy danych (użytkownicy, uprawnienia, role, profile)
- 1. W bazie danych ORCL, jako użytkownik system utworzyć następujące tabele
- (mogą być już utworzone):
- DOCHOD (
- NRP, NRT
- , KWOTA),
- TEMAT (
- NRT
- , NAZWA, NRKT),
- ZESPOL (
- NRZ
- , NRKZ, NAZWA),
- PRACOWNIK (
- NRP
- , NAZWISKO, IMIE, ADRES),
- STANOWISKO (
- NRS
- , STANOWISK
- O),
- W bazie tej znajdują się następujące przestrzenie tabel:
- 1.
- system
- –
- systemowa
- 2.
- temp
- –
- tymczasowa
- 3.
- sysaux
- –
- narzędziowa
- 4.
- UNDO
- –
- segmentów wycofania
- SQL> CREATE TABLE DOCHOD (NRP int, NRT int, KWOTA decimal, CONSTRAINT PK PRIMARY
- KEY(NRP,NRT));
- Table created.
- SQL> CREATE TABLE TEMAT (NRT int primary key, NAZWA VARCHAR(20), NRKT int);
- Table created.
- SQL> CREATE TABLE ZESPOL (NRZ int primary key, NRKZ int, NAZWA VARCHAR(20));
- Table created.
- SQL> CREATE TABLE PRACOWNIK (NRP int primary key, NAZWISKO VARCHAR(20), IMIE VAR
- CHAR(20), ADRES VARCHAR(50));
- Table created.
- SQL> CREATE TABLE STANOWISKO (NRS int primary key, STANOWISKO VARCHAR(20));
- Table created.
- SQL>
- 5.
- users
- –
- użytkownika
- Używając programu
- sqldeveloper
- podłączyć się jako użytkownik
- system/manager
- (do instancj
- i
- orcl
- )
- i
- utworzyć:
- 1.
- użytkownika
- admin
- o takim samym haśle jak nazwa z domyślną przestrzenią tabel
- users
- ,
- tymczasową
- temp
- .
- (sprawdzić oglądając perspektywy all_users, dba_ts_quotas),
- create user admin identified by admin default tablespace users temporary tablespace temp
- create user succeeded.
- 2.
- użytkownika
- projekta
- n
- t
- z tym samym hasłem
- jak nazwa
- , z domyślną przestrzenią tabel
- users
- i
- tymczasową
- temp. Uwaga! Konto powinno być zablokowane.
- create user projektant identified by projektant default tablespace users temporary tablespace temp
- account lock
- create user succeeded.
- J
- ako użytkownik
- system/manager
- nada
- ć
- użytkownikom następujące przywileje
- (
- obiektowe i
- systemowe
- )
- :
- 3.
- użytkownikowi
- admin
- przywileje do tworzenia, zarządzania i usuw
- ania użytkowników:
- create session, create user, alter user, drop user, create role, grant any role, grant any
- privilege
- z możliwością przekazania tych przywilejów innym użytkownikom
- (with admin
- option),
- grant create session to admin with admin option
- grant create user to admin with admin option
- grant alter user to admin with admin option
- grant drop user to admin with admin option
- grant create role to admin with admin option
- grant grant any role to admin with admin option
- grant grant any privilege to admin with admin option
- grant grant succeeded.
- grant grant succeeded.
- grant create succeeded.
- grant create succeeded.
- grant alter succeeded.
- grant drop succeeded.
- grant create succeeded.
- grant grant succeeded.
- grant grant succeeded.
- 4.
- Podłączyć się do bazy jako użytkownik admin
- i wyświet
- lić
- zawartość perspektyw
- user_sys_privs, session_privs
- ,
- select * from user_sys_privs - 7 rekordow
- select * from session_privs - 7 rekordow
- 5.
- Jak
- o
- użytkownik
- admin
- nada
- ć
- użytkownikowi
- pr
- ojektant
- przywilej tworzenie sesji (
- create
- session
- ) oraz
- select
- na tabelę
- pracownik
- ,
- temat
- oraz
- update
- na
- tabelę
- dochod
- .
- (Czy się
- powiedzie?); Jeśli nie wykonać powtórnie.
- grant create session to projektant
- grant select on pracownik to projektant - nie dziala
- grant select on temat to projektant - nie dziala
- grant update on dochod to projektant - nie dziala
- 6.
- Podłącz
- yć
- się do bazy jako użytkownik
- pr
- ojektant
- i
- zobacz
- yć
- swoje przywileje
- (
- user_tab_privs, user_col_privs
- ),
- Account is locked.
- 7.
- wykona
- ć
- operację
- select
- na tabeli
- pracownik
- ,
- Account is locked.
- J
- ako użytkownik
- system/manager
- –
- odebrać
- użytkownikowi
- admin
- wszystkie nadane mu
- uprawnienia
- revoke create session from admin
- revoke create user from admin
- revoke alter user from admin
- revoke drop user from admin
- revoke create role from admin
- revoke grant any role from admin
- revoke grant any privilege from admin
- 8.
- Utw
- orzyć
- rolę
- admin_role
- , przydziel
- ić
- roli następujące przywileje create session, create
- user, alter user, drop user, create role, grant any role, grant any privilege.
- create role admin_role
- grant create session, create user, alter user, drop user, create role, grant any role, grant any privilege to admin_role
- 9.
- Wyświetlić zawartość
- perspektyw (dba_role_privs, dba_roles, dba_sys_privs przy
- warun
- ku ‘where granted_role=’admin_role’’);
- lub select * from dba_role_privs where grantee = ‘SYSTEM’;
- SQL> SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTED_ROLE='ADMIN_ROLE';
- GRANTEE GRANTED_ROLE ADM DEF
- ------------------------------ ------------------------------ --- ---
- SYSTEM ADMIN_ROLE YES YES
- SQL>
- SQL> SELECT * FROM DBA_ROLES WHERE GRANTED_ROLE='ADMIN_ROLE';
- SELECT * FROM DBA_ROLES WHERE GRANTED_ROLE='ADMIN_ROLE'
- *
- ERROR at line 1:
- ORA-00904: "GRANTED_ROLE": invalid identifier
- SQL>
- SQL> SELECT * FROM DBA_SYS_PRIVS WHERE GRANTED_ROLE='ADMIN_ROLE';
- SELECT * FROM DBA_SYS_PRIVS WHERE GRANTED_ROLE='ADMIN_ROLE'
- *
- ERROR at line 1:
- ORA-00904: "GRANTED_ROLE": invalid identifier
- SQL>
- SQL> SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE='SYSTEM';
- GRANTEE GRANTED_ROLE ADM DEF
- ------------------------------ ------------------------------ --- ---
- SYSTEM AQ_ADMINISTRATOR_ROLE YES YES
- SYSTEM ADMIN_ROLE YES YES
- SYSTEM DBA YES YES
- SYSTEM MGMT_USER NO YES
- SYSTEM SZUK_TAB YES YES
- SYSTEM TW_TAB YES YES
- 6 rows selected.
- SQL>
- 10.
- Przydziel
- ić
- użytkownikowi
- admin
- rolę
- admin_role
- .
- (
- wyświetlić zawartość perspektyw:
- user_role_privs, dba_roles)
- GRANT admin_role to admin
- select * from user_role_privs - 1 rekord
- select * from dba_roles
- 11.
- Podłączyć się do bazy danych jako użytkownik
- ad
- min
- J
- ako użytkownik
- system/manager
- –
- utworzyć profil
- profile_proj
- :
- create profile profile_proj limit
- sessions_per_user 1
- idle_time 1
- cpu_per_call 7
- logical_reads_per_session 20
- 12.
- Zredukować liczbę
- równoległych sesji dla jednego użytkownika do1
- (SESSIONS_PER_USER)
- ,
- 13.
- Możliwy czas bez pracy w sesji
- zredukować
- do 1 minuty
- (IDLE_TIME)
- ,
- 14.
- Czas CPU na wywołanie (w setnych sekundy) skrócić do 7 (0,07 sekundy)
- (
- CPU_PER_CALL)
- ,
- 15.
- Liczbę bloków danych (czytanych fizycznie i logicznie) LOGICAL_READS_PER_SESSION
- zmniejszyć do 20;
- 16.
- Włączyć kontrolę czasu trwania operacji pleceniem
- set timing on,
- set timing on
- 17.
- Przydziel
- ić
- profil użytkownikowi
- projektan
- t
- (jako użytkownik system/manager
- –
- zastosować
- polecenie
- alter user
- ,
- SQL> alter user projektant profile profile_proj;
- User altered.
- SQL>
- 18.
- Podłącz
- yć
- się do bazy jako
- system/manager
- i komendą ALTER SYSTEM ustaw
- ić
- parametr
- RESOURCE_LIMIT na true, który włącza kontrolę zas
- obów, bez przerywania pracy bazy
- danych,
- SQL> alter system set resource_limit=true;
- System altered.
- SQL>
- 19.
- podłącz
- yć
- się do bazy jako użytkownik
- projektant,
- 20.
- Zr
- obić
- sobie przerwę i sprawd
- zić
- co się stanie po około 1 minucie bez pracy;
- Wyskoczyl blad ze polaczenie zostalo zamkniete
- 21.
- Sprób
- ować
- podłączyć się drugi raz, otworzyć drugą sesję
- –
- co się stanie
- Blad exceeded simultaneous SESSION_PER_USER limit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement