poniedziałek, 16 września 2013

Uprawnienia do statystyk AWR

Skrypt dla AWR wprowadź użytkownika uprawnieniach administratora bazy
potrzebne uprawnienia

Prompt Enter DBA user name to grant AWR privileges to.

grant select on DBA_HIST_DATABASE_INSTANCE to &&usr;
grant select on DBA_HIST_SNAPSHOT to &&usr;
grant select on DBA_HIST_SNAP_ERROR to &&usr;
grant select on DBA_HIST_BASELINE to &&usr;
grant select on DBA_HIST_WR_CONTROL to &&usr;
grant select on DBA_HIST_DATAFILE to &&usr;
grant select on DBA_HIST_FILESTATXS to &&usr;
grant select on DBA_HIST_TEMPFILE to &&usr;
grant select on DBA_HIST_TEMPSTATXS to &&usr;
grant select on DBA_HIST_SQLSTAT to &&usr;
grant select on DBA_HIST_SQLTEXT to &&usr;
grant select on DBA_HIST_SQL_SUMMARY to &&usr;
grant select on DBA_HIST_SQL_PLAN to &&usr;
grant select on DBA_HIST_SQLBIND to &&usr;
grant select on DBA_HIST_OPTIMIZER_ENV to &&usr;
grant select on DBA_HIST_EVENT_NAME to &&usr;
grant select on DBA_HIST_SYSTEM_EVENT to &&usr;
grant select on DBA_HIST_BG_EVENT_SUMMARY to &&usr;
grant select on DBA_HIST_WAITSTAT to &&usr;
grant select on DBA_HIST_ENQUEUE_STAT to &&usr;
grant select on DBA_HIST_LATCH_NAME to &&usr;
grant select on DBA_HIST_LATCH to &&usr;
grant select on DBA_HIST_LATCH_CHILDREN to &&usr;
grant select on DBA_HIST_LATCH_PARENT to &&usr;
grant select on DBA_HIST_LATCH_MISSES_SUMMARY to &&usr;
grant select on DBA_HIST_LIBRARYCACHE to &&usr;
grant select on DBA_HIST_DB_CACHE_ADVICE to &&usr;
grant select on DBA_HIST_BUFFER_POOL_STAT to &&usr;
grant select on DBA_HIST_ROWCACHE_SUMMARY to &&usr;
grant select on DBA_HIST_SGA to &&usr;
grant select on DBA_HIST_SGASTAT to &&usr;
grant select on DBA_HIST_PGASTAT to &&usr;
grant select on DBA_HIST_RESOURCE_LIMIT to &&usr;
grant select on DBA_HIST_SHARED_POOL_ADVICE to &&usr;
grant select on DBA_HIST_SQL_WORKAREA_HSTGRM to &&usr;
grant select on DBA_HIST_PGA_TARGET_ADVICE to &&usr;
grant select on DBA_HIST_INSTANCE_RECOVERY to &&usr;
grant select on DBA_HIST_JAVA_POOL_ADVICE to &&usr;
grant select on DBA_HIST_THREAD to &&usr;
grant select on DBA_HIST_STAT_NAME to &&usr;
grant select on DBA_HIST_SYSSTAT to &&usr;
grant select on DBA_HIST_SYS_TIME_MODEL to &&usr;
grant select on DBA_HIST_OSSTAT_NAME to &&usr;
grant select on DBA_HIST_OSSTAT to &&usr;
grant select on DBA_HIST_PARAMETER_NAME to &&usr;
grant select on DBA_HIST_PARAMETER to &&usr;
grant select on DBA_HIST_UNDOSTAT to &&usr;
grant select on DBA_HIST_SEG_STAT to &&usr;
grant select on DBA_HIST_SEG_STAT_OBJ to &&usr;
grant select on DBA_HIST_METRIC_NAME to &&usr;
grant select on DBA_HIST_SYSMETRIC_HISTORY to &&usr;
grant select on DBA_HIST_SYSMETRIC_SUMMARY to &&usr;
grant select on DBA_HIST_SESSMETRIC_HISTORY to &&usr;
grant select on DBA_HIST_FILEMETRIC_HISTORY to &&usr;
grant select on DBA_HIST_WAITCLASSMET_HISTORY to &&usr;
grant select on DBA_HIST_DLM_MISC to &&usr;
grant select on DBA_HIST_CR_BLOCK_SERVER to &&usr;
grant select on DBA_HIST_CURRENT_BLOCK_SERVER to &&usr;
grant select on DBA_HIST_CLASS_CACHE_TRANSFER to &&usr;
grant select on DBA_HIST_ACTIVE_SESS_HISTORY to &&usr;
grant select on DBA_HIST_TABLESPACE_STAT to &&usr;
grant select on DBA_HIST_LOG to &&usr;
grant select on DBA_HIST_MTTR_TARGET_ADVICE to &&usr;
grant select on DBA_HIST_TBSPC_SPACE_USAGE to &&usr;
grant select on DBA_HIST_SERVICE_NAME to &&usr;
grant select on DBA_HIST_SERVICE_STAT to &&usr;
grant select on DBA_HIST_SERVICE_WAIT_CLASS to &&usr;

czwartek, 5 września 2013

Etapy zatrzymywania bazy Oracle

Cztery podstawowe etapy

1.SHUTDOWN;

domyślne, zatrzymywanie normalne,użytkownicy zostają rozłączeni, nie wymaga odtworzenia bazy

2.SHUTDOWN TRANSACTIONAL; 

zatrzymywanie po zakończeniu transakcji, nie wymaga odtworzenia bazy

3.SHUTDOWN IMMEDIATE;

zatrzymywanie natychmiastowe, użytkownicy zostają rozłączeni, nie wymaga odtworzenia bazy, transakcje wycofane

4.SHUTDOWN ABORT;

zatrzymywanie awaryjne, nagle przerwanie,wymaga odtworzenia bazy



wtorek, 27 sierpnia 2013

Proces nasłuchujący LISTENER

LISTENER 

to proces nasłuchujący na porcie domyślnie 1521 i ustalonym adresie IP. U Podstawowa konfiguracja wymaga podania nazwy serwera lub adresu IP oraz portu na którym ma nasłuchiwać. Wpisy dokonujemy w pliku listener.ora znajdującym się w katalogu $ORACLE_HOME/network/admin
np 
/u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora


LISTENER  =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.1)(PORT = 1521))
)



Komendy

lsnrctl start -uruchamia
lsnrctl status -sprawdza status
lsnrctl stop -zatrzymuje


Procedura kontroli listenerów (procesu nasłuchu)

W konsoli wpisujemy lsnrctl status.
Jeżeli listener jest uruchomiony to komenda pokarze nam raport z  którego możemy się dowiedzieć na jakich portach listener nasłuchuje dla Oracle.
Możemy także sprawdzić czy  proces listenera działa przez sprawdzenie procesów za pomocą polecenie ps -ef|grep lsn

Komenda ta zwróci nam informacje m.in

  • wersja bazy danych Oracle
  • rodzaj systemu operacyjnego na którym postawiony jest system bazodanowy
Jak wyszukać procesy uruchomione przez Oracla?

wpisujemy do konsoli komende

ps -ef | grep ora

sobota, 24 sierpnia 2013

Etapy uruchamiania bazy Oracle

Trzy podstawowe etapy

1. Alokacja pamięci oraz uruchomienie procesów. 


Ten tryb wykorzystuje się w momencie utraty pliku kontrolnego, aby go ponownie utworzyć
Odczytuje parametry z pliku SPFILE (binarny) lub PFILE (tekstowy)

STARTUP NOMOUNT;


2. Montowanie bazy danych czyli odczyt pliku kontrolnego i sprawdzenie obecności i integralności 
pozostałych plików np. plików danych, redo logów...

STARTUP MOUNT;

ALTER DATABASE MOUNT; (uwaga stosuje się w przypadku gdy baza została już uruchomiona w
trybie NOMOUNT)


3. Otwarcie bazy dla wszystkich użytkowników

STARTUP;
ALTER DATABASE OPEN; (uwaga stosuje się w przypadku gdy baza została już uruchomiona w trybie MOUNT)

Czwarty etap rzadko wykorzystywany to tryb RESTRICT tylko dla adminów, którzy planują przeprowadzić procedurę eksportu, importu danych, aktualizacji struktury i chcą zablokować użytkowników na ten czas.



STARTUP RESTRICT;


Odblokowanie trybu RESTRICTED jest możliwe za pomocą komendy:


ALTER SYSTEM DISABLE RESTRICTED SESSION;

piątek, 23 sierpnia 2013

Odtwarzanie przestrzeni danych i plików systemowych

Odtwarzanie przestrzeni danych (tablespace)

RMAN> sql ' alter tablespace users offline' ;
RMAN> restore tablespace users;
RMAN> recover tablespace users;
RMAN> sql ' alter tablespace users online' ;


Odtwarzanie pliku spfile

RMAN> set DBID = 1399813587;
RMAN> startup nomount;
RMAN> restore spfile from autobackup;
RMAN> shutdown immediate;



Odtwarzanie pliku kontrolnego

RMAN> set DBID = 1399813587;
RMAN> startup nomount;
RMAN> restore controlfile from autobackup;
RMAN> shutdown immediate;


Odtwarzanie plików danych

RMAN> sql ' alter database datafile 3 offline' ;
RMAN> sql ' alter database datafile ' \u01\app\oracle\oradata\baza\users01. dbf' offline' ;
RMAN> restore datafile 3;
RMAN> restore datafile ' \u01\app\oracle\oradata\users01. dbf' ;
RMAN> rcover datafile 3;
RMAN> rcover datafile ' \u01\app\oracle\oradata\users01. dbf' ;
RMAN> sql ' alter database datafile 3 online' ;
RMAN> sql ' alter database datafile ' \u01\app\oracle\oradata\users01. dbf' online' ;


czwartek, 22 sierpnia 2013

Tryb Archivelog i autobackup control file

Linux

Uwaga
Domyślna opcja NOARCHIVELOG jest wystarczająca, aby zapewnić ochronę przed błędami systemu operacyjnego oraz błędami samej instancji bazy.

shutdown immediate
su - oracle
sqlplus /nolog
connect / as sysdba
startup mount exclusive;
alter database archivelog;
archive log start;
alter database open;


lub

shutdown immediate
startup mount
alter database archivelog;
alter database open;


Konfiguracja Archivelog

show parameter log_archive_dest;

Konfiguracja obszaru FRA (Flash Recovery Area)

alter system set db_recovery_file_dest_size=10G;
alter system set db_recovery_file_dest=' /opt/backup/fra' ;

Konfiguracja lokalizacji archivelog

alter system set log_archive_dest_1=' location=/opt/backup/archivelog1' ;
alter system set log_archive_dest_2=' location=USE_DB_RECOVERY_FILE_DEST' ;

su - oracle
rman target orcl/PASSWORD

Recovery Manager: Release 11.2.0.1.0 - Production on Fri Nov 30 07:09:30 2012Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.connected to target database: ORCL (DBID=1390091403)
RMAN> configure controlfile autobackup on;
using target database control file instead of recovery catalog
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
RMAN> exit

sobota, 17 sierpnia 2013

Instalacja klienta Oracle na Serwerze Aplikacji i stacji roboczej

Serwer Aplikacji/Terminali: 

1. Instalację przeprowadzać z konta posiadającego prawa administratora. 
2. Serwer w angielskiej wersji językowej powinien zostać ustawiony w opcji „Regional and Language Options” na polską lokalizację. 
3. Dodać prawo do „Create globar objects” dla kont użytkowników nie administratorów w systemie Windows:

1. Click Start, point to Programs, point to Administrative Tools, and then click Local Security Policy.
2. Expand Local Policies, and then click User Rights Assignment.
3. In the right pane, double-click Create global objects.
4. In the Local Security Policy Setting dialog box, click Add.
5. In the Select Users or Group dialog box, click the user account that you want to add, click Add, and then click OK.
--- Działa z grupą Autenticated users lub Domain users w przypadku Domeny.
6. Click OK. 


4. Skopiować wzorcowego TNSNAMES.ORA do lokalizacji „{Oracle Home}/network/admin”

XEbase =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.51)(PORT = 1522))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.52)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME =XE)
)
)
TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.52)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME =XE test)
)
)


Stacja Robocza Klienta: 

Instalację przeprowadzać z konta posiadającego prawa administratora. 
1. Skopiować wzorcowego TNSNAMES.ORA do lokalizacji „{Oracle Home}/network/admin”

np:

KZXE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.27)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.28)(PORT = 1521))
(LOAD_BALANCE = yes)
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE2)
)
)
TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.28)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.27)(PORT = 1521))
(LOAD_BALANCE = YES)
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testXE)
)
)