Автор Тема: Оракъл търкане на записи  (Прочетена 3851 пъти)

ntrance

  • Напреднали
  • *****
  • Публикации: 696
    • Профил
Оракъл търкане на записи
« -: Jan 18, 2011, 21:26 »
Здравейте имам малко  голям проблем с Оракъл . проблема е следния има 20-тина софтуера които работят с него , но проблема ми идва от там ,че по няк ъв начин нещо или някой търка вътре записи , как по дяволите да видя какво става там  търкането може да стане на 3 дни един път на 5 дни един път или изобщо да не става в продължение на седмици. С оракъл съм запознат до толкоз колкото да го инстална  тук таме малко  rman  и sqlplus. Имали някой мониторинг  който да го пусна или нещо от сорта . Като върна backup-a записите са там.
Само да отмена  ,че не мога да сменя паролата му  защото са забите в exe-ta.

В логовете не пише нищо за delete и тн . Да ме посъветвате нещо. (Или най добре да му спра достъпа и да го зацементирам :Д )
Активен

spec1

  • Напреднали
  • *****
  • Публикации: 230
    • Профил
Re: Оракъл търкане на записи
« Отговор #1 -: Jan 18, 2011, 21:51 »
   Като какъв влизаш с  sqlplus  ?
  Трябва да знаеш паролата на sys (или поне на system)
  sqlplus sys/<sys_password>@<SID>
  За да видиш кой какво прави,трябва да пуснеш AUDIT на базата.
  В мрежата е описано достатъчно подробно ...
  Успех !
Активен

ntrance

  • Напреднали
  • *****
  • Публикации: 696
    • Профил
Re: Оракъл търкане на записи
« Отговор #2 -: Jan 18, 2011, 21:53 »
Е паролата на sys нея знам но влизам  това не е проблем . Я дай малко повечеко инфо да ме светнеш ,че незнам какво точно да търся .
Активен

spec1

  • Напреднали
  • *****
  • Публикации: 230
    • Профил
Re: Оракъл търкане на записи
« Отговор #3 -: Jan 18, 2011, 22:15 »
Ако можеш да влезеш с:
  sqlplus / as sysdba
  ти се отваря парашута.
Добър източник е напр:
http://www.oracle-base.com/articles/10g/Auditing_10gR2.php
Активен

ntrance

  • Напреднали
  • *****
  • Публикации: 696
    • Профил
Re: Оракъл търкане на записи
« Отговор #4 -: Jan 18, 2011, 22:50 »
Да мога да влезна . Благодаря ти за насочването.
Активен

jet

  • Напреднали
  • *****
  • Публикации: 3473
  • Distribution: debian
  • Window Manager: kde
    • Профил
Re: Оракъл търкане на записи
« Отговор #5 -: Jan 19, 2011, 01:13 »
някой DBA да ти помогне да напишеш един тригер, който да дебне при триене на запис в таблицата да ти даде чатлак
Активен

..⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁
  ⢿⡄⠘⠷⠚⠋
  ⠈⠳⣄⠀⠀⠀⠀  Debian, the universal operating system.

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: Оракъл търкане на записи
« Отговор #6 -: Jan 19, 2011, 07:53 »
1. създава се полиси:
Код:
BEGIN
  DBMS_FGA.add_policy(
    object_schema   => 'SHEMA',
    object_name     => 'TABLITSA',
    policy_name     => 'IME_NA_POLICY',
END;
/
1.1. при нужда може да се добави и     
Код:
audit_column    => 'KOLONA',
2. Извършват се някакви операции върху таблица TABLITSA в схема SHEMA
3. Рзглеждане на операциите, които са извършени върху схемата
Код:
SELECT sql_text FROM dba_fga_audit_trail;
4. премахване на полицито
BEGIN
  DBMS_FGA.drop_policy(
    object_schema   => 'SHEMA',
    object_name     => 'TABLITSA',
    policy_name     => 'IME_NA_POLICY',
END;
/

П.П. Имайте предвид че при интензивни операции тазблицата може доста бързо да се запълни. И по принцип за този пакет май ви трябва отделен лиценз (за одит), който по спомени беше доста солен като цена
Активен

0x2B|~0x2B

ntrance

  • Напреднали
  • *****
  • Публикации: 696
    • Профил
Re: Оракъл търкане на записи
« Отговор #7 -: Jan 19, 2011, 08:47 »

Чесно да ти кажа това нищо не ми говори   много съм бос в оракъла не съм още за тия операции  :) .Но поне  неква носака. Благодаря
Активен

ieti

  • Напреднали
  • *****
  • Публикации: 92
  • Distribution: Arch, Debian
  • Window Manager: XFCE
    • Профил
Re: Оракъл търкане на записи
« Отговор #8 -: Jan 19, 2011, 09:54 »
Направи си тригери и лог таблици. Направи си и процедура например, която да ти праща имейл при нещо такова. При мен например има скриптове пускани през sqlplus, които се стартират на определено време и правят проверки, ако нещо има мейли.
Активен

ntrance

  • Напреднали
  • *****
  • Публикации: 696
    • Профил
Re: Оракъл търкане на записи
« Отговор #9 -: Jan 19, 2011, 10:05 »
Може ли да ги споделиш сигурно е до доста нахално от моя страна да искам нещо направено от някои и нещо  но питам само.

Значи трябва да гледам яко за тригери  или каквото е това.

Ае на 5 терабайта тоя оракъл ми казва пълни таблици нещо някъде по defaut  си има лимити . ;( Май ще ми трябва oracle пич.
Активен

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: Оракъл търкане на записи
« Отговор #10 -: Jan 19, 2011, 11:54 »

Чесно да ти кажа това нищо не ми говори   много съм бос в оракъла не съм още за тия операции  :) .Но поне  неква носака. Благодаря
Не знам каква друга насока искаш. Имаш конзола, прочети както прави този пакет, изпълни ги тези команди, направи един селект, виж резултата
....
Ае на 5 терабайта тоя оракъл ми казва пълни таблици нещо някъде по defaut  си има лимити . ;( Май ще ми трябва oracle пич.
Ако тoва по-горе не е ясно ще е много по-разумно да си наемете специалист. И пак да предупредя: този пакет иска отделен лиценз, същото важи и за audit!
Активен

0x2B|~0x2B

radoulov

  • Напреднали
  • *****
  • Публикации: 116
    • Профил
Re: Оракъл търкане на записи
« Отговор #11 -: Jan 19, 2011, 15:01 »
Ето един прост пример за audit trigger.
В твоя случай ще трябва да смениш table name и колоните, които искаш да логнеш.


Код:
SQL> select user, sys_context('USERENV','HOST') from dual;

USER                           SYS_CONTEXT('USERENV','HOST')
------------------------------ ------------------------------
TEST                           tank

SQL> CREATE TABLE orders (
  order_id int,
  quantity int
  );  2    3    4

Table created.

SQL> create table orders_audit(
  user_id  varchar2(30),
  host     varchar2(30),
  dt       date,
  order_id int,
  quantity int
  );  2    3    4    5    6    7

Table created.

SQL> insert into orders values (1,1);

1 row created.

SQL> insert into orders values (2,2);

1 row created.

SQL> commit;

Commit complete.

SQL> CREATE OR REPLACE TRIGGER orders_after_delete
AFTER DELETE ON orders FOR EACH ROW
BEGIN
    INSERT INTO orders_audit values (
          user, sys_context('USERENV','HOST'), sysdate, :old.order_id, :old.quantity
          );
END;
/  2    3    4    5    6    7    8

Trigger created.

SQL> select * from orders_audit;

no rows selected

SQL> delete orders where order_id=2;

1 row deleted.

SQL> commit;

Commit complete.

SQL> select * from orders_audit;

USER_ID                        HOST                           DT          ORDER_ID   QUANTITY
------------------------------ ------------------------------ --------- ---------- ----------
TEST                           ess019                         19-JAN-11          2          2


Имай предвид, че тригерите имат performance impact, така че ще е добре да махнеш (drop)
или деактивираш (disable) тригера, след като разбереш какво става.
Активен

ntrance

  • Напреднали
  • *****
  • Публикации: 696
    • Профил
Re: Оракъл търкане на записи
« Отговор #12 -: Jan 21, 2011, 12:45 »
Здравейте   значи  той станалото станало  , но  да попитам пак   как да си върна бекъп-а от

2011-01-10 18:39.

oracle@oracle-base:/storage/part0/oracle/backup# ls -lptrh *
-rw-r----- 1 oracle oinstall 3.1G 2011-01-10 18:39 m2m1pgru_1_1
-rw-r----- 1 oracle oinstall 1.9M 2011-01-10 18:39 m3m1phei_1_1
-rw-r----- 1 oracle oinstall 869M 2011-01-17 05:25 mbm2ahdc_1_1
-rw-r----- 1 oracle oinstall 922M 2011-01-17 05:27 mcm2ahht_1_1
-rw-r----- 1 oracle oinstall 781M 2011-01-17 05:30 mdm2ahmo_1_1


Ще се радвам  ако ми споделите и точните команди.

А това са по долу всичките , но аз искам да възстановя само от 10.01.2011
RMAN> list backup Summary;


List of Backups
===============
Key     TY LV S Device Type Completion Time     #Pieces #Copies Compressed Tag
------- -- -- - ----------- ------------------- ------- ------- ---------- ---
2685    B  F  A DISK        10/01/2011 18:39:03 1       1       YES        TAG20110110T182918
2686    B  A  A DISK        10/01/2011 18:39:14 1       1       YES        TAG20110110T183914
2687    B  F  A DISK        10/01/2011 18:39:15 1       1       NO         TAG20110110T183915
2688    B  F  A DISK        17/01/2011 02:21:23 1       1       NO         TAG20110117T022123
2689    B  A  A DISK        17/01/2011 05:25:10 1       1       YES        TAG20110117T052246
2690    B  A  A DISK        17/01/2011 05:27:48 1       1       YES        TAG20110117T052246
2691    B  A  A DISK        17/01/2011 05:30:04 1       1       YES        TAG20110117T052246
2692    B  A  A DISK        17/01/2011 05:32:27 1       1       YES        TAG20110117T052246
2693    B  A  A DISK        17/01/2011 05:34:57 1       1       YES        TAG20110117T052246
2694    B  A  A DISK        17/01/2011 05:38:11 1       1       YES        TAG20110117T052246
2695    B  A  A DISK        17/01/2011 05:40:42 1       1       YES        TAG20110117T052246
2696    B  A  A DISK        17/01/2011 05:43:37 1       1       YES        TAG20110117T052246
2697    B  A  A DISK        17/01/2011 05:46:28 1       1       YES        TAG20110117T052246
2698    B  A  A DISK        17/01/2011 05:46:42 1       1       YES        TAG20110117T052246
2699    B  F  A DISK        17/01/2011 05:53:11 1       1       YES        TAG20110117T054649
2700    B  A  A DISK        17/01/2011 05:53:16 1       1       YES        TAG20110117T055315
2701    B  F  A DISK        17/01/2011 05:53:17 1       1       NO         TAG20110117T055316
Активен

radoulov

  • Напреднали
  • *****
  • Публикации: 116
    • Профил
Re: Оракъл търкане на записи
« Отговор #13 -: Jan 21, 2011, 17:05 »
На промпта на rman:

Код:
connect target /
startup mount;
run {
set until time "to_date('10-jan-2011 18:39:14', 'dd-mon-rrrr hh24:mi:ss')";
restore database;
recover database;
}
alter database open resetlogs;
Активен