Krzysztof Bielecki

Senior consultant, Capgemini Polska

Wypowiedzi

  • Krzysztof Bielecki
    Wpis na grupie Bazy Danych w temacie [Oracle] funkcja SUBSTR jako odpowiednik funckji...
    12.05.2013, 20:22

    a może regexp_substr :D

  • Krzysztof Bielecki
    Wpis na grupie Oracle w temacie Oracle dla początkujących
    6.09.2012, 11:42

    konflikt to jak w 2 bazach ktos zmienił te same dane ;).
    Jako ze bazy nie wiedzą o swoim istnieniu ;) obie zmiany się powiodą.

  • Krzysztof Bielecki
    Wpis na grupie Oracle w temacie Oracle dla początkujących
    6.09.2012, 10:48

    Pytanie czy obie bazy maja być aktywne. Bo jak tak to pojawi się dodatkowy problem z rozwiązywaniem konfliktów. Pozatym cięzko bedzie zapewnić realtime.

  • Krzysztof Bielecki
    Wpis na grupie Bazy Danych w temacie Znalezienie nazwy pakietu po procedurze
    14.12.2011, 10:09

    SELECT *
    FROM dba_procedures
    where procedure_name = :1;

    :1 - nazwa procedury z pakietu

  • Krzysztof Bielecki
    Wpis na grupie Bazy Danych w temacie Oracle: jak zagwarantować brak cykli w drzewie?
    25.10.2011, 13:15

    Tu jest opis funkcji sprawdzającej. Jednak implementacja tego w triggerze :) niesie za sobą obniżenie wydajności. Wszystko zależy od tego jak ma być wykorzystywana tabela.

    http://download.oracle.com/docs/cd/E11882_01/server.11...

  • Krzysztof Bielecki
    Wpis na grupie Bazy Danych w temacie Toad ma już 2 miliony użytkowników!
    5.10.2011, 17:18

    Jak zna się zasadę działania. to nie ma wielkiego znaczenia w jaki sposób sie korzysta z funkcjonalności.
    Oczywiście pozostają przyzwyczajenia . Wiec najlepiej się uczyć z poziomu dokumentacji a potem używać najwygodniejszej metody do obsługi.

  • Krzysztof Bielecki
    Wpis na grupie Bazy Danych w temacie [Oracle] wyświetlenie wszystkich tabel z kolumną o nazwie...
    20.09.2011, 17:46

    albo tu
    SELECT *
    FROM DICT;

  • Krzysztof Bielecki
    Wpis na grupie Bazy Danych w temacie [Oracle] wyświetlenie wszystkich tabel z kolumną o nazwie...
    20.09.2011, 16:38

    user_tab_columns

  • Krzysztof Bielecki
    Wpis na grupie Oracle DBA w temacie Migracja 9i --> 11gR2 - tablespace zwiększył się...
    12.09.2011, 15:03

    heh ;) w dokumentacji jest dlaczego.

    When you enable table compression by specifying either COMPRESS or COMPRESS BASIC, you enable basic table compression. Oracle Database attempts to compress data during direct-path INSERT operations when it is productive to do so. The original import utility (imp) does not support direct-path INSERT, and therefore cannot import data in a compressed format.

    Tables with COMPRESS or COMPRESS BASIC use a PCTFREE value of 0 to maximize compression, unless you explicitly set a value for PCTFREE in the physical_attributes_clause.

    In earlier releases, this type of compression was called DSS table compression and was enabled using COMPRESS FOR DIRECT_LOAD OPERATIONS. This syntax has been deprecated.

  • Krzysztof Bielecki
    Wpis na grupie Oracle w temacie Quiz - PL/SQL Challenge
    1.03.2011, 09:11

    mogłem dodać hinta :)

  • Krzysztof Bielecki
    Wpis na grupie Oracle w temacie Quiz - PL/SQL Challenge
    28.02.2011, 18:26

    no nie do końca.
    1 sql skonczył sie w Elapsed: 00:00:29.15
    2 sql skonczył sie w Elapsed: 00:00:06.71
    Mimo że według costu 1 sql byl dużo niższy.
    Kwestia ustawienia.


    create table kbi_cost_test nologging
    as
    select rownum as id,a.*
    from dba_objects a
    join (select rownum
    from dual
    connect by level <= 100) on 1=1;

    alter table kbi_cost_test add constraint pk_kbi_cost_test primary key (id);

    begin
    dbms_stats.gather_table_stats(user,
    'KBI_COST_TEST',
    degree => 4,
    estimate_percent=>50,
    cascade=> true,
    no_invalidate=>false);
    end;
    /

    alter session set optimizer_index_cost_adj = 5;

    explain plan for
    select distinct OBJECT_NAME
    from kbi_cost_test
    where id > 10000;

    select *
    from table(dbms_xplan.display);

    PLAN_TABLE_OUTPUT

    Plan hash value: 2459475618

    -------------------------------------------------------------------------------------------------
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    -------------------------------------------------------------------------------------------------
    | 0 | SELECT STATEMENT | | 15974 | 374K| 2833 (9)| 00:00:34 |
    | 1 | HASH UNIQUE | | 15974 | 374K| 2833 (9)| 00:00:34 |
    | 2 | TABLE ACCESS BY INDEX ROWID| KBI_COST_TEST | 3029K| 69M| 2607 (1)| 00:00:32 |
    |* 3 | INDEX RANGE SCAN | PK_KBI_COST_TEST | 3029K| | 323 (1)| 00:00:04 |
    -------------------------------------------------------------------------------------------------

    Predicate Information (identified by operation id):
    ---------------------------------------------------

    3 - access("ID">10000)

    alter session set optimizer_index_cost_adj = 20;

    explain plan for
    select distinct OBJECT_NAME
    from kbi_cost_test
    where id > 10000;

    select *
    from table(dbms_xplan.display);

    PLAN_TABLE_OUTPUT

    Plan hash value: 1659472491

    ------------------------------------------------------------------------------------
    | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
    ------------------------------------------------------------------------------------
    | 0 | SELECT STATEMENT | | 15974 | 374K| 8209 (4)| 00:01:39 |
    | 1 | HASH UNIQUE | | 15974 | 374K| 8209 (4)| 00:01:39 |
    |* 2 | TABLE ACCESS FULL| KBI_COST_TEST | 3029K| 69M| 7983 (2)| 00:01:36 |
    ------------------------------------------------------------------------------------

    Predicate Information (identified by operation id):
    ---------------------------------------------------

    2 - filter("ID">10000)

  • Krzysztof Bielecki
    Wpis na grupie Oracle w temacie Quiz - PL/SQL Challenge
    28.02.2011, 13:12

    a czy niższy koszt ma gwarantować któtszy czas wykonania ?

  • Krzysztof Bielecki
    Wpis na grupie Oracle w temacie Quiz - PL/SQL Challenge
    17.02.2011, 15:47

    OPTIMIZER_INDEX_CACHING - oznacza ile % ma optimizer sie spodziewać w cache. Tak naprawdę zmienia to tylko explain plan.

  • Krzysztof Bielecki
    Wpis na grupie Oracle w temacie Quiz - PL/SQL Challenge
    10.02.2011, 11:04

    Paweł Grzegorz Kwiatkowski:
    Pomijając plany zapytania (bo można wymusić taki czy inny), to dlaczego hash join jest wolniejszy, skoro jest tak dobrze z zasobami? :) Coś ciekawego musi się dziać w trakcie budowania hashy.

    Na początek najlepiej porównać czas wykonania bez parallel.
    Dopiero potem zacząć analizować jak parallel wpływa na wykonania.
    Wykonanie hash_join i nl w paralel zmienia bardzo wiele.

  • Krzysztof Bielecki
    Wpis na grupie Oracle w temacie Quiz - PL/SQL Challenge
    10.02.2011, 10:59

    Grzegorz Drzymała:
    Krzysztof Bielecki:
    Grzegorz Drzymała:
    Niekoniecznie o takie rozwiązanie mi chodziło :)

    Przyjmujemy, że tabele dla poszczególnych stanowisk już istnieją.
    Chodzi jedynie o efektywne przerzucenie danych.
    Zapytanie SQL.

    Insert all powinien pomoc.

    Bardziej mi chodziło o INSERT FIRST WHEN - nie sprawdzasz wtedy niepotrzebnie warunków, ale generalnie ok - multitable insert.

    Twoja kolej :)Grzegorz Drzymała edytował(a) ten post dnia 10.02.11 o godzinie 10:45

    Racja ;)

  • Krzysztof Bielecki
    Wpis na grupie Oracle w temacie Quiz - PL/SQL Challenge
    10.02.2011, 10:21

    Podeslij cały plan wykonania w parallelu bo tam troche rzeczy brakuje koszty to nie wszystko :)

  • Krzysztof Bielecki
    Wpis na grupie Oracle w temacie Quiz - PL/SQL Challenge
    10.02.2011, 10:11

    Grzegorz Drzymała:
    Niekoniecznie o takie rozwiązanie mi chodziło :)

    Przyjmujemy, że tabele dla poszczególnych stanowisk już istnieją.
    Chodzi jedynie o efektywne przerzucenie danych.
    Zapytanie SQL.

    Insert all powinien pomoc.

  • Krzysztof Bielecki
    Wpis na grupie Oracle w temacie bulk insert & update
    17.01.2011, 12:59

    zapewne ln_licznik jest problemem :)

  • Krzysztof Bielecki
    Wpis na grupie Oracle w temacie bulk insert & update
    17.01.2011, 11:30

    A dokładniej opisz do czego chcesz używać bulkow ?:)
    Bo są szybsze rzeczy niżupdate bulkiem.

  • Krzysztof Bielecki
    Wpis na grupie Oracle w temacie apostrofy ' w text stringu zeby sie rozłączał sting ?
    1.12.2010, 17:31

    to może pomoże :D

    select q'!gfdffddddd'dssdsdd !'
    from dual;

Dołącz do GoldenLine

Oferty pracy

Sprawdź aktualne oferty pracy

Aplikuj w łatwy sposób

Aplikuj jednym kliknięciem

Wyślij zaproszenie do