czwartek, 9 stycznia 2014

ZUS przerwy technologiczne



Dostępność serwerów ZUS sprawdzamy wchodząc na stronę



Jeśli strona nie wyświetla się oznacza to przerwę technologiczną ZUS


W przypadku gdy jeden z serwerów ZUS nie będzie działał możemy ustawić przekaz elektroniczny dla działającego serwera ZUS :)

Wybieramy z górnego menu Przekaz następnie wybieramy Ustawienia przekazu elektronicznego przechodzimy do zakładki Inne następnie zaznaczamy opcję  przy Użyj tego adresu do wymiany danych z ZUS a w polu obok wpisujemy adres: działającego serwera ZUS

węzły internetowe:

Wrocław http://www.ewd2.wroclaw.zus.pl/
lub
Warszawa http://www.ewd2.warszawa.zus.pl/
 

Aby sprawdzić poprawność wybranego serwera wybieramy z górnego menu Przekaz następnie wybieramy Ustawienia przekazu elektronicznego , na zakładce Ustawienia ogólne powinna być zaznaczona metoda przekazu „Komunikacja automatyczna ZUS pod adresem” z uzupełnionym adresem działającego serwera ZUS zamiast opisu automatyczny wybór

wtorek, 10 grudnia 2013

Export job

Działania wykonujemy na użytkowniku system
Najpierw trzeba utworzyć folder do zapisu eksportów (domyślnie DATA_PUMP_DIR)


SQL> CREATE OR REPLACE DIRECTORY tmp AS '/tmp'; dla Linux
SQL> CREATE OR REPLACE DIRECTORY tmp AS 'c:\bck'; dla Windows


nadajemy uprawnienia do odczytu i zapisu

SQL> GRANT read, write ON DIRECTORY tmp TO system;
wszystkie skrypty dotyczą: eksportu zawierającego strukturę i dane
parametr version ustawiony jest na latest można również ustawić na compatible


Mamy do dyspozycji 4 podstawowe rodzaje Export Job

database- full export mode
schema mode np HR
table mode
tablespace mode


Skrypty PL/SQL

1.full export mode

DECLARE
  hd  NUMBER;
BEGIN
  hd := DBMS_DATAPUMP.OPEN(operation => 'EXPORT',job_mode => 'FULL',remote_link => NULL,job_name => 'FULL EXPORT MODE',version => 'LATEST' );
  DBMS_DATAPUMP.ADD_FILE( handle => hd, filename => 'Full Export Mode', directory => 'DATA_PUMP_DIR', filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE  );
  DBMS_DATAPUMP.SET_PARAMETER( handle => hd, name => 'COMPRESSION', value => 'NONE' );
  DBMS_DATAPUMP.SET_PARAMETER( handle => hd, name => 'ESTIMATE', value => 'BLOCKS' );
  DBMS_DATAPUMP.SET_PARAMETER( handle => hd, name => 'ESTIMATE_ONLY', value => 1 );
  DBMS_DATAPUMP.START_JOB(handle => hd);
END;
/


2.schema mode np HR

 DECLARE
  hd  NUMBER;
BEGIN
  hd := DBMS_DATAPUMP.OPEN(operation => 'EXPORT',job_mode => 'SCHEMA',remote_link => NULL,job_name => 'SCHEMA_EXPORT',version => 'COMPATIBLE' );
  DBMS_DATAPUMP.ADD_FILE( handle => hd, filename => 'schema_export', directory => 'DATA_PUMP_DIR', filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE  );
  DBMS_DATAPUMP.SET_PARAMETER( handle => hd, name => 'COMPRESSION', value => 'NONE' );
  DBMS_DATAPUMP.SET_PARAMETER( handle => hd, name => 'USER_METADATA', value => 1 );
  DBMS_DATAPUMP.SET_PARAMETER( handle => hd, name => 'ESTIMATE', value => 'BLOCKS' );
  DBMS_DATAPUMP.SET_PARAMETER( handle => hd, name => 'ESTIMATE_ONLY', value => 1 );
  DBMS_DATAPUMP.METADATA_FILTER( handle => hd, name => 'SCHEMA_LIST', value => '''HR''' );
  DBMS_DATAPUMP.START_JOB(handle => hd);
END;
/


3.table mode

 DECLARE
  hd  NUMBER;
BEGIN
  hd := DBMS_DATAPUMP.OPEN(operation => 'EXPORT',job_mode => 'TABLE',remote_link => NULL,job_name => 'TABLE_EXPORT',version => 'LATEST' );
  DBMS_DATAPUMP.ADD_FILE( handle => hd, filename => 'table_export', directory => 'DATA_PUMP_DIR', filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE  );
  DBMS_DATAPUMP.SET_PARAMETER( handle => hd, name => 'COMPRESSION', value => 'NONE' );
  DBMS_DATAPUMP.SET_PARAMETER( handle => hd, name => 'ESTIMATE', value => 'BLOCKS' );
  DBMS_DATAPUMP.SET_PARAMETER( handle => hd, name => 'ESTIMATE_ONLY', value => 1 );
  DBMS_DATAPUMP.METADATA_FILTER( handle => hd, name => 'SCHEMA_LIST', value => '''HR''');
  DBMS_DATAPUMP.METADATA_FILTER( handle => hd, name => 'NAME_LIST', value => '''COUNTRIES'',''JOBS''' );
  DBMS_DATAPUMP.START_JOB(handle => hd);
END;
/


4.tablespace mode

 DECLARE
  hd  NUMBER;
BEGIN
  hd := DBMS_DATAPUMP.OPEN(operation => 'EXPORT',job_mode => 'TABLESPACE',remote_link => NULL,job_name => 'TABLESPACE_EXPORT',version => 'LATEST' );
  DBMS_DATAPUMP.ADD_FILE( handle => hd, filename => 'tablespace_export', directory => 'DATA_PUMP_DIR', filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE  );
  DBMS_DATAPUMP.SET_PARAMETER( handle => hd, name => 'COMPRESSION', value => 'NONE' );
  DBMS_DATAPUMP.SET_PARAMETER( handle => hd, name => 'ESTIMATE', value => 'BLOCKS' );
  DBMS_DATAPUMP.SET_PARAMETER( handle => hd, name => 'ESTIMATE_ONLY', value => 1 );
  DBMS_DATAPUMP.METADATA_FILTER( handle => hd, name => 'TABLESPACE_LIST', value => '''SYSAUX'',''TEMP'',''UNDOTBS1'',''USERS''' );
  DBMS_DATAPUMP.START_JOB(handle => hd);
END;
/


Inną metodą zaplanowania job-a jest użycie Oracle SQL Developer'a 
Szczegółowy opis znajduje się na Blogu Oracle Base

Poniżej przykład wygenerowanego skryptu przy pomocy Oracle SQL Developer

set scan off
set serveroutput on
set escape off
whenever sqlerror exit
DECLARE
    h1 number;
    errorvarchar varchar2(100):= 'ERROR';
    tryGetStatus number := 0;
begin
    h1 := dbms_datapump.open (operation => 'EXPORT', job_mode => 'FULL', job_name => 'EXPORT_JOB_SQLDEV_61', version => 'COMPATIBLE');
    tryGetStatus := 1;
    dbms_datapump.set_parallel(handle => h1, degree => 1);
    dbms_datapump.add_file(handle => h1, filename => 'EXPDAT.LOG', directory => 'DATA_PUMP_DIR', filetype => 3);
    dbms_datapump.set_parameter(handle => h1, name => 'KEEP_MASTER', value => 1);
    dbms_datapump.add_file(handle => h1, filename => 'EXPDAT%U.DMP', directory => 'DATA_PUMP_DIR', filesize => '100M',  filetype => 1);
    dbms_datapump.set_parameter(handle => h1, name => 'INCLUDE_METADATA', value => 1);
    dbms_datapump.set_parameter(handle => h1, name => 'DATA_ACCESS_METHOD', value => 'AUTOMATIC');
    dbms_datapump.set_parameter(handle => h1, name => 'ESTIMATE', value => 'BLOCKS');
    dbms_datapump.start_job(handle => h1, skip_current => 0, abort_step => 0);
    dbms_datapump.detach(handle => h1);
    errorvarchar := 'NO_ERROR';
EXCEPTION
    WHEN OTHERS THEN
    BEGIN
        IF ((errorvarchar = 'ERROR')AND(tryGetStatus=1)) THEN
            DBMS_DATAPUMP.DETACH(h1);
        END IF;
    EXCEPTION
    WHEN OTHERS THEN
        NULL;
    END;
    RAISE;
END;
/

 

czwartek, 7 listopada 2013

Wykonanie kopi online i offline przy użyciu narzędzia RMAN


Wykonanie kopi zapasowej w trybie online

Wykonanie kopi zapasowej bazy

backup database;
 
Kopia wraz z archiwizacja dzienników powtórzeń
 

 backup database plus archivelog;
 
Kopia wraz z kompresja (nie koniecznie)
 
 backup as compressed backupset database;
 
Kopia kopii obrazu bazy danych
 
 backup as copy database;
 
Kopia przestrzeni tabel
 
backup tablespace users;
 
Kopia plików kontrolnych
 
 backup current controlfile;
 

Wykonanie kopi zapasowej w trybie offline


Zamykamy bazę poleceniem

shutdown immediate
 
Zamontujemy bazę poleceniem
 
startup mount
 

Wykonamy skompresowany backup bazy danych (nie koniecznie)

backup as compressed backupset database;

Uruchomienie bazy danych

alter database open;


wtorek, 5 listopada 2013

SPFILE

SPFILE tworzony jest komendą CREATE SPFILE na podstawie tekstowego pliku parametrów.
Jest to postać pliki binarnego utworzonego z tekstowego.
Uwaga jeśli SPFILE został utworzony lub nie znajduje się w odpowiedniej lokalizacji, system domyślnie skorzysta z tekstowego pliku parametrów init<SID_BAZY>.ora.

Utworzenie pliku


CREATE  SPFILE FROM PFILE=’/opt/oracle/init.ora’
CREATE  SPFILE=’/opt/oracle/xe_spfile.ora’ FROM PFILE=’/opt/oracle/init.ora’

Aby do startu instancji wykorzystać inny niż domyślny plik SPFILE należy w tekstowym pliku parametrów podać ścieżkę parametru SPFILE, np.

SPFILE=/opt/oracle/xe_spfile.ora

a następnie uruchomić serwer ORACLE komendą STARTUP np.

STARTUP PFILE=/opt/oracle/init.ora

Bywa często że trzeba wykonać eksport SPFILE do pliku tekstowego PFILE

CREATE PFILE=’/opt/oracle/init.ora’ FROM SPFILE=’/opt/oracle/orcl_spfile.ora’;




sobota, 19 października 2013

Sesje cz.2

Ekspresowe:) zabicie sesji:

ALTER SYSTEM KILL SESSION 'sid, serial#';

SQL> alter system kill session '268,1268';

Rozłączenie użytkownika z serwerem:

ALTER SYSTEM DISCONNECT SESSION 'sid, serial#';
SQL> alter system disconnect session '315,1223' immediate;

Rozłączenie użytkownika po zakończeniu bieżącej transakcji:
   
ALTER SYSTEM DISCONNECT SESSION 'sid, serial#'; POST     TRANSACTION'sid, serial#' - identyfikatory sesji użytkownika z perspektywy V$SESSION

UWAGA!
Nie można zabić bieżącej sesji
Zabijana sesja domyślnie jest zaznaczana  do zabicia (KILLED) i zabijana po zakończeniu wszystkich jej transakcji
 

Ponowna próba zbicia tej sesji generuje błąd ORA-00031: sesja zaznaczona do zlikwidowania

Na skróty
Inny sposobem jest użycie programu SQL Developer. Z głównego menu wybieramy TOOLS ->MONITOR SESSIONS-> wybieramy połączenie do schema np HR -> wybieramy SID -> kill session


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