<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_jimeper的脚印</title><subtitle type="text">如果永远不给自己机会，永远不知道未来的世界会更大，同一个天空，同一个梦想----------挑战你自己如果我们放眼从累生历劫去看，那么一切的众生，谁不曾做过我的父母、兄弟姊妹、亲戚眷属？谁不曾做过我的仇敌冤家？如果说有恩，个个与我有恩；如果说有冤，个个与我有冤。这样子我们还有什么恩怨亲疏之别呢？再就智慧愚笨来说，人人有聪明的时候，也有愚痴的时候，聪明的人可能变愚痴，愚痴的人也可能变聪明。最坏的人，也曾做过许多好事，而且不会永远坏；好人也曾做过许多坏事，将来也不一定会好。如此我们反覆思索，所谓的冤亲、贤愚，这许多差别的概念，自然就会渐渐淡了。这绝对不是混沌，也不是不知好坏，而是要将我们无始以来的偏私差别之见，以一视同仁的平等观念罢了！</subtitle><id>http://feed.cnblogs.com/blog/u/15983/rss</id><updated>2010-06-04T02:04:04Z</updated><author><name>jimeper</name><uri>http://www.cnblogs.com/jimeper/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jimeper/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/15983/rss"/><entry><id>http://www.cnblogs.com/jimeper/archive/2010/06/04/1751192.html</id><title type="text">有关SYSDATE与DBLINK的问题</title><summary type="text">问题：有A,B两数据库，连接到A机，对于SELECT SYSDATE FROM DUAL@TOB 来说，这个SYSDATE从A机取时间，还是B机取时间？测试证明是从A机，应该是ORACLE 分析发现这个SYSDATE函数在A机即存在，且与DUAL对象之间没有依赖关系，则在A机执行这个函数代码，为证明ORACLE是这样做的，示例如下：在A机上建一个自定义函数：create or replace fu...</summary><published>2010-06-04T02:04:00Z</published><updated>2010-06-04T02:04:00Z</updated><author><name>jimeper</name><uri>http://www.cnblogs.com/jimeper/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jimeper/archive/2010/06/04/1751192.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jimeper/archive/2010/06/04/1751192.html"/><content type="html">&lt;font color="#0000ff"&gt;问题：有A,B两数据库，连接到A机，对于SELECT SYSDATE FROM DUAL@TOB 来说，这个SYSDATE从A机取时间，还是B机取时间？&lt;br /&gt;&lt;/font&gt;测试证明是从A机，应该是ORACLE 分析发现这个SYSDATE函数在A机即存在，且与DUAL对象之间没有依赖关系，则在A机执行这个函数代码，为证明ORACLE是这样做的，示例如下：在A机上建一个自定义函数：create or replace function f_test return number is&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;&lt;br /&gt;return(1);&lt;br /&gt;end f_test;&lt;br /&gt;在B机上建同名函数，但返回值不同，如下：&lt;br /&gt;create or replace function f_test return number is&lt;br /&gt;begin&lt;br /&gt;return(2);&lt;br /&gt;end f_test;&lt;br /&gt;在A机上执行SQL：&lt;br /&gt;select f_test from dual@to201&lt;br /&gt;返回值为1，删除A机上的f_test函数后，执行SQL：&lt;br /&gt;Select f_test from dual@to201&lt;br /&gt;报无效标识符错，再执行SQL：&lt;br /&gt;select f_test@to201 from dual@to201&lt;br /&gt;或&lt;br /&gt;select f_test@to201 from dual&lt;br /&gt;返回值为2， &lt;br /&gt;&lt;font color="blue"&gt;结论：说明ORACLE 确实是在验证SQL相关对象时，先优先在本机查找对象的，如果要指定使用目标对象，则需要用DBLINK标识符来声明。 &lt;/font&gt;&lt;br /&gt;按以上结论，对sysdate使用DBLINK标识符：&lt;br /&gt;Select sysdate@to201 from dual@to201 ，&lt;br /&gt;报错：未找到预期FROM关键字，如下也不行：&lt;br /&gt;Select standard@to201.sysdate from dual@to201&lt;br /&gt;原因不明&lt;br /&gt;如果硬要使用B机的SYSDATE函数，则在B机用户下建一个视图：&lt;br /&gt;create view mydate as select sysdate mydate from dual&lt;br /&gt;然后在A机：&lt;br /&gt;select mydate from mydate@to201&lt;br /&gt;正常。 &lt;br /&gt;BTW：&lt;br /&gt;有同事反映说有这样一种情况，在SQLPLUS 下手工：&lt;br /&gt;select sysdate from dual@tob &lt;br /&gt;返回的是A机(本机)的时间，但如果在触发器中执行这个SQL，,获得的时间却是B机的，经测试，未重现这个现象，原因不明&lt;img src="http://www.cnblogs.com/jimeper/aggbug/1751192.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jimeper/archive/2010/06/04/1751192.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jimeper/archive/2010/06/04/1751190.html</id><title type="text">(原创)从CLOB字段的XML中提取关系数据研究</title><summary type="text">从CLOB字段的XML中提取关系数据研究本文中用以下函数：extract、extractvalue、existsnode、xmlsequence、xmltype、Xmltable、XMLQuery，函数的具体的语法在此不作描述。在提取数据之前先要把CLOB数据用xmltype函数据转换为XML数据。1.XML中的数据是单表且只一行数据。这种情况很简单且速度很快。示例如下：SELECT extrac...</summary><published>2010-06-04T01:58:00Z</published><updated>2010-06-04T01:58:00Z</updated><author><name>jimeper</name><uri>http://www.cnblogs.com/jimeper/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jimeper/archive/2010/06/04/1751190.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jimeper/archive/2010/06/04/1751190.html"/><content type="html">&lt;p align="left"&gt;从CLOB字段的XML中提取关系数据研究&lt;br /&gt;本文中用以下函数：extract、extractvalue、existsnode、xmlsequence、xmltype、Xmltable、XMLQuery，函数的具体的语法在此不作描述。&lt;br /&gt;在提取数据之前先要把CLOB数据用xmltype函数据转换为XML数据。&lt;br /&gt;1.XML中的数据是单表且只一行数据。&lt;br /&gt;这种情况很简单且速度很快。示例如下：&lt;br /&gt;SELECT&lt;br /&gt;&amp;nbsp; extractvalue(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/action_code') action_code,&lt;br /&gt;&amp;nbsp; extractvalue(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/route_id') route_id,&lt;br /&gt;&amp;nbsp; extractvalue(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/route_actn_code') route_actn_code,&lt;br /&gt;&amp;nbsp; extractvalue(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/deal_org_code') deal_org_code,&lt;br /&gt;&amp;nbsp; extractvalue(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/office_code') office_code&amp;nbsp; ,&lt;br /&gt;&amp;nbsp; to_date(extractvalue(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/deal_datetime'),'yyyy-mm-dd hh24:mi:ss') deal_datetime,&lt;br /&gt;&amp;nbsp; to_date(extractvalue(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/act_datetime'),'yyyy-mm-dd hh24:mi:ss') act_datetime,&lt;br /&gt;&amp;nbsp; extractvalue(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/post_way_code') post_way_code,&lt;br /&gt;&amp;nbsp; extractvalue(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/route_kind_code') route_kind_code,&lt;br /&gt;&amp;nbsp; extractvalue(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/bag_count') bag_count,&lt;br /&gt;&amp;nbsp; extractvalue(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/bag_weight_sum') bag_weight_sum,&lt;br /&gt;&amp;nbsp; extractvalue(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/flight_info') flight_info ,&lt;br /&gt;&amp;nbsp; to_date(extractvalue(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/create_time'),'yyyy-mm-dd hh24:mi:ss') create_time&lt;br /&gt;FROM ( SELECT&amp;nbsp; XMLTYPE(v_msg) v_msg,d_in_time FROM run$log)&lt;br /&gt;WHERE existsnode(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info') =1；&lt;/p&gt;&#xD;
&lt;div&gt;2.XML中的数据是主从表关系。&lt;br /&gt;这种情况下，在抽取子表时必须用xmlsequence函数转换为nest table,否则会报ora-22905。另如果从表的数据量达到千数量级时速度很慢。&lt;br /&gt;&amp;nbsp; 2.1使用table()函数xmlsequence&lt;br /&gt;示例如下：&lt;br /&gt;SELECT&lt;br /&gt;&amp;nbsp; extractvalue(VALUE(t),'/bag/end_org_code') end_org_code,&lt;br /&gt;&amp;nbsp; extractvalue(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/route_id') route_id,&lt;br /&gt;&amp;nbsp; extractvalue(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/route_actn_code') route_actn_code,&lt;br /&gt;&amp;nbsp; extractvalue(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/deal_org_code') deal_org_code,&lt;br /&gt;&amp;nbsp; to_date(extractvalue(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/deal_datetime'),'yyyy-mm-dd hh24:mi:ss') deal_datetimed,&lt;br /&gt;&amp;nbsp; to_date(extractvalue(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/act_datetime'),'yyyy-mm-dd hh24:mi:ss') act_datetime,&lt;br /&gt;&amp;nbsp; extractvalue(VALUE(t),'/bag/bag_action') bag_action,&lt;br /&gt;&amp;nbsp; extractvalue(VALUE(t),'/bag/bag_id') bag_id,&lt;br /&gt;&amp;nbsp; extractvalue(VALUE(t),'/bag/label_strip') label_strip,&lt;br /&gt;&amp;nbsp; extractvalue(VALUE(t),'/bag/start_org_code') start_org_code&lt;br /&gt;FROM ( SELECT&amp;nbsp; XMLTYPE(v_msg) v_msg,d_in_time FROM run$log) ,&lt;br /&gt;&amp;nbsp; TABLE(xmlsequence(extract(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/bags/bag'))) t；&lt;br /&gt;&amp;nbsp; 2.2使用xmltable()和xmlquery()函数&lt;/div&gt;&#xD;
&lt;div&gt;这两个函数的用法不再描述，具体可查官方文档：&lt;a href="http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14259/xdb_xquery.htm" target="_blank"&gt;http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14259/xdb_xquery.htm&lt;/a&gt;&lt;br /&gt;使用这两个函数时必须安装oracle xml db.这种方法比2.1快50%.示例如下：&lt;br /&gt;SELECT extractvalue(v_msg,'/gpdic_xml/bag_detail_infos/bag_detail_info/bag_id') bag_id, &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; xtab.mail_num ,xtab.mail_action,xtab.mail_remark_code,xtab.mail_other_remark &lt;br /&gt;FROM run$log_test,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Xmltable('for $j in /gpdic_xml/bag_detail_infos/bag_detail_info/mails/mail&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return $j'&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PASSING v_msg &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; COLUMNS mail_num VARCHAR2(20) PATH '/mail/mail_num',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mail_action VARCHAR2(1) PATH '/mail/mail_action',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mail_remark_code VARCHAR2(20) PATH '/mail/mail_remark_code',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mail_other_remark VARCHAR2(50) PATH '/mail/mail_other_remark') xtab &lt;br /&gt;WHERE existsnode(v_msg,'/gpdic_xml/bag_detail_infos/bag_detail_info') &amp;gt;0; &lt;/div&gt;&#xD;
&lt;div&gt;补充一下：&lt;/div&gt;&#xD;
&lt;div&gt;以上SQL中的TABLE(xmlsequence(extract(v_msg,'/gpdic_xml/route_detail_infos/route_detail_info/bags/bag'))) t的/gpdic_xml/route_detail_infos/route_detail_info/bags/bag为XML的从表路径。&lt;/div&gt;&lt;img src="http://www.cnblogs.com/jimeper/aggbug/1751190.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jimeper/archive/2010/06/04/1751190.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jimeper/archive/2010/06/04/1751183.html</id><title type="text">(原创)同时使用database link和本地序列插远程数据表时报ORA-02069</title><summary type="text">同时使用database link和本地序列插远程数据表时报ORA-02069今天遇到同时使用database link和本地序列插远程数据表时报ORA-02069：global_names parameter must be set to true for this operation环境：Oracle9i Enterprise Edition Release 9.2.0.4.0 - Produ...</summary><published>2010-06-04T01:53:00Z</published><updated>2010-06-04T01:53:00Z</updated><author><name>jimeper</name><uri>http://www.cnblogs.com/jimeper/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jimeper/archive/2010/06/04/1751183.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jimeper/archive/2010/06/04/1751183.html"/><content type="html">&lt;p&gt;&lt;strong&gt;同时使用database link和本地序列插远程数据表时报ORA-02069&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;div  id="message2540"&gt;&#xD;
&lt;div id="ad_thread3_1"&gt;&lt;/div&gt;&#xD;
&lt;div&gt;今天遇到同时使用database link和本地序列插远程数据表时报ORA-02069：global_names parameter must be set to true for this operation&lt;br /&gt;环境：&lt;br /&gt;Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production&lt;br /&gt;PL/SQL Release 9.2.0.4.0 - Production&lt;br /&gt;CORE 9.2.0.3.0 Production&lt;br /&gt;TNS for Linux: Version 9.2.0.4.0 - Production&lt;br /&gt;NLSRTL Version 9.2.0.4.0 - Production&lt;br /&gt;语句如下：&lt;br /&gt;INSERT INTO tb_cust_account_rel@dblink_to_data_pub&lt;br /&gt;&amp;nbsp; (n_id,&lt;br /&gt;&amp;nbsp; v_cust_type,&lt;br /&gt;&amp;nbsp; v_expr_org_id,&lt;br /&gt;&amp;nbsp; v_bank_org_id,&lt;br /&gt;&amp;nbsp; v_cust_id,&lt;br /&gt;&amp;nbsp; v_send_status,&lt;br /&gt;&amp;nbsp; v_bank_account_name,&lt;br /&gt;&amp;nbsp; v_reg_bank,&lt;br /&gt;&amp;nbsp; v_bank_account,&lt;br /&gt;&amp;nbsp; v_id_card_no,&lt;br /&gt;&amp;nbsp; v_acc_status,&lt;br /&gt;&amp;nbsp; v_acc_status_note,&lt;br /&gt;&amp;nbsp; v_is_use,&lt;br /&gt;&amp;nbsp; v_is_default,&lt;br /&gt;&amp;nbsp; v_opt_id,&lt;br /&gt;&amp;nbsp; d_create_date,&lt;br /&gt;&amp;nbsp; d_update_date,&lt;br /&gt;&amp;nbsp; v_note)&lt;br /&gt;&amp;nbsp; SELECT seq_tb_cust_account_rel.nextval,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; v_cust_type,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i_custid,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '10',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i_accountname,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i_regbank,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i_accountno,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i_cardno,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '0',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i_isused,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i_isdef,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i_person,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SYSDATE,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SYSDATE,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i_note&lt;br /&gt;&amp;nbsp; &amp;nbsp; FROM tb_cust_info@dblink_to_data_pub;&lt;br /&gt;ORA-02069: global_names parameter must be set to TRUE for this operation&lt;br /&gt;1.把&lt;font color="#0000ff"&gt;tb_cust_info@dblink_to_data_pub&lt;/font&gt;改成dual，依然报同样的错误。&lt;br /&gt;2.然后跟据错误提示把global_names改成true,仍然报同样的错误。&lt;br /&gt;alter session set global_names = true ;&lt;br /&gt;3.如果单独执行查询语句就没有问题：&lt;br /&gt;SELECT seq_tb_cust_account_rel.nextval,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; v_cust_type,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i_custid,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '10',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i_accountname,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i_regbank,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i_accountno,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i_cardno,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '0',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '',&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i_isused,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i_isdef,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i_person,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SYSDATE,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SYSDATE,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i_note&lt;br /&gt;&amp;nbsp; &amp;nbsp; FROM &lt;font color="#0000ff"&gt;tb_cust_info@dblink_to_data_pub&lt;/font&gt;；&lt;br /&gt;执行正常。&lt;/div&gt;&#xD;
&lt;div&gt;4.在网上搜索有看到说把把DB Link的名称建成与目标数据库的SID相同，如果把DB Link的名称建成与目标数据库的SID相同会报同样的错误，如果在同一数据库上会报：&lt;br /&gt;ORA-02082: a loopback database link must have a connection qualifier &lt;/div&gt;&#xD;
&lt;div&gt;&lt;br /&gt;目前解决方法：&lt;strong&gt;&lt;span style="color: red"&gt;把sequence建到远端数据库用户下。然后把select语句中的sequence加上db link.&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;问题：&lt;br /&gt;1、如果说select语句也是在远端执行，我在远端数据库用户下建了同名的sequence也一样报错。&lt;br /&gt;2、把global_names改成true也一样报错。&lt;br /&gt;现在找不出原因，不知各位大吓是否有解！！ &lt;/div&gt;&lt;/div&gt; &lt;img src="http://www.cnblogs.com/jimeper/aggbug/1751183.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jimeper/archive/2010/06/04/1751183.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jimeper/archive/2010/06/04/1751180.html</id><title type="text">(原创)利用sys_connect_by_path把多行转成单行字符串</title><summary type="text">利用sys_connect_by_path把多行转成单行字符串 最近有几个项目都有把多行转成字符串的需求,现写一示例供大家以后参考.创建一个表并插入数据:CREATE TABLE t_row_str(ID NUMBER,col VARCHAR2(10));INSERT INTO t_row_str VALUES(1,'a');INSERT INTO t_row_str VALUES(1,'b');...</summary><published>2010-06-04T01:48:00Z</published><updated>2010-06-04T01:48:00Z</updated><author><name>jimeper</name><uri>http://www.cnblogs.com/jimeper/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jimeper/archive/2010/06/04/1751180.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jimeper/archive/2010/06/04/1751180.html"/><content type="html">利用sys_connect_by_path把多行转成单行字符串 &#xD;
&lt;div  id="message2525"&gt;&#xD;
&lt;div id="ad_thread3_1"&gt;&lt;/div&gt;&#xD;
&lt;div&gt;最近有几个项目都有把多行转成字符串的需求,现写一示例供大家以后参考.&lt;br /&gt;创建一个表并插入数据:&lt;br /&gt;CREATE TABLE t_row_str(&lt;br /&gt;ID NUMBER,&lt;br /&gt;col VARCHAR2(10));&lt;br /&gt;INSERT INTO t_row_str VALUES(1,'a');&lt;br /&gt;INSERT INTO t_row_str VALUES(1,'b');&lt;br /&gt;INSERT INTO t_row_str VALUES(1,'c');&lt;br /&gt;INSERT INTO t_row_str VALUES(2,'a');&lt;br /&gt;INSERT INTO t_row_str VALUES(2,'d');&lt;br /&gt;INSERT INTO t_row_str VALUES(2,'e');&lt;br /&gt;INSERT INTO t_row_str VALUES(3,'c');&lt;br /&gt;COMMIT;&lt;br /&gt;select * from t_row_str;&lt;br /&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;table  cellspacing="1" cellpadding="4"&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;&lt;strong&gt;ID&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td&gt;&lt;strong&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;COL&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;1&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;a&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;1&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;b&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;1&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;c&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;2&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;a&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;2&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;d&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;2&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;e&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;3&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;c&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;br /&gt;现用sys_connetc_by_path把字段str转换为字符串&lt;br /&gt;SELECT t.id id, sys_connect_by_path(t.col, ',') str&lt;br /&gt;&amp;nbsp; FROM (SELECT id, col, row_number() over(PARTITION BY id ORDER BY col) rn&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FROM t_row_str) t&lt;br /&gt;START WITH rn = 1&lt;br /&gt;CONNECT BY rn = PRIOR rn + 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; AND id = PRIOR id;&lt;br /&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;table  cellspacing="1" cellpadding="4"&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td  width="36"&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;&lt;strong&gt;ID&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td  width="139"&gt;&lt;strong&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;STR&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;1&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;,a&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;1&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;,a,b&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;1&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;,a,b,c&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;2&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;,a&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;2&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;,a,d&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;2&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;,a,d,e&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;3&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;,c&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;br /&gt;从上面的结果看STR字段多了一个逗号且多了几行,那现在就用substr去掉第一个逗号,再用max取最大的那一行:&lt;br /&gt;结果如下:&lt;br /&gt;SELECT t.id id, MAX(substr(sys_connect_by_path(t.col, ','), 2)) str&lt;br /&gt;&amp;nbsp; FROM (SELECT id, col, row_number() over(PARTITION BY id ORDER BY col) rn&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FROM t_row_str) t&lt;br /&gt;START WITH rn = 1&lt;br /&gt;CONNECT BY rn = PRIOR rn + 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; AND id = PRIOR id&lt;br /&gt;GROUP BY t.id;&lt;br /&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&#xD;
&lt;table  cellspacing="1" cellpadding="4"&gt;&#xD;
&lt;tbody&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td  width="36"&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;&lt;strong&gt;ID&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td  width="139"&gt;&lt;strong&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;STR&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;1&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;a,b,c&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;2&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;a,d,e&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#xD;
&lt;tr&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;3&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&#xD;
&lt;td&gt;&lt;font face="Microsoft Sans Serif"&gt;&lt;font size="2"&gt;c&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&#xD;
&lt;div&gt;&lt;br /&gt;现已成功把多行转换成单行字符串了,希望此示例对大家有用.&lt;br /&gt;下面再贴上网上创业园的一示例代码:&lt;br /&gt;--把同一产品的仓位及数量显示为一行&lt;br /&gt;SELECT v_product_code,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; MAX(substr(sys_connect_by_path(n_position_id || '/' || qt, ','), 2)) str&lt;br /&gt;&amp;nbsp; FROM (SELECT t.v_product_code,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; t.n_position_id,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SUM(t.n_qty) qt,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; row_number() over(PARTITION BY t.v_product_code ORDER BY t.v_product_code) rn&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FROM tb_wh_pos_io_trace t&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GROUP BY v_product_code, t.n_position_id)&lt;br /&gt;START WITH rn = 1&lt;br /&gt;CONNECT BY rn = PRIOR rn + 1&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; AND v_product_code = PRIOR v_product_code&lt;br /&gt;GROUP BY v_product_code;&lt;br /&gt;&lt;br /&gt;V_PRODUCT_CODE&amp;nbsp; &amp;nbsp; STR&lt;/div&gt;&#xD;
&lt;div&gt;-------------------&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --------------------&lt;br /&gt;518022000041&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3/444,4/111&lt;br /&gt;518022000042&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3/111 &lt;/div&gt;&lt;/div&gt;&lt;!--最后编辑开始--&gt;&lt;img src="http://www.cnblogs.com/jimeper/aggbug/1751180.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jimeper/archive/2010/06/04/1751180.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jimeper/archive/2010/05/28/1746099.html</id><title type="text">如何在shell脚本里使用sftp批量传送文件</title><summary type="text">原文链接：http://bbs.chinaunix.net/archiver/tid-508290.html主要步骤如下:1.为运行shell脚本的本地用户生成密钥对2.将其中的公钥分发到sftp欲登录的远程服务器上3.编写并以上面的本地用户运行shell脚本一.生成密钥对在shell脚本中使用sftp时必须用到密钥对(公钥和私钥).可使用下列方式生成(SSH 2.X版本),这里本地用户记为:lo...</summary><published>2010-05-28T03:10:00Z</published><updated>2010-05-28T03:10:00Z</updated><author><name>jimeper</name><uri>http://www.cnblogs.com/jimeper/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jimeper/archive/2010/05/28/1746099.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jimeper/archive/2010/05/28/1746099.html"/><content type="html">&lt;p&gt;原文链接：&lt;a href="http://bbs.chinaunix.net/archiver/tid-508290.html" target="_blank"&gt;&lt;font color="#0082ff"&gt;http://bbs.chinaunix.net/archiver/tid-508290.html&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;主要步骤如下:&lt;/p&gt;&#xD;
&lt;p&gt;1.为运行shell脚本的本地用户生成密钥对&lt;br /&gt;2.将其中的公钥分发到sftp欲登录的远程服务器上&lt;br /&gt;3.编写并以上面的本地用户运行shell脚本&lt;/p&gt;&#xD;
&lt;p&gt;一.生成密钥对&lt;/p&gt;&#xD;
&lt;p&gt;在shell脚本中使用sftp时必须用到密钥对(公钥和私钥).可使用下列方式生成(SSH 2.X版本),这里本地用户记为:local_user:&lt;/p&gt;&#xD;
&lt;p&gt;$ ssh-keygen -dsa&lt;/p&gt;&#xD;
&lt;p&gt;屏幕提示:&lt;/p&gt;&#xD;
&lt;p&gt;Generating public/private dsa key pair.&lt;/p&gt;&#xD;
&lt;p&gt;Enter file in which to save the key (/home/local_user/.ssh/id_dsa):&lt;br /&gt;# 按回车保存为: /home/local_user/.ssh/id_dsa,即当前用户local_user的私钥&lt;/p&gt;&#xD;
&lt;p&gt;Enter passphrase (empty for no passphrase):&lt;br /&gt;# 按回车,表示读取密钥时不需要密钥的密码&lt;/p&gt;&#xD;
&lt;p&gt;Enter same passphrase again:&lt;br /&gt;# 确认密钥的密码,必须和上面的输入相同&lt;/p&gt;&#xD;
&lt;p&gt;Your identification has been saved in /home/local_user/.ssh/id_dsa.&lt;br /&gt;# 私钥保存信息&lt;/p&gt;&#xD;
&lt;p&gt;Your public key has been saved in /home/local_user/.ssh/id_dsa.pub.&lt;br /&gt;# 公钥保存信息&lt;/p&gt;&#xD;
&lt;p&gt;The key fingerprint is:&lt;br /&gt;ec:41:e8:08:38:0b:f8:1e:bc:92:98:32:fc:d7:69:7d ...&lt;br /&gt;# 密钥指纹&lt;/p&gt;&#xD;
&lt;p&gt;二.分发公钥&lt;/p&gt;&#xD;
&lt;p&gt;为了使用密钥,必须将公钥分发到欲登录的远程服务器上,这里远程服务器记为remote_host,欲登录的远程用户记为remote_user&lt;/p&gt;&#xD;
&lt;p&gt;1.copy公钥到欲登录的远程服务器的远程用户的家目录下,例如:&lt;/p&gt;&#xD;
&lt;p&gt;copy id_dsa.pub到remote_host:/home/remote_user/.ssh/&lt;/p&gt;&#xD;
&lt;p&gt;若目录/home/remote_user/.ssh/不存在,请先创建之.&lt;/p&gt;&#xD;
&lt;p&gt;2.将copy来的公钥文件改名为authorized_keys&lt;/p&gt;&#xD;
&lt;p&gt;3.修改公钥文件的访问权限&lt;/p&gt;&#xD;
&lt;p&gt;chmod 644 authorized_keys&lt;/p&gt;&#xD;
&lt;p&gt;三.示例&lt;/p&gt;&#xD;
&lt;p&gt;目标:&lt;/p&gt;&#xD;
&lt;p&gt;从远程服务器remote_host:/home/remote_user/data/&lt;br /&gt;传送下列文件到本地计算机的当前目录: /home/local_user/data/:&lt;/p&gt;&#xD;
&lt;p&gt;20050201&lt;br /&gt;20050202&lt;br /&gt;20050203&lt;br /&gt;20050204&lt;br /&gt;20050205&lt;/p&gt;&#xD;
&lt;p&gt;方式1: 批模式&lt;/p&gt;&#xD;
&lt;p&gt;sftp提供了一个选项-b,用于集中存放sftp命令(该选项主要用于非交互模式的sftp).因此对于上面的目标,可以生成如下的命令文件:&lt;/p&gt;&#xD;
&lt;p&gt;cd /home/remote_user/data/&lt;br /&gt;lcd /home/local_user/data/&lt;br /&gt;-get 20050201 .&lt;br /&gt;-get 20050202 .&lt;br /&gt;-get 20050203 .&lt;br /&gt;-get 20050204 .&lt;br /&gt;-get 20050205 .&lt;br /&gt;quit&lt;/p&gt;&#xD;
&lt;p&gt;这里存为: sftp_cmds.txt&lt;/p&gt;&#xD;
&lt;p&gt;说明: get命令前加一个"-"以防止其执行错误时sftp执行过程被终止.&lt;/p&gt;&#xD;
&lt;p&gt;以下为脚本示例:&lt;/p&gt;&#xD;
&lt;p&gt;#!/bin/sh&lt;br /&gt;sftp -b ./sftp_cmds.txt remote_user@remote_host&lt;/p&gt;&#xD;
&lt;p&gt;方式二:&lt;/p&gt;&#xD;
&lt;p&gt;#!/bin/sh&lt;br /&gt;sftp remote_user@remote_host &amp;lt;&amp;lt; EOF&lt;br /&gt;cd /home/remote_user/data/&lt;br /&gt;lcd /home/local_user/data/&lt;br /&gt;-get 20050201 .&lt;br /&gt;-get 20050202 .&lt;br /&gt;-get 20050203 .&lt;br /&gt;-get 20050204 .&lt;br /&gt;-get 20050205 .&lt;br /&gt;quit&lt;br /&gt;EOF&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;方式三：用scp更简单。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/jimeper/aggbug/1746099.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/jimeper/archive/2010/05/28/1746099.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/jimeper/archive/2010/01/15/1648453.html</id><title type="text">TOMCAT内存大小调整</title><summary type="text">TOMCAT内存大小调整默认分类 2009-11-15 21:14 阅读209评论0  字号： 大大 中中 小小 一、tomcat内存设置问题 收藏  在使用Java程序从数据库中查询大量的数据或是应用服务器(如tomcat、jboss,weblogic)加载jar包时会出现java.lang.OutOfMemoryError异常。这主要是由于应用服务器的内存不足引起的。这种异常常有以下几种情况（...</summary><published>2010-01-15T03:29:00Z</published><updated>2010-01-15T03:29:00Z</updated><author><name>jimeper</name><uri>http://www.cnblogs.com/jimeper/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jimeper/archive/2010/01/15/1648453.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jimeper/archive/2010/01/15/1648453.html"/></entry><entry><id>http://www.cnblogs.com/jimeper/archive/2009/12/08/1619558.html</id><title type="text">Oracle 10G 新特性——RMAN</title><summary type="text">Oracle 10G 新特性&amp;#8212;&amp;#8212;RMAN作者：fuyuncat来源：http://www.hellodba.com/RMAN增量备份方案、增量备份的离线恢复、恢复预览、从resetlogs中恢复、文件压缩等被重新设计后变得更加强大了。大多数人都赞同RMAN就是Oracle事实上的数据库备份工具。尽管早期版本的RMAN已经很强大，但是人们对它的期待还是有很多。很多DBA对于一...</summary><published>2009-12-08T08:36:00Z</published><updated>2009-12-08T08:36:00Z</updated><author><name>jimeper</name><uri>http://www.cnblogs.com/jimeper/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jimeper/archive/2009/12/08/1619558.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jimeper/archive/2009/12/08/1619558.html"/></entry><entry><id>http://www.cnblogs.com/jimeper/archive/2009/12/03/1616098.html</id><title type="text">dataguard保护模式切换(PROTECTION | AVAILABILITY | PERFORMANCE)</title><summary type="text">1、首先查看当前的保护模式 ---primary数据库操作SQL&amp;gt; select protection_mode,protection_level from v$database;PROTECTION_MODE PROTECTION_LEVEL-------------------- --------------------MAXIMUM PERFORMANCE MAXIMUM PERFOR...</summary><published>2009-12-03T04:02:00Z</published><updated>2009-12-03T04:02:00Z</updated><author><name>jimeper</name><uri>http://www.cnblogs.com/jimeper/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jimeper/archive/2009/12/03/1616098.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jimeper/archive/2009/12/03/1616098.html"/></entry><entry><id>http://www.cnblogs.com/jimeper/archive/2009/09/12/1565378.html</id><title type="text">LogMiner日志分析工具的使用</title><summary type="text">1.安装logminer：  要安装LogMiner工具，必须首先要运行下面这样两个脚本， $ORACLE_HOME/rdbms/admin/dbmslm.sql $ORACLE_HOME/rdbms/admin/dbmslmd.sql. 这两个脚本必须均以SYS用户身份运行。*************使用字典文件存储在flat file中*****************************...</summary><published>2009-09-12T08:46:00Z</published><updated>2009-09-12T08:46:00Z</updated><author><name>jimeper</name><uri>http://www.cnblogs.com/jimeper/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jimeper/archive/2009/09/12/1565378.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jimeper/archive/2009/09/12/1565378.html"/></entry><entry><id>http://www.cnblogs.com/jimeper/archive/2009/09/07/1562003.html</id><title type="text">oracle9i从9.2.0.4升级到9.2.0.6(64位)报ORA-00600: [19004]的解决方法</title><summary type="text">在升级山东PDA数据库从oracle 9.2.0.4-64位升级到9.2.0.6-64位报ORA-00600: [19004]在网上找到正解，转载在此供以后参考。ORA-00600: 内部错误代码, 参数: [19004], [], [], [], [], []--ORACLE 10.1 OR 10.2中所有平台都存在该问题. &amp;lt;问题现像&amp;gt; 在进行多表关联复杂查询时出现 ORA-006...</summary><published>2009-09-07T09:10:00Z</published><updated>2009-09-07T09:10:00Z</updated><author><name>jimeper</name><uri>http://www.cnblogs.com/jimeper/</uri></author><link rel="alternate" href="http://www.cnblogs.com/jimeper/archive/2009/09/07/1562003.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/jimeper/archive/2009/09/07/1562003.html"/></entry></feed>
