﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-静水流深......</title><link>http://www.blogjava.net/jiujiubuzui/</link><description>I think I can do it</description><language>zh-cn</language><lastBuildDate>Thu, 30 Apr 2026 11:20:41 GMT</lastBuildDate><pubDate>Thu, 30 Apr 2026 11:20:41 GMT</pubDate><ttl>60</ttl><item><title>对部分不常见的JAVA关键字的探讨</title><link>http://www.blogjava.net/jiujiubuzui/archive/2010/04/09/317843.html</link><dc:creator>久久不醉</dc:creator><author>久久不醉</author><pubDate>Fri, 09 Apr 2010 05:47:00 GMT</pubDate><guid>http://www.blogjava.net/jiujiubuzui/archive/2010/04/09/317843.html</guid><wfw:comment>http://www.blogjava.net/jiujiubuzui/comments/317843.html</wfw:comment><comments>http://www.blogjava.net/jiujiubuzui/archive/2010/04/09/317843.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiujiubuzui/comments/commentRss/317843.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiujiubuzui/services/trackbacks/317843.html</trackback:ping><description><![CDATA[<span style="font-family: Arial, sans-serif, Helvetica, Tahoma; font-size: 12px; line-height: 18px; ">
<h5 style="font-size: 1.1em; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: black; ">volatile：</h5>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Java语言规范中指出：为了获得最佳速度，允许线程保存共享成员变量的私有拷贝，而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。&nbsp;这样当多个线程同时与某个对象交互时，就必须要注意到要让线程及时的得到共享成员变量的变化。&nbsp;而volatile关键字就是提示VM：对于这个成员变量不能保存它的私有拷贝，而应直接与共享成员变量交互。&nbsp;使用建议：在两个或者更多的线程访问的成员变量上使用volatile。当要访问的变量已在synchronized代码块中，或者为常量时，不必使用。&nbsp;&nbsp; &nbsp; 由于使用volatile屏蔽掉了VM中必要的代码优化，所以在效率上比较低，因此一定在必要时才使用此关键字。
<h5 style="font-size: 1.1em; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: black; ">Synchronized:</h5>
<h5 style="font-size: 1.1em; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: black; "><span style="font-weight: normal;">
防止多个线程同时访问相同的代码段。</span></h5>
<h5 style="font-size: 1.1em; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: black; ">Transient:</h5>
<h5 style="font-size: 1.1em; line-height: 1.3em; margin-top: 0px; margin-right: 0px; margin-bottom: 0.25em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: black; "><span style="font-weight: normal;">
表明类序列化时，变量不必序列化。</span></h5>
</span><img src ="http://www.blogjava.net/jiujiubuzui/aggbug/317843.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiujiubuzui/" target="_blank">久久不醉</a> 2010-04-09 13:47 <a href="http://www.blogjava.net/jiujiubuzui/archive/2010/04/09/317843.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>配置Spring数据源</title><link>http://www.blogjava.net/jiujiubuzui/archive/2010/03/03/314404.html</link><dc:creator>久久不醉</dc:creator><author>久久不醉</author><pubDate>Wed, 03 Mar 2010 06:12:00 GMT</pubDate><guid>http://www.blogjava.net/jiujiubuzui/archive/2010/03/03/314404.html</guid><wfw:comment>http://www.blogjava.net/jiujiubuzui/comments/314404.html</wfw:comment><comments>http://www.blogjava.net/jiujiubuzui/archive/2010/03/03/314404.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiujiubuzui/comments/commentRss/314404.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiujiubuzui/services/trackbacks/314404.html</trackback:ping><description><![CDATA[<p>配置一个数据源 <br />
&nbsp;&nbsp;&nbsp; <span class="hilite1">Spring</span>在第三方依赖包中包含了两个数据源的实现类包，其一是Apache的DBCP，其二是 C3P0。可以在<span class="hilite1">Spring</span>配置文件中利用这两者中任何一个配置数据源。</p>
<p><strong>&nbsp;DBCP数据源</strong> <br />
&nbsp;&nbsp;&nbsp; DBCP类包位于 &lt;spring_home&gt;&lt;/spring_home&gt;/lib/jakarta-commons/commons-dbcp.jar，DBCP是一个依赖 Jakarta commons-pool对象池机制的数据库连接池，所以在类路径下还必须包括&lt;spring_home&gt;&lt;/spring_home&gt;/lib/jakarta- commons/commons-pool.jar。下面是使用DBCP<span class="hilite3">配置</span>MySql数据源的配置片断：</p>
<div class="code_title">xml 代码</div>
<div class="dp-highlighter">
<div class="bar">
<ol class="dp-xml">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">bean</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">"<span class="hilite2">dataSource</span>"</span><span>&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">"org.apache.commons.dbcp.BasicDataSource"</span><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="attribute">destroy-method</span><span>=</span><span class="attribute-value">"close"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"driverClassName"</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">"com.mysql.jdbc.Driver"</span><span>&nbsp;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"url"</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">"jdbc:mysql://localhost:3309/sampledb"</span><span>&nbsp;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"username"</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">"root"</span><span>&nbsp;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"password"</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">"1234"</span><span>&nbsp;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">bean</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>BasicDataSource提供了close()方法关闭数据源，所以必须设定destroy-method=&#8221;close&#8221;属性， 以便<span class="hilite1">Spring</span>容器关闭时，数据源能够正常关闭。除以上必须的数据源属性外，还有一些常用的属性： <br />
&nbsp;&nbsp;&nbsp; defaultAutoCommit：设置从数据源中返回的连接是否采用自动提交机制，默认值为 true； <br />
&nbsp;&nbsp;&nbsp; defaultReadOnly：设置数据源是否仅能执行只读操作， 默认值为 false； <br />
&nbsp;&nbsp;&nbsp; maxActive：最大连接数据库连接数，设置为0时，表示没有限制； <br />
&nbsp;&nbsp;&nbsp; maxIdle：最大等待连接中的数量，设置为0时，表示没有限制； <br />
&nbsp;&nbsp;&nbsp; maxWait：最大等待秒数，单位为毫秒， 超过时间会报出错误信息； <br />
&nbsp;&nbsp;&nbsp; validationQuery：用于验证连接是否成功的查询SQL语句，SQL语句必须至少要返回一行数据， 如你可以简单地设置为：&#8220;select count(*) from user&#8221;； <br />
&nbsp;&nbsp;&nbsp; removeAbandoned：是否自我中断，默认是 false ； <br />
&nbsp;&nbsp;&nbsp; removeAbandonedTimeout：几秒后数据连接会自动断开，在removeAbandoned为true，提供该值； <br />
&nbsp;&nbsp;&nbsp; logAbandoned：是否记录中断事件， 默认为 false； </p>
<p><strong>C3P0数据源</strong> <br />
&nbsp;&nbsp;&nbsp; C3P0是一个开放源代码的JDBC数据源实现项目，它在lib目录中与Hibernate一起发布，实现了JDBC3和JDBC2扩展规范说明的 Connection 和Statement 池。C3P0类包位于&lt;spring_home&gt;&lt;/spring_home&gt;/lib/c3p0/c3p0-0.9.0.4.jar。下面是使用C3P0配置一个 Oracle数据源：</p>
<div class="code_title">xml 代码</div>
<div class="dp-highlighter">
<div class="bar">
<ol class="dp-xml">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">bean</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">"<span class="hilite2">dataSource</span>"</span><span>&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">"com.mchange.v2.c3p0.ComboPooledDataSource"</span><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="attribute">destroy-method</span><span>=</span><span class="attribute-value">"close"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"driverClass"</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">"&nbsp;oracle.jdbc.driver.OracleDriver&nbsp;"</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"jdbcUrl"</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">"&nbsp;jdbc:oracle:thin:@localhost:1521:ora9i&nbsp;"</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"user"</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">"admin"</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"password"</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">"1234"</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">bean</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>ComboPooledDataSource和BasicDataSource一样提供了一个用于关闭数据源的close()方法，这样我们就可以保证<span class="hilite1">Spring</span>容器关闭时数据源能够成功释放。 <br />
&nbsp;&nbsp;&nbsp; C3P0拥有比DBCP更丰富的配置属性，通过这些属性，可以对数据源进行各种有效的控制： <br />
&nbsp;&nbsp;&nbsp; acquireIncrement：当连接池中的连接用完时，C3P0一次性创建新连接的数目； <br />
&nbsp;&nbsp;&nbsp; acquireRetryAttempts：定义在从数据库获取新连接失败后重复尝试获取的次数，默认为30； <br />
&nbsp;&nbsp;&nbsp; acquireRetryDelay：两次连接中间隔时间，单位毫秒，默认为1000； <br />
&nbsp;&nbsp;&nbsp; autoCommitOnClose：连接关闭时默认将所有未提交的操作回滚。默认为false； <br />
&nbsp;&nbsp;&nbsp; automaticTestTable： C3P0将建一张名为Test的空表，并使用其自带的查询语句进行测试。如果定义了这个参数，那么属性preferredTestQuery将被忽略。你 不能在这张Test表上进行任何操作，它将中为C3P0测试所用，默认为null； <br />
&nbsp;&nbsp;&nbsp; breakAfterAcquireFailure：获取连接失败将会引起所有等待获取连接的线程抛出异常。但是数据源仍有效保留，并在下次调&nbsp;&nbsp; 用getConnection()的时候继续尝试获取连接。如果设为true，那么在尝试获取连接失败后该数据源将申明已断开并永久关闭。默认为 false； <br />
&nbsp;&nbsp;&nbsp; checkoutTimeout：当连接池用完时客户端调用getConnection()后等待获取新连接的时间，超时后将抛出SQLException，如设为0则无限期等待。单位毫秒，默认为0； <br />
&nbsp;&nbsp;&nbsp; connectionTesterClassName： 通过实现ConnectionTester或QueryConnectionTester的类来测试连接，类名需设置为全限定名。默认为 com.mchange.v2.C3P0.impl.DefaultConnectionTester；&nbsp;<br />
&nbsp;&nbsp;&nbsp; idleConnectionTestPeriod：隔多少秒检查所有连接池中的空闲连接，默认为0表示不检查； <br />
&nbsp;&nbsp;&nbsp; initialPoolSize：初始化时创建的连接数，应在minPoolSize与maxPoolSize之间取值。默认为3； <br />
&nbsp;&nbsp;&nbsp; maxIdleTime：最大空闲时间，超过空闲时间的连接将被丢弃。为0或负数则永不丢弃。默认为0； <br />
&nbsp;&nbsp;&nbsp; maxPoolSize：连接池中保留的最大连接数。默认为15； <br />
&nbsp;&nbsp;&nbsp; maxStatements：JDBC的标准参数，用以控制数据源内加载的PreparedStatement数量。但由于预缓存的Statement属 于单个Connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素，如果maxStatements与 maxStatementsPerConnection均为0，则缓存被关闭。默认为0； <br />
&nbsp;&nbsp;&nbsp; maxStatementsPerConnection：连接池内单个连接所拥有的最大缓存Statement数。默认为0； <br />
&nbsp;&nbsp;&nbsp; numHelperThreads：C3P0是异步操作的，缓慢的JDBC操作通过帮助进程完成。扩展这些操作可以有效的提升性能，通过多线程实现多个操作同时被执行。默认为3； <br />
&nbsp;&nbsp;&nbsp; preferredTestQuery：定义所有连接测试都执行的测试语句。在使用连接测试的情况下这个参数能显著提高测试速度。测试的表必须在初始数据源的时候就存在。默认为null； <br />
&nbsp;&nbsp;&nbsp; propertyCycle： 用户修改系统配置参数执行前最多等待的秒数。默认为300； <br />
&nbsp;&nbsp;&nbsp; testConnectionOnCheckout：因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的时候都 将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable <br />
等方法来提升连接测试的性能。默认为false； <br />
&nbsp;&nbsp;&nbsp; testConnectionOnCheckin：如果设为true那么在取得连接的同时将校验连接的有效性。默认为false。 <br />
<br />
<strong>读配置文件的方式引用属性： </strong></p>
<div class="dp-highlighter">
<div class="bar">
<ol class="dp-xml">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">bean</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">"propertyConfigurer"</span><span>&nbsp;&nbsp; &nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"location"</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">"/WEB-INF/jdbc.properties"</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li><span><span class="tag">&lt;/</span><span class="tag-name">bean</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">bean</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">"<span class="hilite2">dataSource</span>"</span><span>&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">"org.apache.commons.dbcp.BasicDataSource"</span><span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="attribute">destroy-method</span><span>=</span><span class="attribute-value">"close"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"driverClassName"</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">"${jdbc.driverClassName}"</span><span>&nbsp;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"url"</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">"${jdbc.url}"</span><span>&nbsp;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"username"</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">"${jdbc.username}"</span><span>&nbsp;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"password"</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">"${jdbc.password}"</span><span>&nbsp;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">bean</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>&nbsp;&nbsp;&nbsp; 在jdbc.properties属性文件中定义属性值： <br />
&nbsp;&nbsp;&nbsp; jdbc.driverClassName= com.mysql.jdbc.Driver <br />
&nbsp;&nbsp;&nbsp; jdbc.url= jdbc:mysql://localhost:3309/sampledb <br />
&nbsp;&nbsp;&nbsp; jdbc.username=root <br />
&nbsp;&nbsp;&nbsp; jdbc.password=1234 <br />
&nbsp;&nbsp;&nbsp; 提示 经常有开发者在${xxx}的前后不小心键入一些空格，这些空格字符将和变量合并后作为属性的值。如： &lt;property name="username" value=" ${jdbc.username} "&gt;&lt;/property&gt; 的属性配置项，在前后都有空格，被解析后，username的值为&#8220; 1234 &#8221;，这将造成最终的错误，因此需要特别小心。<br />
<br />
<strong>&nbsp;获取JNDI数据源</strong> <br />
&nbsp;&nbsp;&nbsp; 如果应用配置在高性能的应用服务器（如WebLogic或Websphere等）上，我们可能更希望使用应用服务器本身提供的数据源。应用服务器的数据源 使用JNDI开放调用者使用，Spring为此专门提供引用JNDI资源的JndiObjectFactoryBean类。下面是一个简单的配置：</p>
<div class="code_title">xml 代码</div>
<div class="dp-highlighter">
<div class="bar">
<ol class="dp-xml">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">bean</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">"dataSource"</span><span>&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">"org.springframework.jndi.JndiObjectFactoryBean"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"jndiName"</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">"java:comp/env/jdbc/bbt"</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">bean</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>通过jndiName指定引用的JNDI数据源名称。 <br />
&nbsp;&nbsp;&nbsp; Spring 2.0为获取J2EE资源提供了一个jee命名空间，通过jee命名空间，可以有效地简化J2EE资源的引用。下面是使用jee命名空间引用JNDI数据源的配置： </p>
<div class="code_title">xml 代码</div>
<div class="dp-highlighter">
<div class="bar">
<ol class="dp-xml">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">beans</span><span>&nbsp;</span><span class="attribute">xmlns</span><span>=</span><span class="attribute-value">http</span><span>://www.springframework.org/schema/beans&nbsp; &nbsp;&nbsp;</span></span></li>
    <li><span><span class="attribute">xmlns:xsi</span><span>=</span><span class="attribute-value">http</span><span>://www.w3.org/2001/XMLSchema-instance&nbsp; &nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="attribute">xmlns:jee</span><span>=</span><span class="attribute-value">http</span><span>://www.springframework.org/schema/jee&nbsp; &nbsp;&nbsp;</span></span></li>
    <li><span><span class="attribute">xsi:schemaLocation</span><span>="http://www.springframework.org/schema/beans&nbsp;&nbsp; &nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>http://www.springframework.org/schema/beans/spring-beans-2.0.xsd&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>http://www.springframework.org/schema/jee&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>http://www.springframework.org/schema/jee/spring-jee-2.0.xsd"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li><span><span class="tag">&lt;</span><span class="tag-name">jee:jndi-lookup</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">"dataSource"</span><span>&nbsp;</span><span class="attribute">jndi-name</span><span>=</span><span class="attribute-value">"&nbsp;java:comp/env/jdbc/bbt"</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">beans</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p><font size="+0">Spring的数据源实现类 <br />
&nbsp;&nbsp;&nbsp; Spring本身也提供了一个简单的数据源实现类DriverManagerDataSource ，它位于org.springframework.jdbc.datasource包中。这个类实现了javax.sql.DataSource接口，但 它并没有提供池化连接的机制，每次调用getConnection()获取新连接时，只是简单地创建一个新的连接。因此，这个数据源类比较适合在单元测试 或简单的独立应用中使用，因为它不需要额外的依赖类。 <br />
&nbsp;&nbsp;&nbsp;&nbsp; 下面，我们来看一下DriverManagerDataSource的简单使用：</font><font size="+0">当然，我们也可以通过配置的方式直接使用DriverManagerDataSource。</font></p>
<div class="code_title">java 代码</div>
<div class="dp-highlighter">
<div class="bar">
<ol class="dp-j">
    <li class="alt"><span><span>DriverManagerDataSource&nbsp;ds&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;DriverManagerDataSource&nbsp;();&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></span></li>
    <li><span>ds.setDriverClassName(</span><span class="string">"com.mysql.jdbc.Driver"</span><span>);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>ds.setUrl(</span><span class="string">"jdbc:mysql://localhost:3309/sampledb"</span><span>);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>ds.setUsername(</span><span class="string">"root"</span><span>);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>ds.setPassword(</span><span class="string">"1234"</span><span>);&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>Connection&nbsp;actualCon&nbsp;=&nbsp;ds.getConnection();&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;</p>
<p><font size="+0"><strong>小结</strong> </font></p>
<p><font size="+0">&nbsp;&nbsp;&nbsp; 不管采用何种持久化技术，都需要定义数据源。Spring附带了两个数据源的实现类包，你可以自行选择进行定义。在实际部署时，我们可能会直接采用应用服 务器本身提供的数据源，这时，则可以通过JndiObjectFactoryBean或jee命名空间引用JNDI中的数据源。 </font></p>
<p><font size="+0">DBCP与C3PO配置的区别：</font></p>
<p><font size="+0">C3PO ：</font><font size="+0">DBCP：</font></p>
<div class="code_title">xml 代码</div>
<div class="dp-highlighter">
<div class="bar">
<ol class="dp-xml">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">bean</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">"dataSource"</span><span>&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">"com.mchange.v2.c3p0.ComboPooledDataSource"</span><span>&nbsp;</span><span class="attribute">destroy-method</span><span>=</span><span class="attribute-value">"close"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"driverClass"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">value</span><span class="tag">&gt;</span><span>oracle.jdbc.driver.OracleDriver</span><span class="tag">&lt;/</span><span class="tag-name">value</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">property</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"jdbcUrl"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">value</span><span class="tag">&gt;</span><span>jdbc:oracle:thin:@10.10.10.6:1521:DataBaseName</span><span class="tag">&lt;/</span><span class="tag-name">value</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">property</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"user"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">value</span><span class="tag">&gt;</span><span>testAdmin</span><span class="tag">&lt;/</span><span class="tag-name">value</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">property</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"password"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">value</span><span class="tag">&gt;</span><span>123456</span><span class="tag">&lt;/</span><span class="tag-name">value</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">property</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li><span><span class="tag">&lt;/</span><span class="tag-name">bean</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>&nbsp;</p>
<div class="code_title">xml 代码</div>
<div class="dp-highlighter">
<div class="bar">
<ol class="dp-xml">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">bean</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">"dataSource"</span><span>&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">"org.apache.commons.dbcp.BasicDataSource"</span><span>&nbsp;</span><span class="attribute">destroy-method</span><span>=</span><span class="attribute-value">"close"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"driverClassName"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">value</span><span class="tag">&gt;</span><span>oracle.jdbc.driver.OracleDriver</span><span class="tag">&lt;/</span><span class="tag-name">value</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">property</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"url"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">value</span><span class="tag">&gt;</span><span>jdbc:oracle:thin:@10.10.10.6:1521:DataBaseName</span><span class="tag">&lt;/</span><span class="tag-name">value</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">property</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"username"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">value</span><span class="tag">&gt;</span><span>testAdmin</span><span class="tag">&lt;/</span><span class="tag-name">value</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">property</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">property</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">"password"</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">value</span><span class="tag">&gt;</span><span>123456</span><span class="tag">&lt;/</span><span class="tag-name">value</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">property</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li><span><span class="tag">&lt;/</span><span class="tag-name">bean</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div><img src ="http://www.blogjava.net/jiujiubuzui/aggbug/314404.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiujiubuzui/" target="_blank">久久不醉</a> 2010-03-03 14:12 <a href="http://www.blogjava.net/jiujiubuzui/archive/2010/03/03/314404.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(转)oracle xe 手工建立ZHS16GBK字符集数据库</title><link>http://www.blogjava.net/jiujiubuzui/archive/2009/12/28/307520.html</link><dc:creator>久久不醉</dc:creator><author>久久不醉</author><pubDate>Mon, 28 Dec 2009 07:17:00 GMT</pubDate><guid>http://www.blogjava.net/jiujiubuzui/archive/2009/12/28/307520.html</guid><wfw:comment>http://www.blogjava.net/jiujiubuzui/comments/307520.html</wfw:comment><comments>http://www.blogjava.net/jiujiubuzui/archive/2009/12/28/307520.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiujiubuzui/comments/commentRss/307520.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiujiubuzui/services/trackbacks/307520.html</trackback:ping><description><![CDATA[<p><span style="background-color: #ffffff">oracle xe universal默认创建AL32UTF8字符集,这种字符集1个汉字占用3个字节，而<br />
ZHS16GBK字符集1个汉字占用2个字节，为了节约空间，我尝试改变数据库的字符集，<br />
但是失败了，因为新字符集不是旧字符集的超集。即使用restrict模式也不行。<br />
考虑到oracle xe 安装时只是建一个空库，仅包含系统表空间等，设想通过手工执行<br />
创建ZHS16GBK字符集数据库的办法实现。<br />
从sybex的10g ocp教材中复制并修改得下面语句，其中E:\ORADATA\TEST是我们要存放<br />
新数据库物理文件的目录，以和旧数据库区分。</span></p>
<font style="background-color: #cce8cf">
<p><br />
<span style="background-color: #ffffff">CREATE DATABASE XE<br />
CONTROLFILE REUSE<br />
LOGFILE<br />
GROUP 1 'E:\ORADATA\TEST\REDO01.LOG' SIZE 10M,<br />
GROUP 2 'E:\ORADATA\TEST\REDO02.LOG' SIZE 10M,<br />
GROUP 3 'E:\ORADATA\TEST\REDO03.LOG' SIZE 10M<br />
DATAFILE 'E:\ORADATA\TEST\SYSTEM01.DBF' SIZE 400M<br />
AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL<br />
SYSAUX DATAFILE 'E:\ORADATA\TEST\SYSAUX01.DBF' SIZE 250M<br />
AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL<br />
DEFAULT TEMPORARY TABLESPACE temp<br />
TEMPFILE 'E:\ORADATA\TEST\TEMP01.DBF' SIZE 100M<br />
AUTOEXTEND ON NEXT 100M MAXSIZE 8000M<br />
UNDO TABLESPACE undo<br />
DATAFILE 'E:\ORADATA\TEST\undo01.DBF' SIZE 200M<br />
AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL<br />
CHARACTER SET ZHS16GBK<br />
NATIONAL CHARACTER SET AL16UTF16<br />
USER SYS IDENTIFIED BY SYS<br />
USER SYSTEM IDENTIFIED BY SYS<br />
;<br />
在执行这个脚本以前，有3点要注意：<br />
1 要修改F:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\init.ora'<br />
到<br />
F:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\test.ora'<br />
把所有路径改成E:\ORADATA\TEST及其子目录,为此我们需要在E:\ORADATA\TEST下建立<br />
bdump等目录,这些目录可以从现有的XE数据库F:\oraclexe\app\oracle\admin\XE复制得到。</span></p>
<p><span style="background-color: #ffffff">2 要去掉EXTENT MANAGEMENT LOCAL语句否则执行出错。（没有找出原因）</span></p>
<p><span style="background-color: #ffffff">CREATE DATABASE XE<br />
*<br />
第 1 行出现错误:<br />
ORA-25146: EXTENT MANAGEMENT ?????</span></p>
<p><span style="background-color: #ffffff">3 test.ora中的db_name不能改变，否则执行出错。（没有找出原因）<br />
ORA-02778: Name given for the log directory is invalid</span></p>
<p><span style="background-color: #ffffff">具体执行步骤（以Windows XP为例）<br />
1在cmd命令行窗口执行 net start oracleservicexe<br />
C:\Documents and Settings\Administrator&gt;net start oracleservicexe<br />
OracleServiceXE 服务正在启动 .........<br />
OracleServiceXE 服务已经启动成功。</span></p>
<p><span style="background-color: #ffffff">2 以sys用户登录<br />
C:\Documents and Settings\Administrator&gt;sqlplus /nolog</span></p>
<p><span style="background-color: #ffffff">SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 5月 30 22:07:45 2006</span></p>
<p><span style="background-color: #ffffff">Copyright (c) 1982, 2005, Oracle.&nbsp; All rights reserved.</span></p>
<p><span style="background-color: #ffffff">SQL&gt; conn / as sysdba<br />
已连接。<br />
3 查看现有的字符集设置<br />
SQL&gt; set lines 140<br />
SQL&gt; select * from nls_database_parameters;</span></p>
<p><span style="background-color: #ffffff">PARAMETER<br />
------------------------------------------------------------<br />
VALUE<br />
-------------------------------------------------------------------<br />
------------------------------------------------------------<br />
NLS_LANGUAGE<br />
AMERICAN</span></p>
<p><span style="background-color: #ffffff">NLS_TERRITORY<br />
AMERICA</span></p>
<p><span style="background-color: #ffffff">NLS_CURRENCY<br />
$</span></p>
<p><span style="background-color: #ffffff">NLS_ISO_CURRENCY<br />
AMERICA</span></p>
<p><span style="background-color: #ffffff">NLS_NUMERIC_CHARACTERS<br />
.,</span></p>
<p><span style="background-color: #ffffff">NLS_CHARACTERSET<br />
AL32UTF8</span></p>
<p><span style="background-color: #ffffff">NLS_CALENDAR<br />
GREGORIAN</span></p>
<p><span style="background-color: #ffffff">NLS_DATE_FORMAT<br />
DD-MON-RR</span></p>
<p><span style="background-color: #ffffff">NLS_DATE_LANGUAGE<br />
AMERICAN</span></p>
<p><span style="background-color: #ffffff">NLS_SORT<br />
BINARY</span></p>
<p><span style="background-color: #ffffff">NLS_TIME_FORMAT<br />
HH.MI.SSXFF AM</span></p>
<p><span style="background-color: #ffffff">NLS_TIMESTAMP_FORMAT<br />
DD-MON-RR HH.MI.SSXFF AM</span></p>
<p><span style="background-color: #ffffff">NLS_TIME_TZ_FORMAT<br />
HH.MI.SSXFF AM TZR</span></p>
<p><span style="background-color: #ffffff">NLS_TIMESTAMP_TZ_FORMAT<br />
DD-MON-RR HH.MI.SSXFF AM TZR</span></p>
<p><span style="background-color: #ffffff">NLS_DUAL_CURRENCY<br />
$</span></p>
<p><span style="background-color: #ffffff">NLS_COMP<br />
BINARY</span></p>
<p><span style="background-color: #ffffff">NLS_LENGTH_SEMANTICS<br />
BYTE</span></p>
<p><span style="background-color: #ffffff">NLS_NCHAR_CONV_EXCP<br />
FALSE</span></p>
<p><span style="background-color: #ffffff">NLS_NCHAR_CHARACTERSET<br />
AL16UTF16</span></p>
<p><span style="background-color: #ffffff">NLS_RDBMS_VERSION<br />
10.2.0.1.0</span></p>
<p><br />
<span style="background-color: #ffffff">已选择20行。</span></p>
<p><span style="background-color: #ffffff">SQL&gt; select lengthb('择') from dual;</span></p>
<p><span style="background-color: #ffffff">LENGTHB('择')<br />
-------------<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3</span></p>
<p><span style="background-color: #ffffff">已选择 1 行。</span></p>
<p><span style="background-color: #ffffff">我们可以看到，当前AL32UTF8字符集1个汉字占用3个字节<br />
4 关闭数据库，但不停止服务<br />
QL&gt; shutdown immediate<br />
数据库已经关闭。<br />
已经卸载数据库。<br />
ORACLE 例程已经关闭。<br />
5 用修改过的pfile test.ora启动数据库（nomount）<br />
SQL&gt; startup nomount pfile='F:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\test.ora'<br />
ORACLE 例程已经启动。</span></p>
<p><span style="background-color: #ffffff">Total System Global Area&nbsp; 285212672 bytes<br />
Fixed Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1287016 bytes<br />
Variable Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 92277912 bytes<br />
Database Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 188743680 bytes<br />
Redo Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2904064 bytes<br />
6 执行建立数据库脚本<br />
SQL&gt; CREATE DATABASE XE<br />
&nbsp; 2&nbsp; CONTROLFILE REUSE<br />
&nbsp; 3&nbsp; LOGFILE<br />
&nbsp; 4&nbsp; GROUP 1 'E:\ORADATA\TEST\REDO01.LOG' SIZE 10M,<br />
&nbsp; 5&nbsp; GROUP 2 'E:\ORADATA\TEST\REDO02.LOG' SIZE 10M,<br />
&nbsp; 6&nbsp; GROUP 3 'E:\ORADATA\TEST\REDO03.LOG' SIZE 10M<br />
&nbsp; 7&nbsp; DATAFILE 'E:\ORADATA\TEST\SYSTEM01.DBF' SIZE 400M<br />
&nbsp; 8&nbsp; AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED<br />
&nbsp; 9&nbsp; SYSAUX DATAFILE 'E:\ORADATA\TEST\SYSAUX01.DBF' SIZE 250M<br />
&nbsp;10&nbsp; AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED<br />
&nbsp;11&nbsp; DEFAULT TEMPORARY TABLESPACE temp<br />
&nbsp;12&nbsp; TEMPFILE 'E:\ORADATA\TEST\TEMP01.DBF' SIZE 100M<br />
&nbsp;13&nbsp; AUTOEXTEND ON NEXT 100M MAXSIZE 8000M<br />
&nbsp;14&nbsp; UNDO TABLESPACE undo<br />
&nbsp;15&nbsp; DATAFILE 'E:\ORADATA\TEST\undo01.DBF' SIZE 200M<br />
&nbsp;16&nbsp; AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED<br />
&nbsp;17&nbsp; CHARACTER SET ZHS16GBK<br />
&nbsp;18&nbsp; NATIONAL CHARACTER SET AL16UTF16<br />
&nbsp;19&nbsp; USER SYS IDENTIFIED BY SYS<br />
&nbsp;20&nbsp; USER SYSTEM IDENTIFIED BY SYS<br />
&nbsp;21&nbsp; ;</span></p>
<p><span style="background-color: #ffffff">数据库已创建。<br />
7 执行创建数据字典和程序包的系统SQL脚本<br />
@F:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catalog.sql<br />
@F:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catproc.sql<br />
大约需要10几分钟<br />
8 关闭数据库，但不停止服务<br />
SQL&gt; shutdown immediate<br />
数据库已经关闭。<br />
已经卸载数据库。<br />
ORACLE 例程已经关闭。<br />
9 用修改过的pfile test.ora启动数据库<br />
SQL&gt; startup&nbsp; pfile='F:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\test.ora'<br />
ORACLE 例程已经启动。</span></p>
<p><span style="background-color: #ffffff">Total System Global Area&nbsp; 285212672 bytes<br />
Fixed Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1287016 bytes<br />
Variable Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 92277912 bytes<br />
Database Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 188743680 bytes<br />
Redo Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2904064 bytes<br />
数据库装载完毕。<br />
数据库已经打开。<br />
10 查看新建数据库的字符集设置<br />
SQL&gt; set lines 140<br />
SQL&gt; select * from nls_database_parameters;</span></p>
<p><span style="background-color: #ffffff">PARAMETER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VALUE<br />
------------------------------ -------------------------------------------------<br />
-------------------------------<br />
NLS_LANGUAGE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AMERICAN<br />
NLS_TERRITORY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AMERICA<br />
NLS_CURRENCY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $<br />
NLS_ISO_CURRENCY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AMERICA<br />
NLS_NUMERIC_CHARACTERS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .,<br />
NLS_CHARACTERSET&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ZHS16GBK<br />
NLS_CALENDAR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GREGORIAN<br />
NLS_DATE_FORMAT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DD-MON-RR<br />
NLS_DATE_LANGUAGE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AMERICAN<br />
NLS_SORT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BINARY<br />
NLS_TIME_FORMAT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HH.MI.SSXFF AM<br />
NLS_TIMESTAMP_FORMAT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DD-MON-RR HH.MI.SSXFF AM<br />
NLS_TIME_TZ_FORMAT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HH.MI.SSXFF AM TZR<br />
NLS_TIMESTAMP_TZ_FORMAT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DD-MON-RR HH.MI.SSXFF AM TZR<br />
NLS_DUAL_CURRENCY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $<br />
NLS_COMP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BINARY<br />
NLS_LENGTH_SEMANTICS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BYTE<br />
NLS_NCHAR_CONV_EXCP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FALSE<br />
NLS_NCHAR_CHARACTERSET&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AL16UTF16<br />
NLS_RDBMS_VERSION&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10.2.0.1.0</span></p>
<p><span style="background-color: #ffffff">已选择20行。</span></p>
<p><span style="background-color: #ffffff">SQL&gt; select lengthb('A') from dual;</span></p>
<p><span style="background-color: #ffffff">LENGTHB('A')<br />
------------<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1</span></p>
<p><span style="background-color: #ffffff">已选择 1 行。</span></p>
<p><span style="background-color: #ffffff">SQL&gt; select lengthb('择') from dual;</span></p>
<p><span style="background-color: #ffffff">LENGTHB('择')<br />
-------------<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2</span></p>
<p><span style="background-color: #ffffff">已选择 1 行。<br />
可见我们新的数据库的确是ZHS16GBK字符集，1个汉字占用2个字节<br />
11 要启动旧数据库（因为新旧数据库同名，而且oracle xe限制同时只能打开一个数据库）<br />
SQL&gt; shutdown immediate<br />
数据库已经关闭。<br />
已经卸载数据库。<br />
ORACLE 例程已经关闭。<br />
SQL&gt; startup<br />
ORACLE 例程已经启动。</span></p>
<p><span style="background-color: #ffffff">Total System Global Area&nbsp; 285212672 bytes<br />
Fixed Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1287016 bytes<br />
Variable Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 96472216 bytes<br />
Database Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 184549376 bytes<br />
Redo Buffers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2904064 bytes<br />
数据库装载完毕。<br />
数据库已经打开。</span></p>
<p><span style="background-color: #ffffff">----</span></p>
<p><span style="background-color: #ffffff">如果以后要用spfile自动新建数据库<br />
SQL&gt; create spfile from pfile='D:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\test.ora';</span></p>
<p><span style="background-color: #ffffff">文件已创建。</span></p>
<p><span style="background-color: #ffffff">SQL&gt; shutdown immediate;<br />
数据库已经关闭。<br />
已经卸载数据库。<br />
ORACLE 例程已经关闭。<br />
SQL&gt; startup<br />
ORACLE 例程已经启动。</span></p>
<p><span style="background-color: #ffffff">Total System Global Area 285212672 bytes<br />
Fixed Size 1287016 bytes<br />
Variable Size 92277912 bytes<br />
Database Buffers 188743680 bytes<br />
Redo Buffers 2904064 bytes<br />
数据库装载完毕。<br />
数据库已经打开。<br />
SQL&gt; select lengthb('择') from dual;</span></p>
<p><span style="background-color: #ffffff">LENGTHB('择')<br />
-------------<br />
2</span></p>
<p><span style="background-color: #ffffff">已选择 1 行。</span></p>
<p><span style="background-color: #ffffff">远程登录，客户端也需要10g<br />
SQL&gt; conn system/sys@//10.6.xx.xx:1521/XE<br />
已连接。<br />
SQL&gt; conn sys/sys@//10.6.xx.xx:1521/XE as sysdba<br />
已连接。</span></p>
<p><span style="background-color: #ffffff">[url]http://www.itpub.net/558697.html[/url]<br />
的问题也算得到了解决</span></p>
<p><span style="background-color: #ffffff">&nbsp;</span></p>
</font><p><font style="background-color: #cce8cf"><span style="background-color: #ffffff">本文来自CSDN博客，转载请标明出处：http://blog.csdn.net/l1t/archive/2006/05/31/765125.aspx</span></font></p><img src ="http://www.blogjava.net/jiujiubuzui/aggbug/307520.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiujiubuzui/" target="_blank">久久不醉</a> 2009-12-28 15:17 <a href="http://www.blogjava.net/jiujiubuzui/archive/2009/12/28/307520.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle 系统表大全</title><link>http://www.blogjava.net/jiujiubuzui/archive/2009/12/22/306921.html</link><dc:creator>久久不醉</dc:creator><author>久久不醉</author><pubDate>Tue, 22 Dec 2009 07:56:00 GMT</pubDate><guid>http://www.blogjava.net/jiujiubuzui/archive/2009/12/22/306921.html</guid><wfw:comment>http://www.blogjava.net/jiujiubuzui/comments/306921.html</wfw:comment><comments>http://www.blogjava.net/jiujiubuzui/archive/2009/12/22/306921.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jiujiubuzui/comments/commentRss/306921.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jiujiubuzui/services/trackbacks/306921.html</trackback:ping><description><![CDATA[<p><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-size: 10pt"><span style="font-size: 12pt"><span style="font-size: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 数据字典dict总是属于Oracle用户sys的。<br />
　　1、用户：<br />
　　　select username from dba_users;<br />
　　改口令<br />
　　　alter user spgroup identified by spgtest;<br />
　　2、表空间：<br />
　　　select * from dba_data_files;<br />
　　　select * from dba_tablespaces;//表空间</span></span></span></span></span></p>
<p><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-size: 10pt"><span style="font-size: 12pt"><span style="font-size: 10pt">　　　select tablespace_name,sum(bytes), sum(blocks)<br />
　　　　from dba_free_space group by tablespace_name;//空闲表空间</span></span></span></span></span></p>
<p><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-size: 10pt"><span style="font-size: 12pt"><span style="font-size: 10pt">　　　select * from dba_data_files<br />
　　　　where tablespace_name='RBS';//表空间对应的数据文件</span></span></span></span></span></p>
<p><span style="font-size: 14pt"><span style="font-size: 12pt"><span style="font-size: 10pt"><span style="font-size: 12pt"><span style="font-size: 10pt">　　　select * from dba_segments<br />
　　　　where tablespace_name='INDEXS';<br />
　　3、数据库对象：<br />
　　　select * from dba_objects;<br />
　　　CLUSTER、DATABASE LINK、FUNCTION、INDEX、LIBRARY、PACKAGE、PACKAGE BODY、<br />
　　　PROCEDURE、SEQUENCE、SYNONYM、TABLE、TRIGGER、TYPE、UNDEFINED、VIEW。<br />
　　4、表：<br />
　　　select * from dba_tables;<br />
　　　analyze my_table compute statistics;-&gt;dba_tables后6列<br />
　　　select extent_id,bytes from dba_extents<br />
　　　where segment_name='CUSTOMERS' and segment_type='TABLE'<br />
　　　order by extent_id;//表使用的extent的信息。segment_type='ROLLBACK'查看回滚段的空间分配信息<br />
　　　列信息：<br />
　　　　select distinct table_name<br />
　　　　from user_tab_columns<br />
　　　　where column_name='SO_TYPE_ID';<br />
　　5、索引：　<br />
　　　select * from dba_indexes;//索引，包括主键索引<br />
　　　select * from dba_ind_columns;//索引列<br />
　　　select i.index_name,i.uniqueness,c.column_name<br />
　　　　from user_indexes i,user_ind_columns c<br />
　　　　　where i.index_name=c.index_name<br />
　　　　　and i.table_name ='ACC_NBR';//联接使用<br />
　　6、序列：<br />
　　　select * from dba_sequences;<br />
　　7、视图：<br />
　　　select * from dba_views;<br />
　　　select * from all_views;<br />
　　text 可用于查询视图生成的脚本<br />
　　8、聚簇：<br />
　　　select * from dba_clusters;<br />
　　9、快照：<br />
　　　select * from dba_snapshots;<br />
　　快照、分区应存在相应的表空间。<br />
　　10、同义词：<br />
　　　select * from dba_synonyms<br />
　　　　where table_owner='SPGROUP';<br />
　　　　//if owner is PUBLIC,then the synonyms is a public synonym.<br />
　　　　　if owner is one of users,then the synonyms is a private synonym.<br />
　　11、数据库链：<br />
　　　select * from dba_db_links;<br />
　　在spbase下建数据库链<br />
　　　create database link dbl_spnew<br />
　　　connect to spnew identified by spnew using 'jhhx';<br />
　　　insert into acc_nbr@dbl_spnew<br />
　　　select * from acc_nbr where nxx_nbr='237' and line_nbr='8888';<br />
　　12、触发器：<br />
　　　select * from dba_trigers;<br />
　　存储过程，函数从dba_objects查找。<br />
　　其文本：select text from user_source where name='BOOK_SP_EXAMPLE';<br />
　　建立出错：select * from user_errors;<br />
　　oracle总是将存储过程，函数等软件放在SYSTEM表空间。<br />
　　13、约束：<br />
　　（1）约束是和表关联的，可在create table或alter table table_name add/drop/modify来建立、修改、删除约束。<br />
　　可以临时禁止约束，如：<br />
　　　alter table book_example<br />
　　　disable constraint book_example_1;<br />
　　　alter table book_example<br />
　　　enable constraint book_example_1;<br />
　　（2）主键和外键被称为表约束，而not null和unique之类的约束被称为列约束。通常将主键和外键作为单独的命名约束放在字段列表下面，而列约束可放在列定义的同一行，这样更具有可读性。<br />
　　（3）列约束可从表定义看出，即describe;表约束即主键和外键，可从dba_constraints和dba_cons_columns 查。<br />
　　　select * from user_constraints<br />
　　　where table_name='BOOK_EXAMPLE';<br />
　　　select owner,CONSTRAINT_NAME,TABLE_NAME<br />
　　　　from user_constraints<br />
　　　　where constraint_type='R'<br />
　　　　order by table_name;<br />
　　（4）定义约束可以无名（系统自动生成约束名）和自己定义约束名（特别是主键、外键）<br />
　　如：create table book_example<br />
　　　　(identifier number not null);<br />
　　　　create table book_example<br />
　　　　(identifier number constranit book_example_1 not null);<br />
　　14、回滚段：<br />
　　在所有的修改结果存入磁盘前，回滚段中保持恢复该事务所需的全部信息，必须以数据库发生的事务来相应确定其大小（DML语句才可回滚，create,drop,truncate等DDL不能回滚）。<br />
　　回滚段数量=并发事务/4，但不能超过50；使每个回滚段大小足够处理一个完整的事务；<br />
　　　create rollback segment r05<br />
　　　tablespace rbs;<br />
　　　create rollback segment rbs_cvt<br />
　　　tablespace rbs<br />
　　　storage(initial 1M next 500k);<br />
　　使回滚段在线<br />
　　　alter rollback segment r04 online;<br />
　　用dba_extents,v$rollback_segs监测回滚段的大小和动态增长。<br />
　　回滚段的区间信息<br />
　　　select * from dba_extents<br />
　　　where segment_type='ROLLBACK' and segment_name='RB1';<br />
　　回滚段的段信息,其中bytes显示目前回滚段的字节数<br />
　　　select * from dba_segments<br />
　　　　where segment_type='ROLLBACK' and segment_name='RB1';<br />
　　为事物指定回归段<br />
　　　set transaction use rollback segment rbs_cvt<br />
　　针对bytes可以使用回滚段回缩。<br />
　　　alter rollback segment rbs_cvt shrink;<br />
　　　select bytes,extents,max_extents from dba_segments<br />
　　　　where segment_type='ROLLBACK' and segment_name='RBS_CVT';<br />
　　回滚段的当前状态信息：<br />
　　　select * from dba_rollback_segs<br />
　　　　where segment_name='RB1';<br />
　　比多回滚段状态status，回滚段所属实例instance_num<br />
　　查优化值optimal<br />
　　　select n.name,s.optsize<br />
　　　　from v$rollname n,v$rollstat s<br />
　　　　　where n.usn=s.usn;<br />
　　回滚段中的数据<br />
　　　set transaction use rollback segment rb1;/*回滚段名*/<br />
　　　select n.name,s.writes<br />
　　　　from v$rollname n,v$rollstat s<br />
　　　　　where n.usn=s.usn;<br />
　　当事务处理完毕，再次查询$rollstat，比较writes(回滚段条目字节数)差值，可确定事务的大小。<br />
　　查询回滚段中的事务<br />
　　　column rr heading 'RB Segment' format a18<br />
　　　column us heading 'Username' format a15<br />
　　　column os heading 'Os User' format a10<br />
　　　column te heading 'Terminal' format a10<br />
　　　select r.name rr,nvl(s.username,'no transaction') us,s.osuser os,s.terminal te<br />
　　　　from v$lock l,v$session s,v$rollname r<br />
　　　　　where l.sid=s.sid(+)<br />
　　　　　and trunc(l.id1/65536)=R.USN<br />
　　　　　and l.type='TX'<br />
　　　　　and l.lmode=6<br />
　　　order by r.name;<br />
　　15、作业<br />
　　查询作业信息<br />
　　　select job,broken,next_date,interval,what from user_jobs;<br />
　　　select job,broken,next_date,interval,what from dba_jobs;<br />
　　查询正在运行的作业<br />
　　　select * from dba_jobs_running;<br />
　　使用包exec dbms_job.submit(:v_num,'a;',sysdate,'sysdate + (10/(24*60*60))')加入作业。间隔10秒钟<br />
exec dbms_job.submit(:v_num,'a;',sysdate,'sysdate + (11/(24*60))')加入作业。间隔11分钟使用包exec dbms_job.remove(21)删除21号作业。</span></span></span></span></span></p><img src ="http://www.blogjava.net/jiujiubuzui/aggbug/306921.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jiujiubuzui/" target="_blank">久久不醉</a> 2009-12-22 15:56 <a href="http://www.blogjava.net/jiujiubuzui/archive/2009/12/22/306921.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>