środa, 17 września 2014

Role predefiniowane

CONNECT,
RESOURCE,
DBA,
EXP_FULL_DATABASE,
IMP_FULL_DATABASE
EXECUTE_CATALOG_ROLE,
DELETE_CATALOG_ROLE,
SELECT_CATALOG_ROLE.


nazwa roli CONNECT nazwa przydzielonego uprawnienia
CREATE CLUSTER
CREATE DATABASE LINK
CREATE SEQUENCE  
CREATE SESSION
CREATE SYNONYM
CREATE TABLE
CREATE VIEW

nazwa roli RESOURCE nazwa przydzielonego uprawnienia
CREATE CLUSTER
CREATE INDEXTYPE
CREATE OPERATOR
CREATE PROCEDURE
CREATE SEQUENCE
CREATE TABLE
CREATE TRIGGER
CREATE TYPE
UNLIMITED TABLESPACE

środa, 10 września 2014

Ekstrakt schema

Ekstrakt schema HR struktura (metadane) i dane tzn wykonamy ekstrakt wszystkie obiekty -tabele, uprawnienia...

W skrypcie został użyty mechanizm DROP usunie gdy istnieją tabele, DELETE usunie gdy istnieją rekordy przed wykonaniem instrukcji INSERT


Link: skrypt do pobrania

Płatnik ZUS usunięcie kontekstu

Jeśli nie używamy kontekstu (Płatnika) możemy go usunąć wraz z jego danymi.
Jest to opcja przydatna głównie dla biur rachunkowych, które nie rozliczają się z danym Płatnikiem przez dłuższy czas.
W ten sposób możemy w bezpiecznie usunąć nadmiar danych występujący w naszej bazie SQL. Przed przystąpieniem wykonania skryptu SQL wykonaj backup bazy.
Z poziomu bazy MS SQL  wykonujemy zapytanie gdzie pole ID_PLATNIK oznacza numer Płatnika

SELECT DISTINCT p.id AS IDENTYFIKATOR, p.nazwaskr AS SYMBOL, p.statuspt, p.STATUS_POTW_W_ZUS, pi.NIP, pi.REGON,
pi.PESEL, pi.NAZWASKR AS PI_NAZWASKR, pi.NAZWISKO, pi.IMIEPIERW,
pi.RODZDOK, pi.SERIANRDOK, pi.DATAURODZ, p.idbiurarach
FROM platnik p LEFT OUTER JOIN platn_ident pi
ON (p.id = pi.id_platnik) WHERE pi.status_dane = 'K' OR pi.status_dane IS NULL

go

Gdy już wiemy którego Płatnika możemy usunąć wykonujemy skrypt, w którym ustalamy numer Płatnika

link skrypt do pobrania

sobota, 23 sierpnia 2014

Statspack dla Oracle XE

SQL> connect / as sysdba
 
wywołujemy skrypt @ 
 
SQL> @C:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin>spcreate.sql
 
dla linuxa
 
/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/spcreate.sql
 
wprowadzamy hasło
wprowadzamy tablespace SYSAUX
wprowadzamy tablespace TEMP
wybieramy poziom Statspack 
 
SQL> select * from stats$level_description order by snap_level;

 
tworzenie,podglądanie i usuwanie migawek  (snapshot)
 
SQL> connect perfstat/oracle
Connected.
SQL> exec statspack.snap
PL/SQL procedure successfully completed.
SQL> select name, snap_id, to_char(snap_time, 'MM-DD-YYYY:HH24:MI:SS')
  2  "Date/Time" from stats$snapshot, v$database;
 
Przy usuwaniu migawki wybieramy jej ID
 
SQL> @?\rdbms\admin\sppurge;

Notes: prompted to enter low and high snapshot ID
 
Tworzymy raport
 
SQL> @?\rdbms\admin\spreport.sql
 
dla Linuxa
 
SQL> @/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/spreport.sql
 
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 11
Begin Snapshot Id specified: 11

Enter value for end_snap: 21
End   Snapshot Id specified: 21

Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is sp_11_21.  To use this name,
press  to continue, otherwise enter an alternative.

Enter value for report_name: Raport_migawki
 

Interpretacja wyników raportu to osobny temat

piątek, 22 sierpnia 2014

Plik kontrolny - awaria

1.wyeksportować plik SPFILE do pliku tekstowego,
2.zamknąć bazę danych,
3.skopiować istniejący plik kontrolny w nowe miejsce,
4.zmienić parametr CONTROL_FILES w pliku parametrów,
5.utworzyć nowy plik SPFILE ze zmodyfikowanego pliku tekstowego,
6.otworzyć bazę danych.