March 19981© Dennis Adams Associates Tuning Oracle: Key Considerations Dennis Adams 25 March 1998
March 1998 © Dennis Adams Associates2 Topics to Cover The Oracle Architecture Tuning each “Building Block” General Conclusions
March 1998 © Dennis Adams Associates3 User Application The Oracle Building Blocks
March 1998 © Dennis Adams Associates4 select … from … where … order by … Network Connection SQL Parser Optimizer / Query Planner Query Processing and I/O Caches Operating System
March 1998 © Dennis Adams Associates5 The Oracle Building Blocks Network Layer SQL parser Optimiser and Query Planner Query Processing and I/O processes Caches The underlying Operating System
March 1998 © Dennis Adams Associates6 Oracle Networking Client/Server architecture means –the server serves, the client displays –NOT the same as traditional design Get data as little as possible –when you need it (minimise throughput) SQL*Net / ODBC interface –can tune no of listeners, buffering etc. Design with Client/Server in Mind
March 1998 © Dennis Adams Associates7 SQL Queries “80% of performance issues = bad SQL” –select ename from emp where enum=10 Inappropriate design ? –which column should be used in the join ? –column type coercian, join types (=, >=, =<) –cartesian products etc. –hints ( /* +ORDERED */) –indexes ! Test SQL, then Test again
March 1998 © Dennis Adams Associates8 Parsing and Optimising “How to get the data” The more tables the greater the complexity –read table “a”, lookup table “b” ? –read table “b”, lookup “a” ? –sort-merge both together ? –how is data distributed on table “a” / “b” ? Are there indexes ? –are they appropriate ? Don’t be fooled by “small scale” SQL tests
March 1998 © Dennis Adams Associates9 Query Processing and I/O Tables are stored in Segments –organised into Table Spaces, Extents Table contention –hot tables in the same table space ? Redo Logs –essential to preserve consistancy Rollback Segments –used to keep copies of data before updating Plan Sizes / Placement of Tablespaces etc
March 1998 © Dennis Adams Associates10 Caches and Memory DMF Cache (DB Blocks) –“Real Data” = the tables Redo Buffers –information to be written to redo logs Dictionary Cache –the “data about the data” Library (Program) Cache –the SQL and it’s parsed plan Configure Memory for Production Use
March 1998 © Dennis Adams Associates11 The Operating System How much memory does the OS have ? –How much is available for Oracle ? Are there “hot disks” ? –Which table spaces are on them ? Is the CPU (s) fully utilised ? –Of so, are they running the Oracle engine ? Use the Power of the Server - fully
March 1998 © Dennis Adams Associates12 Conclusions Tuning Oracle: Key Considerations –Networking –SQL design –Understanding the Optimiser –Query Processing and I/O configuration –Cache Sizing –The underlying Operating System
March 1998 © Dennis Adams Associates13 There’s more.. We have not mentioned –Locking and Blocking Locks... –How to extract the information. –What can (realistically) be changed Oracle Management –Oracle is a complex DBMS –Treat with care !
March 1998 © Dennis Adams Associates14 Questions … ?