This discussion is archived
1 2 Previous Next 25 Replies Latest reply: Mar 20, 2013 10:39 PM by Aman.... Go to original post RSS
  • 15. Re: single table hash clusters
    Jonathan Lewis Oracle ACE Director
    Currently Being Moderated
    user12288492 wrote:

    It means that now it has to look for id = 1 in two blocks . So I should be getting cr=2.

    Why an extra I/O now? ( I had committed after inserting record for id=6)
    Without re-running your tests EXACTLY, I couldn't tell you which I/Os relate to cleanout effects, what relates to block chains, and how the counts are affected by pins. What I can tell you is that you're worrying about a detail that might be completely irrelevant in a production system. An earlier post complained about the logical I/Os being much more than expected - but it was one more on the first access to the row by the first session to visit that row after it was created.

    If you want to get a better idea of production activity you need to think about modelling it better. Since I've pointed out that the first anomaly was a cleanout effect, you might try this: for each row in turn - reconnect to Oracle, select the row; run the cycle twice, and then see if subsequence 'connect / select' executions result in 1 or 2 logical I/Os per visit.

    For some idea about cleanout, see: http://jonathanlewis.wordpress.com/2009/06/16/clean-it-up/

    Regards
    Jonathan Lewis
  • 16. Re: single table hash clusters
    Jonathan Lewis Oracle ACE Director
    Currently Being Moderated
    rp0428 wrote:

    So for the above definition of Modulo that uses quotient/remainder the remainder is the block and the quotient is the row within the block. Your use of 'remainder' for the row within the block is what was confusing.
    Sorry for the confusion - I should have been less vague.

    mod(id, hashkeys) gives the hash value used for a given id - where hashkeys is the smallest prime number not less than the supplied value.

    trunc(hash value / "rows per block") gives the relative block number - but add one because we count from 1 not zero.

    mod(hash value, "rows per block") gives the relative row number in block - but add one because we count from 1 not zero. I had jotted this mod() down as the remainder from the previous division.

    Regards
    Jonathan Lewis
  • 17. Re: single table hash clusters
    rp0428 Guru
    Currently Being Moderated
    >
    Sorry for the confusion - I should have been less vague.
    >
    Not your problem - mine. I was locked in on a different meaning of 'remainder'.

    That's why I try to stress to people NOT to be afraid of asking questions if you don't understand something. It isn't a question of whether you think you 'ought' to know the answer. Sometimes the cause of a misunderstanding is as simple as using a different interpretation of even a single word that is different than what the author meant.
  • 18. Re: single table hash clusters
    user12288492 Newbie
    Currently Being Moderated
    Sir,

    With your guidance, I have learnt a little bit about single table hash clusters. I have tried to put it together in the following article:

    http://oracleinaction.blogspot.in/2013/03/SINGLETABHASHCLUSTER.html

    I would be extremely grateful if you could spare some time to go through it and give your views.

    Regards
    Anju Garg
  • 19. Re: single table hash clusters
    rp0428 Guru
    Currently Being Moderated
    >
    I would be extremely grateful if you could spare some time to go through it and give your views.
    >
    Not going to wade through all of that but here are some observations:

    1. Reputable authors have their works peer reviewed BEFORE publication, not after.

    2. Reputable authors don't use copyrighted material from other sources without identifying the source of the material and giving credit to the original authors. You have used a substantial amount of material that appears to be copied verbatim from the Oracle documentation (a copyrighted work). You did not identify that material as being copyrighted or identify the source of the material.

    Your 'summary' also appears to have been lifted right out of the Oracle documentation but unknowing readers may think you are presenting your own conclusions and expert advice. Many readers will not like it if they find out they have been duped.

    In the Oracle forums a lot of us quote short passages from the Oracle documentation but we also provide the link to the documentation and indicate that the Oracle doc was the SOURCE of the material quoted.l

    3. Reputable authors credit their contributors and sources even if no specific quote is used from those sources. A lot of what you posted is based on information in your Oracle forum thread: single table hash clusters

    Jonathan Lewis, an Oracle ACE and noted author, provided feedback as did others. You should have at least provided a link to that forum thread as Jonathan, and other authors, typically do when they post articles that stem from, or are related to, questions ask on the forums.

    4. Making unsubstantiated claims and blanket assertions can destroy any credibility an author, or the material presented, might have
    >
    In this post, I will discuss about single table hash clusters which are the fastest way to fetch a row requiring only a single block get.
    >
    Fastest? Can you substantiate that? Is it faster than using ROWID to access a row from a billion row table that doesn't even have any indexes?

    Single block get? You already know that isn't always true. Although you do clarify that some by statements made later in the article such a blanket statement (an incorrect or misleading statement at best) can impact your credibility when readers find out later that it isn't always true.
    >
    - The key column value (1 here) is hashed to convert it into a disk address in a superfast CPU operation taking only 50 microseconds to return a Rowid (Disk address containing disk, cylinder, track, block and offset within the block).
    >
    A statement such as 'taking only 50 microseconds' should be clarified to indicate that it is a sample value only and may not be typical of what the time might be in other systems.

    ROWID contains 'disk, cylinder, track, block and offset withing the block'? That's news to me!

    And it differs from the Official documentation. See 'ROWID PseudoColumn' in the SQL Language Doc
    http://docs.oracle.com/cd/E14072_01/server.112/e10592/pseudocolumns008.htm
    >
    ROWID Pseudocolumn For each row in the database, the ROWID pseudocolumn returns the address of the row. Oracle Database rowid values contain information necessary to locate a row:

    The data object number of the object

    The data block in the data file in which the row resides

    The position of the row in the data block (first row is 0)

    The data file in which the row resides (first file is 1). The file number is relative to the tablespace.

    Usually, a rowid value uniquely identifies a row in the database. However, rows in different tables that are stored together in the same cluster can have the same rowid.
    >
    My suggestion is that you 'withdraw' your article from publication (remove it from your website) until you get some of those numerous problems corrected.
  • 20. Re: single table hash clusters
    user12288492 Newbie
    Currently Being Moderated
    I am sorry for all that. In fact, I did not know how to get it reviewed before publishing it.

    As per your advice , I have deleted my post. I have edited it to reflect all the changes you suggested. How can I send it to you for your feedback?

    Edited by: user12288492 on Mar 20, 2013 9:51 PM
  • 21. Re: single table hash clusters
    Aman.... Oracle ACE
    Currently Being Moderated
    user12288492 wrote:
    I am sorry for all that. In fact, I did not know how to get it reviewed before publishing it.

    As per your advice , I have deleted my post. I have edited it to reflect all the changes you suggested. How can I send it to you for your feedback?

    Edited by: user12288492 on Mar 20, 2013 9:51 PM
    Anju,

    A blog post is more or less a finding that you write informally. If you are writing a blog post, try to reproduce the things that you are mentioning and it would be easier for all the readers to test your claims and verify it. As Rp mentioned, it's very important to mention the source of the information if you didn't originally wrote that piece of information. It's been mentioned here many times yet people fail to do so somehow.

    Aman....
  • 22. Re: single table hash clusters
    user12288492 Newbie
    Currently Being Moderated
    Aman,

    I sincerely apologise for what has happened. In fact it was all unintentional. I never wanted to claim the contents of my post as my original work. I am just a nobody without even elementary knowledge of oracle. It was just that I didn't know how to go about it.

    Regards
    Anju
  • 23. Re: single table hash clusters
    Aman.... Oracle ACE
    Currently Being Moderated
    user12288492 wrote:
    Aman,

    I sincerely apologise for what has happened. In fact it was all unintentional. I never wanted to claim the contents of my post as my original work.
    Anju,

    If it was unintentional, it's fine. Just make sure next time, you do quote the source of the information whether it's another blog post, MOS , oracle docs whatever. If it's your own finding, let others have a look and comment on it. Oralce db is far too big to be understood completley so there is nothing wrong in being incorrect and getting corrected!
    I am just a nobody without even elementary knowledge of oracle. It was just that I didn't know how to go about it.
    Well, we are all here to learn. I can speak about myself that I know nothing except just about 0.00001% of what Oracle db is. But the important things are two. One, make sure you try to learn as much as possible and two, be open to get corrected whenever you are wrong.

    Aman....
  • 24. Re: single table hash clusters
    TSharma-Oracle Guru
    Currently Being Moderated
    I can speak about myself that I know nothing except just about 0.00001%
    You are being too modest now :)
  • 25. Re: single table hash clusters
    Aman.... Oracle ACE
    Currently Being Moderated
    TSharma wrote:
    I can speak about myself that I know nothing except just about 0.00001%
    You are being too modest now :)
    It's a 100% truth, trust me! :)

    Aman....
1 2 Previous Next

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points