<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-7615100691285150210</id><updated>2009-11-01T22:25:49.315+07:00</updated><title type='text'>otak-otak</title><subtitle type='html'>makanan favourit selepas magrib</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ujang-id.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7615100691285150210/posts/default'/><link rel='alternate' type='text/html' href='http://ujang-id.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ujang</name><uri>http://www.blogger.com/profile/04962906686661927128</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7615100691285150210.post-8531040841793907640</id><published>2007-10-29T19:41:00.000+07:00</published><updated>2007-10-29T19:56:57.213+07:00</updated><title type='text'>the 1st time 3 nodes RAC</title><content type='html'>it was a chance to modify existing RAC environment, especially on production.&lt;br /&gt;&lt;br /&gt;existing environment is 2 nodes rac on solaris 9 with oracle clusterware 10.2.0.3&lt;br /&gt;users asks me to add it become 3 nodes.&lt;br /&gt;&lt;br /&gt;the preparation was taken about 1 months, it was testing environment trying to test with some workloads...etc.&lt;br /&gt;&lt;br /&gt;and finally they said...it is ok than pls do it on production...&lt;br /&gt;starting from 00:00AM I played with the node addition....&lt;br /&gt;some small trouble was found due to corruption on 2nd node's inventory.&lt;br /&gt;we fixed it by simply copy an xml file from 1st node to 2nd node, and continue.&lt;br /&gt;&lt;br /&gt;but after a days we successfully add the 3rd node, I got an message that the node 1 &amp; 2 has been restarting .... hmmmmmmmm amazing.....&lt;br /&gt;&lt;br /&gt;digging to the alert log and crs log... open metalink and start browsing .... found some nice bugs......&lt;br /&gt;&lt;br /&gt;huh..mann live so so so hard :(&lt;br /&gt;&lt;br /&gt;ujang&lt;br /&gt;jakarta - indonesia&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7615100691285150210-8531040841793907640?l=ujang-id.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ujang-id.blogspot.com/feeds/8531040841793907640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7615100691285150210&amp;postID=8531040841793907640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7615100691285150210/posts/default/8531040841793907640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7615100691285150210/posts/default/8531040841793907640'/><link rel='alternate' type='text/html' href='http://ujang-id.blogspot.com/2007/10/1st-time-3-nodes-rac.html' title='the 1st time 3 nodes RAC'/><author><name>Ujang</name><uri>http://www.blogger.com/profile/04962906686661927128</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08955715468493404627'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7615100691285150210.post-5380479002118694748</id><published>2007-10-29T19:28:00.000+07:00</published><updated>2007-10-29T19:35:13.583+07:00</updated><title type='text'>hints - how it could help ??</title><content type='html'>I have a database with 2 nodes RAC on Linux Itanium 64 bit of course.&lt;br /&gt;&lt;br /&gt;users always ask me " why my query so slow, when it is on 9i database it is not too slow". the I'm digging into "what make it slow".&lt;br /&gt;&lt;br /&gt;I found I nice SQL which is something like this:&lt;br /&gt;&lt;br /&gt;select .....&lt;br /&gt;function_get(....).....&lt;br /&gt;function_get(....).....&lt;br /&gt;function_get(....).....&lt;br /&gt;from (select ........&lt;br /&gt;       from ( select .....&lt;br /&gt;              from a, b)&lt;br /&gt;      )&lt;br /&gt;&lt;br /&gt;it almost full day I played with the query....&lt;br /&gt;trial and error was done... by add some hints ....&lt;br /&gt;&lt;br /&gt;and finally I resolved by some hints with add a cumulative index ....&lt;br /&gt;&lt;br /&gt;/*+ first_rows leading(a b) use_nl(a b) use_index(a a_xxxx_idx_0011) use_concat NO_PUSH_SUBQ(a) */ &lt;br /&gt;&lt;br /&gt;wowww.... it's so long.... look like train....&lt;br /&gt;&lt;br /&gt;I dont think so this is due to oracle database, but it should rely on application design problem :(&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ujang&lt;br /&gt;jakarta - indonesia&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7615100691285150210-5380479002118694748?l=ujang-id.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ujang-id.blogspot.com/feeds/5380479002118694748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7615100691285150210&amp;postID=5380479002118694748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7615100691285150210/posts/default/5380479002118694748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7615100691285150210/posts/default/5380479002118694748'/><link rel='alternate' type='text/html' href='http://ujang-id.blogspot.com/2007/10/hints-how-it-could-help.html' title='hints - how it could help ??'/><author><name>Ujang</name><uri>http://www.blogger.com/profile/04962906686661927128</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08955715468493404627'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7615100691285150210.post-4922779765166658384</id><published>2007-03-21T12:46:00.000+07:00</published><updated>2007-03-21T12:47:12.769+07:00</updated><title type='text'>TAF - Transparent Application Fail Over on RAC 9i</title><content type='html'>One benefit of Oracle RAC is TAF - transparent aplication failover, &lt;br /&gt;which could guarantee continuing its session and query (only select that can be handled, DML, DDL still in my dream, perhaps oracle 11g could have it) when &lt;br /&gt;instance failure.&lt;br /&gt;&lt;br /&gt;Here I will talk about simple network naming method by local naming (tnsnames)&lt;br /&gt;to accomodate TAF functioning.&lt;br /&gt;&lt;br /&gt;in this scenario I am using the environment:&lt;br /&gt;1. Oracle 9.2.0.4 cluster manager as clusterware or CRS&lt;br /&gt;2. Oracle 9.2.0.4 as oracle RAC database&lt;br /&gt;3. Linux CentOS Enterprise 2.1&lt;br /&gt;4. VMWare (we do testing on a limited resources)&lt;br /&gt;&lt;br /&gt;The installation of the above environment is quite easy and comfortable&lt;br /&gt;for almost DBA, who have the knowledge about the concept of cluster as well as oracle database itself.&lt;br /&gt;&lt;br /&gt;Because TAF provides failover for query (select statement) and the tool which I have tested is SQL*Plus, another drivers also have TAF ready which mainly OCI base.&lt;br /&gt;&lt;br /&gt;Real Application Clusters Failover, involve several works inside, there are:&lt;br /&gt;• Detect failure by monitoring the heartbeat&lt;br /&gt;• Reorganize instance membership&lt;br /&gt;• Perform instance recovery&lt;br /&gt;• Reestablish failed client connections&lt;br /&gt;&lt;br /&gt;TAF on Oracle RAC Can be used with the "available" nodes or with primary/secondary instance configurations (application partitioning against RAC database)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;TAF Failover Mode Options&lt;br /&gt;&lt;br /&gt;• Must add failover options manually to TNS configuration files&lt;br /&gt;• They are part of the CONNECT_DATA section of a connect descriptor&lt;br /&gt;• Failover options include&lt;br /&gt;  – TYPE    – SESSION: Failover to an alternate session only&lt;br /&gt;            – SELECT: Failover and continue with any ongoing query&lt;br /&gt;            – NONE: Prevent failover&lt;br /&gt;&lt;br /&gt;  – METHOD  • BASIC: Establishes no contact with the failover &lt;br /&gt;                     instance prior to failure&lt;br /&gt;            • PRECONNECT: Creates mirror connections on the&lt;br /&gt;                          standby instance for the connections on the primary&lt;br /&gt;                          instance&lt;br /&gt;&lt;br /&gt;  – BACKUP: Identify an alternate net service name&lt;br /&gt;            Specify a different net service name for backup connections.&lt;br /&gt;            • Use with the PRECONNECT method to identify the&lt;br /&gt;              service to initiate your failover preconnections&lt;br /&gt;&lt;br /&gt;  – RETRIES: Limit the number of times a reconnection will be attempted&lt;br /&gt;             Specify the number of times to attempt to connect after a failover.&lt;br /&gt;&lt;br /&gt;  – DELAY: Specify how long to wait between reconnection attempts&lt;br /&gt;           Specify the amount of time in seconds to wait between connect attempts.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;herewith a snippet of initial parameter to comply with TAF:&lt;br /&gt;&lt;br /&gt;*.cluster_database_instances=3&lt;br /&gt;*.cluster_database=TRUE&lt;br /&gt;*.db_domain=''&lt;br /&gt;*.db_name='racdb'&lt;br /&gt;racdb2.local_listener='LISTENER_RACDB2'&lt;br /&gt;racdb1.local_listener='LISTENER_RACDB1'&lt;br /&gt;racdb3.local_listener='LISTENER_RACDB3'&lt;br /&gt;*.remote_listener='LISTENERS_RACDB'&lt;br /&gt;&lt;br /&gt;those LISTENER_* are entries in the tnsnames.ora file which point to each instance as well as an "FAILOVER" ready in the remote_listener:&lt;br /&gt;&lt;br /&gt;here tnsnames.ora file to accomodate the above initial parameter complying TAF:&lt;br /&gt;&lt;br /&gt;LISTENER_RACDB3 =&lt;br /&gt;  (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.3.91)(PORT = 1521))&lt;br /&gt;&lt;br /&gt;#see racdb3.local_listener in the initial parameter and 10.1.3.91 is &lt;br /&gt;the public IP of the third Node&lt;br /&gt;&lt;br /&gt;LISTENER_RACDB2 =&lt;br /&gt;  (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.3.81)(PORT = 1521))&lt;br /&gt;&lt;br /&gt;#see racdb2.local_listener in the initial parameter and 10.1.3.81 is &lt;br /&gt;the public IP of the second Node&lt;br /&gt;&lt;br /&gt;LISTENER_RACDB1 =&lt;br /&gt;  (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.3.71)(PORT = 1521))&lt;br /&gt;&lt;br /&gt;#see racdb1.local_listener in the initial parameter and 10.1.3.71 is &lt;br /&gt;the public IP of the first Node&lt;br /&gt;&lt;br /&gt;RACDB =&lt;br /&gt;  (DESCRIPTION=&lt;br /&gt;    (ADDRESS_LIST=&lt;br /&gt;      (LOAD_BALANCE=ON)&lt;br /&gt;      (FAILOVER=ON)&lt;br /&gt;      (ADDRESS=(PROTOCOL=TCP)(HOST=10.1.3.71)(PORT=1521))&lt;br /&gt;      (ADDRESS=(PROTOCOL=TCP)(HOST=10.1.3.81)(PORT=1521))&lt;br /&gt;      (ADDRESS=(PROTOCOL=TCP)(HOST=10.1.3.91)(PORT=1521))&lt;br /&gt;    )&lt;br /&gt;    (CONNECT_DATA=&lt;br /&gt;      (SERVICE_NAME=racdb)&lt;br /&gt;      (FAILOVER_MODE=&lt;br /&gt;        (TYPE=SELECT)&lt;br /&gt;        (METHOD=BASIC)&lt;br /&gt;        (RETRIES=500)&lt;br /&gt;        (DELAY=5)&lt;br /&gt;      )&lt;br /&gt;    )&lt;br /&gt;  )&lt;br /&gt;&lt;br /&gt;#the racdb entry is aimed for client connection, see here we use FAILOVER option and service_name derive from service_name in initial parameter or it could derived from db_name.db_domain.&lt;br /&gt;# this entry also can handle load balancing and client connection time failover as well.&lt;br /&gt;&lt;br /&gt;LISTENERS_RACDB =&lt;br /&gt;  (DESCRIPTION =&lt;br /&gt;    (ADDRESS_LIST =&lt;br /&gt;      (LOAD_BALANCE=ON)&lt;br /&gt;      (FAILOVER=ON)&lt;br /&gt;      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.3.71)(PORT = 1521))&lt;br /&gt;      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.3.81)(PORT = 1521))&lt;br /&gt;      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.3.91)(PORT = 1521))&lt;br /&gt;      (LOAD_BALANCE = yes)&lt;br /&gt;    )&lt;br /&gt;    (CONNECT_DATA =&lt;br /&gt;      (SERVICE_NAME = racdb)&lt;br /&gt;      (FAILOVER_MODE=&lt;br /&gt;        (TYPE=SELECT)&lt;br /&gt;        (METHOD=BASIC)&lt;br /&gt;        (RETRIES=500)&lt;br /&gt;        (DELAY=5)&lt;br /&gt;      )&lt;br /&gt;    )&lt;br /&gt;  )&lt;br /&gt;&lt;br /&gt;# this entry also seem like for the client connection, which has FAILOVER option to comply remote_listener in the initial parameter.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;this simple listener.ora file (here for node1)&lt;br /&gt;&lt;br /&gt;LISTENER =&lt;br /&gt;  (DESCRIPTION_LIST =&lt;br /&gt;    (DESCRIPTION =&lt;br /&gt;      (ADDRESS_LIST =&lt;br /&gt;        (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.3.71)(PORT = 1521))&lt;br /&gt;      )&lt;br /&gt;    )&lt;br /&gt;  )&lt;br /&gt;&lt;br /&gt;SID_LIST_LISTENER =&lt;br /&gt;  (SID_LIST =&lt;br /&gt;    (SID_DESC =&lt;br /&gt;      (SID_NAME = PLSExtProc)&lt;br /&gt;      (ORACLE_HOME = /u01/app/oracle/product/9.2.0)&lt;br /&gt;      (PROGRAM = extproc)&lt;br /&gt;    )&lt;br /&gt;    (SID_DESC =&lt;br /&gt;      (ORACLE_HOME = /u01/app/oracle/product/9.2.0)&lt;br /&gt;      (SID_NAME = racdb1)&lt;br /&gt;    )&lt;br /&gt;  )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now its time to investigate TAF&lt;br /&gt;&lt;br /&gt;connect from any client by SQL*Plus :&lt;br /&gt;&lt;br /&gt;sqlplus /nolog&lt;br /&gt;SQL&gt; conn system/oracle@racdb&lt;br /&gt;SQL&gt; SELECT machine, failover_type, failover_method, failed_over, COUNT(*)&lt;br /&gt;FROM v$session&lt;br /&gt;GROUP BY machine, failover_type, failover_method, failed_over;&lt;br /&gt;&lt;br /&gt;the row should indicated failover_type, failover_method match with the entries in the tnsnames.ora file.&lt;br /&gt;&lt;br /&gt;check which instance you are currently in:&lt;br /&gt;SQL&gt; select instance_name from v$instance;&lt;br /&gt;&lt;br /&gt;now grab all rows in dba_objects:&lt;br /&gt;SQL&gt; select * from dba_objects;&lt;br /&gt;&lt;br /&gt;while the above query running, on the node which instance your connection run in, try shutdown abort to simulate instance crash failure, by using sqlplus or srvctl.&lt;br /&gt;&lt;br /&gt;sqlplus '/as sysdba'&lt;br /&gt;SQL&gt; shutdown abort;&lt;br /&gt;&lt;br /&gt;it should the above query select * from dba_objects, hold for a while and continue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7615100691285150210-4922779765166658384?l=ujang-id.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ujang-id.blogspot.com/feeds/4922779765166658384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7615100691285150210&amp;postID=4922779765166658384' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7615100691285150210/posts/default/4922779765166658384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7615100691285150210/posts/default/4922779765166658384'/><link rel='alternate' type='text/html' href='http://ujang-id.blogspot.com/2007/03/taf-transparent-application-fail-over.html' title='TAF - Transparent Application Fail Over on RAC 9i'/><author><name>Ujang</name><uri>http://www.blogger.com/profile/04962906686661927128</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08955715468493404627'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7615100691285150210.post-1386291804631310107</id><published>2007-02-19T14:25:00.001+07:00</published><updated>2007-10-29T19:38:37.758+07:00</updated><title type='text'>Parallel Query</title><content type='html'>Parallel Query&lt;br /&gt;&lt;br /&gt;1. Introduced since Oracle 7.1 as Oracle Parallel Query Option (PQO) Parallel operations include:&lt;br /&gt;* SELECT, FTS or index range scan spanning multiple partitions&lt;br /&gt;* Creating or rebuilding an index&lt;br /&gt;* Partition operations such as moving or splitting partitions&lt;br /&gt;* CREATE TABLE AS SELECT&lt;br /&gt;* INSERT INTO . . . SELECT&lt;br /&gt;* Update and delete operations on partitioned tables&lt;br /&gt;&lt;br /&gt;2. To parallelize a SELECT statement, the following conditions must be met:&lt;br /&gt;* FTS or Index range scan involving multiple partitions.&lt;br /&gt;* PARALLEL hint in FTS or PARALLEL on table definition.&lt;br /&gt;* On an index PARALLEL_INDEX hint or index must have a parallel definition.&lt;br /&gt;&lt;br /&gt;Example&lt;br /&gt;alter table emp parallel (degree 4);&lt;br /&gt;select degree from user_tables where table_name = 'EMP';&lt;br /&gt;select count(*) from emp;&lt;br /&gt;alter table emp noparallel;&lt;br /&gt;SELECT /*+ PARALLEL(emp,4) */ COUNT(*) FROM emp;&lt;br /&gt;&lt;br /&gt;3. Parallel DML&lt;br /&gt;* Only when multiple partitions are involved.&lt;br /&gt;* Oracle can parallelize only INSERT . . . SELECT . . . FROM statements.&lt;br /&gt;&lt;br /&gt;Examples&lt;br /&gt;alter session enable parallel dml;&lt;br /&gt;insert /*+ parallel (emp_big,4,1) */ into emp_big select * from emp;&lt;br /&gt;commit;&lt;br /&gt;alter session disable parallel dml;&lt;br /&gt;&lt;br /&gt;4. Parallel DDL&lt;br /&gt;Parallel DDL works for both tables and indexes, whether partitioned or nonpartitioned.&lt;br /&gt;&lt;br /&gt;CREATE TABLE...AS SELECT&lt;br /&gt;CREATE INDEX&lt;br /&gt;ALTER INDEX...REBUILD&lt;br /&gt;&lt;br /&gt;Not all tables allow these operations to be executed in parallel.&lt;br /&gt;Tables with object columns or LOB columns don't allow parallel DDL.&lt;br /&gt;&lt;br /&gt;5. Parallel Data Loading::&lt;br /&gt;SQLLOAD scott/tiger CONTROL=con1.ctl DIRECT=TRUE PARALLEL=TRUE&lt;br /&gt;SQLLOAD scott/tiger CONTROL=con2.ctl DIRECT=TRUE PARALLEL=TRUE&lt;br /&gt;SQLLOAD scott/tiger CONTROL=con3.ctl DIRECT=TRUE PARALLEL=TRUE&lt;br /&gt;SQLLOAD scott/tiger CONTROL=con4.ctl DIRECT=TRUE PARALLEL=TRUE&lt;br /&gt;&lt;br /&gt;6. Parallel Recovery&lt;br /&gt;The RECOVERY_PARALLELISM initialization parameter controls&lt;br /&gt;the degree of parallelism to use for a recovery.&lt;br /&gt;You can override that setting for a specific situation&lt;br /&gt;by using the RECOVER command's PARALLEL clause.&lt;br /&gt;&lt;br /&gt;Example&lt;br /&gt;RECOVER TABLESPACE tab PARALLEL (DEGREE 4);&lt;br /&gt;RECOVER DATABASE PARALLEL (DEGREE DEFAULT);&lt;br /&gt;&lt;br /&gt;A value of or 1 indicates serial recovery, no parallelism will be used.&lt;br /&gt;The RECOVERY_PARALLELISM parameter setting cannot exceed&lt;br /&gt;the PARALLEL_MAX_SERVERS setting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7615100691285150210-1386291804631310107?l=ujang-id.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ujang-id.blogspot.com/feeds/1386291804631310107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7615100691285150210&amp;postID=1386291804631310107' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7615100691285150210/posts/default/1386291804631310107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7615100691285150210/posts/default/1386291804631310107'/><link rel='alternate' type='text/html' href='http://ujang-id.blogspot.com/2007/02/parallel-query.html' title='Parallel Query'/><author><name>Ujang</name><uri>http://www.blogger.com/profile/04962906686661927128</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08955715468493404627'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>