{"id":245,"date":"2013-10-28T11:04:46","date_gmt":"2013-10-28T11:04:46","guid":{"rendered":"http:\/\/tomas.papp.me.uk\/?p=245"},"modified":"2013-10-28T11:04:46","modified_gmt":"2013-10-28T11:04:46","slug":"exadata-related","status":"publish","type":"post","link":"https:\/\/tomas.papp.me.uk\/?p=245","title":{"rendered":"Exadata related&#8230;."},"content":{"rendered":"<p><strong>Background Processes in the Exadata Cell Environment on database server:<\/strong><br \/>\nThe background processes for the database and Oracle ASM instance for an Exadata<br \/>\nCell environment are the same as other environments, except for the following background process:<\/p>\n<p>&#8211; diskmon Process &#8211; The diskmon process is a fundamental component of Exadata Cell, and is responsible for implementing I\/O fencing.<\/p>\n<p>&#8211; XDMG Process (Exadata Automation Manager)<br \/>\nIts primary task is to watch for inaccessible disks and cells, and to detect when the disks and cells become accessible.<\/p>\n<p>&#8211; XDWK Process (Exadata Automation Worker)<br \/>\nThe XDWK process begins when asynchronous actions, such as ONLINE, DROP or ADD for an Oracle ASM disk are requested by the XDMG process.<br \/>\nThe XDWK process will stop after 5 minutes of inactivity.<\/p>\n<p><strong>Output:<\/strong><br \/>\n&gt; ps -ef | egrep &#8220;diskmon|xdmg|xdwk&#8221;<br \/>\noracle 4684 4206 0 06:42 pts\/1 00:00:00 egrep diskmon|xdmg|xdwk<br \/>\noracle 10321 1 0 2010 ? 00:38:15 \/u01\/app\/11.2.0\/grid\/bin\/diskmon.bin -d -f<br \/>\noracle 10858 1 0 2010 ? 00:00:18 asm_xdmg_+ASM1<\/p>\n<p><strong>As a departure from ASM storage technology that uses a process architecture borrowed from database instances,<br \/>\nthe storage servers have a brand new set of processes to manage disk I\/O. They are:<\/strong><br \/>\n&#8211; RS, the restart service. Performing a similar role to SMON, RS monitors other processes, and automatically restarts them if they fail unexpectedly.<br \/>\nRS also handles planned restarts in conjunction with software updates.<br \/>\nThe main cellrssrm process spawns several helper processes, including cellrsbmt, cellrsbkm, cellrsomt, and cellrsssmt.<\/p>\n<p>&#8211; MS, the management service. MS is the back-end process that processes configuration and monitoring commands. It communicates with cellcli, described in the next section.<br \/>\nMS is written in Java, unlike the other background processes which are distributed in binary form and are likely written in C.<\/p>\n<p>&#8211; CELLSRV, the cell service. CELLSRV handles the actual I\/O processing of the storage server.<br \/>\nIt is not uncommon to see heavy usage from CELLSRV process threads during periods of heavy load.<br \/>\nAmong other things, CELLSRV provides:<br \/>\n. Communication with database nodes using the iDB\/RDS protocols over the InfiniBand network<br \/>\n. Disk I\/O with the underlying cell disks<br \/>\n. Offload of SQL processing from database nodes<br \/>\n. I\/O resource management, prioritizing I\/O requests based on a defined policy<\/p>\n<p>&#8211; I\/O Resource Manager (IORM). Enables storage grid by prioritizing I\/Os to ensure predictable performance<\/p>\n<p><strong>Cell node Management Overview:<\/strong><br \/>\nDBA&#8217;s login as OS user &#8220;celladmin&#8221; to manage cell nodes.<br \/>\nEach cell node internally run ASM instance to manage cell node disks. This means, you can&#8217;t see the ASM pmon process on the cell node.<\/p>\n<p>Cell Admin. Tool&#8217;s: cellcli and dcli.<br \/>\nCell monitoring Tool&#8217;s: OSWatcher, ORION (I\/O performance benchmarking tool) and ADRCI<\/p>\n<p><strong>Cell Nodes Logs and Traces:<\/strong><br \/>\n$ADR_BASE\/diag\/asm\/cell\/`hostname`\/trace\/alert.log<br \/>\n$ADR_BASE\/diag\/asm\/cell\/`hostname`\/trace\/ms-odl.*<br \/>\n$ADR_BASE\/diag\/asm\/cell\/`hostname`\/trace\/svtrc__0.trc &#8212; ps -ef | grep &#8220;cellsrv 100&#8221;<br \/>\n$ADR_BASE\/diag\/asm\/cell\/`hostname`\/incident\/*<\/p>\n<p>\/var\/log\/messages*, dmesg<br \/>\n\/var\/log\/sa\/*<br \/>\n\/var\/log\/cellos\/*<\/p>\n<p>cellcli -e list alerthistory<\/p>\n<p>$OSSCONF\/cellinit.ora &#8212; #CELL Initialization Parameters<br \/>\n$OSSCONF\/cell_disk_config.xml<br \/>\n$OSSCONF\/griddisk.owners.dat<br \/>\n$OSSCONF\/cell_bootstrap.ora<\/p>\n<p>\/opt\/oracle\/cell\/cellsrv\/deploy\/log\/cellcli.lst*<\/p>\n<p>$OSSCONF\/alerts.xml<br \/>\n$OSSCONF\/metrics\/*<br \/>\noswatcher data<\/p>\n<p>df -h -&gt; check if \/opt\/oracle file system full? \/opt\/oracle only 2GB in size on cell node !!!<\/p>\n<p>Where :<br \/>\n$OSSCONF is: \/opt\/oracle\/cell11.2.1.3.1_LINUX.X64_100818.1\/cellsrv\/deploy\/config<br \/>\n$ADR_BASE is: \/opt\/oracle\/cell11.2.1.3.1_LINUX.X64_100818.1\/log<\/p>\n<p><strong>Cell Check and shutdown\/startup commands:<\/strong><br \/>\nNote: For full list of commands use: cellcli -e help<\/p>\n<p>cellcli -e alter cell shutdown services all<br \/>\ncellcli -e alter cell startup services all<br \/>\ncellcli -e alter cell shutdown services cellsrv<br \/>\ncellcli -e alter cell restart services cellsrv<br \/>\ncellcli -e list lun detail<br \/>\ncellcli -e list griddisk detail<br \/>\ncellcli -e list celldisk detail<br \/>\ncellcli -e list physicaldisk detail<br \/>\ncellcli -e list flashcache detail<br \/>\ncellcli -e list physicaldisk attributes name, diskType, luns, status<br \/>\ncellcli -e list physicaldisk where disktype=harddisk attributes physicalfirmware<br \/>\ncellcli -e list lun attributes name, diskType, isSystemLun, status<\/p>\n<p>imagehistory (root\/sudo)<br \/>\nimageinfo (root\/sudo)<br \/>\nservice celld status (root\/sudo)<br \/>\nlsscsi | grep MARVELL<\/p>\n<p><strong>Smart scan layers:<\/strong><br \/>\nSmart scan involves multiple layers of code<br \/>\nKDS\/KTR\/KCBL &#8211; data layers in rdbms<br \/>\nKCFIS &#8211; smart scan layer in rdbms<br \/>\nPredicate Disk &#8211; smart scan layer in cellsrv<br \/>\nStorage index &#8211; IO avoidance optimization in cellsrv<br \/>\nFlash IO &#8211; IO layer in cellsrv to fetch data from flash cache<br \/>\nBlock IO &#8211; IO layer in cellsrv to fetch data from hard-disks<br \/>\nFPLIB &#8211; filtering library in cellsrv<\/p>\n<p><strong>Is smart scan issue?<\/strong><br \/>\nCell_offload_processing=false (default true)<br \/>\nIf the problem does not occurs, it\u2019s the smart scan issue.<\/p>\n<p><strong>Is this a FPLIB issue?<\/strong><br \/>\n_kcfis_cell_passthru_enabled=true (default false)<br \/>\nIf the problem does not occurs, it\u2019s the FPLIB issue<\/p>\n<p><strong>Is storage index issue?<\/strong><br \/>\n_kcfis_storageidx_disabled=true (default false)<br \/>\nProblem still occurs, it\u2019s not a storage index issue.<\/p>\n<p><strong>Is flash cache issue?<\/strong><br \/>\nFor 11.2.0.2, _kcfis_keep_in_cellfc_enabled=false (default true) do not use flash cache<br \/>\nFor 11.2.0.1, _kcfis_control1=1 (default 0)<br \/>\nProblem still occurs, it\u2019s not a flash cache problem.<\/p>\n<p><strong>Cell related Database view&#8217;s:<\/strong><br \/>\nselect * from sys.GV_$CELL_STATE;<br \/>\nselect * from sys.GV_$CELL;<br \/>\nselect * from sys.GV_$CELL_THREAD_HISTORY;<br \/>\nselect * from sys.GV_$CELL_REQUEST_TOTALS;<br \/>\nselect * from sys.GV_$CELL_CONFIG;<\/p>\n<p><strong>Bloom filter in Exadata:<\/strong><br \/>\nIn Oracle 10g concept of bloom filtering was introduced.<br \/>\nWhen two tables are joined via a hash join, the first table (typically the smaller table) is scanned and the rows that satisfy the \u2018where\u2019 clause predicates (for that table) are used to create a hash table.<br \/>\nDuring the hash table creation a bit vector or bloom filter is also created based on the join column.<br \/>\nThe bit vector is then sent as an additional predicate to the second table scan.<br \/>\nAfter the \u2018where\u2019 clause predicates have been applied to the second table scan, the resulting rows will have their join column hashed and it will be compared to values in the bit vector.<br \/>\nIf a match is found in the bit vector that row will be sent to the hash join. If no match is found then the row will be disregarded.<br \/>\nOn Exadata the bloom filter or bit vector is passed as an additional predicate so it will be overloaded to the storage cells making bloom filtering very efficient.<\/p>\n<p><strong>How to Identify a Bloom Filter in an Execution plan:<\/strong><br \/>\nYou can identify a bloom filter in a plan when you see :BF0000 in the Name column of the execution plan.<\/p>\n<p>To disable the feature, the initialization parameter _bloom_pruning_enabled must be set to FALSE.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Background Processes in the Exadata Cell Environment on database server: The background processes for the database and Oracle ASM instance for an Exadata Cell environment are the same as other environments, except for the following background process: &#8211; diskmon Process &#8211; The diskmon process is a fundamental component of Exadata Cell, and is responsible for [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-245","post","type-post","status-publish","format-standard","hentry","category-oracle"],"_links":{"self":[{"href":"https:\/\/tomas.papp.me.uk\/index.php?rest_route=\/wp\/v2\/posts\/245","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tomas.papp.me.uk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tomas.papp.me.uk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tomas.papp.me.uk\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/tomas.papp.me.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=245"}],"version-history":[{"count":1,"href":"https:\/\/tomas.papp.me.uk\/index.php?rest_route=\/wp\/v2\/posts\/245\/revisions"}],"predecessor-version":[{"id":246,"href":"https:\/\/tomas.papp.me.uk\/index.php?rest_route=\/wp\/v2\/posts\/245\/revisions\/246"}],"wp:attachment":[{"href":"https:\/\/tomas.papp.me.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=245"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tomas.papp.me.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=245"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tomas.papp.me.uk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}