<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆:-4 文章:58 評(píng)論:4 引用:0
    首頁(yè) 發(fā)新隨筆
    發(fā)新文章 聯(lián)系 聚合管理

    2009年12月28日

    volatile:
          Java語(yǔ)言規(guī)范中指出:為了獲得最佳速度,允許線程保存共享成員變量的私有拷貝,而且只當(dāng)線程進(jìn)入或者離開同步代碼塊時(shí)才與共享成員變量的原始值對(duì)比。 這樣當(dāng)多個(gè)線程同時(shí)與某個(gè)對(duì)象交互時(shí),就必須要注意到要讓線程及時(shí)的得到共享成員變量的變化。 而volatile關(guān)鍵字就是提示VM:對(duì)于這個(gè)成員變量不能保存它的私有拷貝,而應(yīng)直接與共享成員變量交互。 使用建議:在兩個(gè)或者更多的線程訪問的成員變量上使用volatile。當(dāng)要訪問的變量已在synchronized代碼塊中,或者為常量時(shí),不必使用。     由于使用volatile屏蔽掉了VM中必要的代碼優(yōu)化,所以在效率上比較低,因此一定在必要時(shí)才使用此關(guān)鍵字。
    Synchronized:
    防止多個(gè)線程同時(shí)訪問相同的代碼段。
    Transient:
    表明類序列化時(shí),變量不必序列化。
    posted @ 2010-04-09 13:47 久久不醉 閱讀(131) | 評(píng)論 (0)編輯 收藏
     

    配置一個(gè)數(shù)據(jù)源
        Spring在第三方依賴包中包含了兩個(gè)數(shù)據(jù)源的實(shí)現(xiàn)類包,其一是Apache的DBCP,其二是 C3P0。可以在Spring配置文件中利用這兩者中任何一個(gè)配置數(shù)據(jù)源。

     DBCP數(shù)據(jù)源
        DBCP類包位于 <spring_home></spring_home>/lib/jakarta-commons/commons-dbcp.jar,DBCP是一個(gè)依賴 Jakarta commons-pool對(duì)象池機(jī)制的數(shù)據(jù)庫(kù)連接池,所以在類路徑下還必須包括<spring_home></spring_home>/lib/jakarta- commons/commons-pool.jar。下面是使用DBCP配置MySql數(shù)據(jù)源的配置片斷:

    xml 代碼
    1. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"       
    2.         destroy-method="close">       
    3.     <property name="driverClassName" value="com.mysql.jdbc.Driver" />      
    4.     <property name="url" value="jdbc:mysql://localhost:3309/sampledb" />      
    5.     <property name="username" value="root" />      
    6.     <property name="password" value="1234" />      
    7. </bean>  

    BasicDataSource提供了close()方法關(guān)閉數(shù)據(jù)源,所以必須設(shè)定destroy-method=”close”屬性, 以便Spring容器關(guān)閉時(shí),數(shù)據(jù)源能夠正常關(guān)閉。除以上必須的數(shù)據(jù)源屬性外,還有一些常用的屬性:
        defaultAutoCommit:設(shè)置從數(shù)據(jù)源中返回的連接是否采用自動(dòng)提交機(jī)制,默認(rèn)值為 true;
        defaultReadOnly:設(shè)置數(shù)據(jù)源是否僅能執(zhí)行只讀操作, 默認(rèn)值為 false;
        maxActive:最大連接數(shù)據(jù)庫(kù)連接數(shù),設(shè)置為0時(shí),表示沒有限制;
        maxIdle:最大等待連接中的數(shù)量,設(shè)置為0時(shí),表示沒有限制;
        maxWait:最大等待秒數(shù),單位為毫秒, 超過時(shí)間會(huì)報(bào)出錯(cuò)誤信息;
        validationQuery:用于驗(yàn)證連接是否成功的查詢SQL語(yǔ)句,SQL語(yǔ)句必須至少要返回一行數(shù)據(jù), 如你可以簡(jiǎn)單地設(shè)置為:“select count(*) from user”;
        removeAbandoned:是否自我中斷,默認(rèn)是 false ;
        removeAbandonedTimeout:幾秒后數(shù)據(jù)連接會(huì)自動(dòng)斷開,在removeAbandoned為true,提供該值;
        logAbandoned:是否記錄中斷事件, 默認(rèn)為 false;

    C3P0數(shù)據(jù)源
        C3P0是一個(gè)開放源代碼的JDBC數(shù)據(jù)源實(shí)現(xiàn)項(xiàng)目,它在lib目錄中與Hibernate一起發(fā)布,實(shí)現(xiàn)了JDBC3和JDBC2擴(kuò)展規(guī)范說明的 Connection 和Statement 池。C3P0類包位于<spring_home></spring_home>/lib/c3p0/c3p0-0.9.0.4.jar。下面是使用C3P0配置一個(gè) Oracle數(shù)據(jù)源:

    xml 代碼
    1. <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"       
    2.         destroy-method="close">      
    3.     <property name="driverClass" value=" oracle.jdbc.driver.OracleDriver "/>      
    4.     <property name="jdbcUrl" value=" jdbc:oracle:thin:@localhost:1521:ora9i "/>      
    5.     <property name="user" value="admin"/>      
    6.     <property name="password" value="1234"/>      
    7. </bean>  

    ComboPooledDataSource和BasicDataSource一樣提供了一個(gè)用于關(guān)閉數(shù)據(jù)源的close()方法,這樣我們就可以保證Spring容器關(guān)閉時(shí)數(shù)據(jù)源能夠成功釋放。
        C3P0擁有比DBCP更豐富的配置屬性,通過這些屬性,可以對(duì)數(shù)據(jù)源進(jìn)行各種有效的控制:
        acquireIncrement:當(dāng)連接池中的連接用完時(shí),C3P0一次性創(chuàng)建新連接的數(shù)目;
        acquireRetryAttempts:定義在從數(shù)據(jù)庫(kù)獲取新連接失敗后重復(fù)嘗試獲取的次數(shù),默認(rèn)為30;
        acquireRetryDelay:兩次連接中間隔時(shí)間,單位毫秒,默認(rèn)為1000;
        autoCommitOnClose:連接關(guān)閉時(shí)默認(rèn)將所有未提交的操作回滾。默認(rèn)為false;
        automaticTestTable: C3P0將建一張名為Test的空表,并使用其自帶的查詢語(yǔ)句進(jìn)行測(cè)試。如果定義了這個(gè)參數(shù),那么屬性preferredTestQuery將被忽略。你 不能在這張Test表上進(jìn)行任何操作,它將中為C3P0測(cè)試所用,默認(rèn)為null;
        breakAfterAcquireFailure:獲取連接失敗將會(huì)引起所有等待獲取連接的線程拋出異常。但是數(shù)據(jù)源仍有效保留,并在下次調(diào)   用getConnection()的時(shí)候繼續(xù)嘗試獲取連接。如果設(shè)為true,那么在嘗試獲取連接失敗后該數(shù)據(jù)源將申明已斷開并永久關(guān)閉。默認(rèn)為 false;
        checkoutTimeout:當(dāng)連接池用完時(shí)客戶端調(diào)用getConnection()后等待獲取新連接的時(shí)間,超時(shí)后將拋出SQLException,如設(shè)為0則無限期等待。單位毫秒,默認(rèn)為0;
        connectionTesterClassName: 通過實(shí)現(xiàn)ConnectionTester或QueryConnectionTester的類來測(cè)試連接,類名需設(shè)置為全限定名。默認(rèn)為 com.mchange.v2.C3P0.impl.DefaultConnectionTester; 
        idleConnectionTestPeriod:隔多少秒檢查所有連接池中的空閑連接,默認(rèn)為0表示不檢查;
        initialPoolSize:初始化時(shí)創(chuàng)建的連接數(shù),應(yīng)在minPoolSize與maxPoolSize之間取值。默認(rèn)為3;
        maxIdleTime:最大空閑時(shí)間,超過空閑時(shí)間的連接將被丟棄。為0或負(fù)數(shù)則永不丟棄。默認(rèn)為0;
        maxPoolSize:連接池中保留的最大連接數(shù)。默認(rèn)為15;
        maxStatements:JDBC的標(biāo)準(zhǔn)參數(shù),用以控制數(shù)據(jù)源內(nèi)加載的PreparedStatement數(shù)量。但由于預(yù)緩存的Statement屬 于單個(gè)Connection而不是整個(gè)連接池。所以設(shè)置這個(gè)參數(shù)需要考慮到多方面的因素,如果maxStatements與 maxStatementsPerConnection均為0,則緩存被關(guān)閉。默認(rèn)為0;
        maxStatementsPerConnection:連接池內(nèi)單個(gè)連接所擁有的最大緩存Statement數(shù)。默認(rèn)為0;
        numHelperThreads:C3P0是異步操作的,緩慢的JDBC操作通過幫助進(jìn)程完成。擴(kuò)展這些操作可以有效的提升性能,通過多線程實(shí)現(xiàn)多個(gè)操作同時(shí)被執(zhí)行。默認(rèn)為3;
        preferredTestQuery:定義所有連接測(cè)試都執(zhí)行的測(cè)試語(yǔ)句。在使用連接測(cè)試的情況下這個(gè)參數(shù)能顯著提高測(cè)試速度。測(cè)試的表必須在初始數(shù)據(jù)源的時(shí)候就存在。默認(rèn)為null;
        propertyCycle: 用戶修改系統(tǒng)配置參數(shù)執(zhí)行前最多等待的秒數(shù)。默認(rèn)為300;
        testConnectionOnCheckout:因性能消耗大請(qǐng)只在需要的時(shí)候使用它。如果設(shè)為true那么在每個(gè)connection提交的時(shí)候都 將校驗(yàn)其有效性。建議使用idleConnectionTestPeriod或automaticTestTable
    等方法來提升連接測(cè)試的性能。默認(rèn)為false;
        testConnectionOnCheckin:如果設(shè)為true那么在取得連接的同時(shí)將校驗(yàn)連接的有效性。默認(rèn)為false。

    讀配置文件的方式引用屬性:

    1. <bean id="propertyConfigurer"     
    2.         class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">      
    3.     <property name="location" value="/WEB-INF/jdbc.properties"/>      
    4. </bean>      
    5. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"       
    6.         destroy-method="close">      
    7.     <property name="driverClassName" value="${jdbc.driverClassName}" />      
    8.     <property name="url" value="${jdbc.url}" />      
    9.     <property name="username" value="${jdbc.username}" />      
    10.     <property name="password" value="${jdbc.password}" />      
    11. </bean>   

        在jdbc.properties屬性文件中定義屬性值:
        jdbc.driverClassName= com.mysql.jdbc.Driver
        jdbc.url= jdbc:mysql://localhost:3309/sampledb
        jdbc.username=root
        jdbc.password=1234
        提示 經(jīng)常有開發(fā)者在${xxx}的前后不小心鍵入一些空格,這些空格字符將和變量合并后作為屬性的值。如: <property name="username" value=" ${jdbc.username} "></property> 的屬性配置項(xiàng),在前后都有空格,被解析后,username的值為“ 1234 ”,這將造成最終的錯(cuò)誤,因此需要特別小心。

     獲取JNDI數(shù)據(jù)源
        如果應(yīng)用配置在高性能的應(yīng)用服務(wù)器(如WebLogic或Websphere等)上,我們可能更希望使用應(yīng)用服務(wù)器本身提供的數(shù)據(jù)源。應(yīng)用服務(wù)器的數(shù)據(jù)源 使用JNDI開放調(diào)用者使用,Spring為此專門提供引用JNDI資源的JndiObjectFactoryBean類。下面是一個(gè)簡(jiǎn)單的配置:

    xml 代碼
    1. <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">      
    2.     <property name="jndiName" value="java:comp/env/jdbc/bbt"/>      
    3. </bean>  

    通過jndiName指定引用的JNDI數(shù)據(jù)源名稱。
        Spring 2.0為獲取J2EE資源提供了一個(gè)jee命名空間,通過jee命名空間,可以有效地簡(jiǎn)化J2EE資源的引用。下面是使用jee命名空間引用JNDI數(shù)據(jù)源的配置:

    xml 代碼
    1. <beans xmlns=http://www.springframework.org/schema/beans    
    2. xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance    
    3. xmlns:jee=http://www.springframework.org/schema/jee    
    4. xsi:schemaLocation="http://www.springframework.org/schema/beans     
    5. http://www.springframework.org/schema/beans/spring-beans-2.0.xsd     
    6. http://www.springframework.org/schema/jee    
    7. http://www.springframework.org/schema/jee/spring-jee-2.0.xsd">      
    8. <jee:jndi-lookup id="dataSource" jndi-name=" java:comp/env/jdbc/bbt"/>      
    9. </beans>  

    Spring的數(shù)據(jù)源實(shí)現(xiàn)類
        Spring本身也提供了一個(gè)簡(jiǎn)單的數(shù)據(jù)源實(shí)現(xiàn)類DriverManagerDataSource ,它位于org.springframework.jdbc.datasource包中。這個(gè)類實(shí)現(xiàn)了javax.sql.DataSource接口,但 它并沒有提供池化連接的機(jī)制,每次調(diào)用getConnection()獲取新連接時(shí),只是簡(jiǎn)單地創(chuàng)建一個(gè)新的連接。因此,這個(gè)數(shù)據(jù)源類比較適合在單元測(cè)試 或簡(jiǎn)單的獨(dú)立應(yīng)用中使用,因?yàn)樗恍枰~外的依賴類。
         下面,我們來看一下DriverManagerDataSource的簡(jiǎn)單使用:
    當(dāng)然,我們也可以通過配置的方式直接使用DriverManagerDataSource。

    java 代碼
    1. DriverManagerDataSource ds = new DriverManagerDataSource ();      
    2. ds.setDriverClassName("com.mysql.jdbc.Driver");      
    3. ds.setUrl("jdbc:mysql://localhost:3309/sampledb");      
    4. ds.setUsername("root");      
    5. ds.setPassword("1234");      
    6. Connection actualCon = ds.getConnection();  

     

    小結(jié)

        不管采用何種持久化技術(shù),都需要定義數(shù)據(jù)源。Spring附帶了兩個(gè)數(shù)據(jù)源的實(shí)現(xiàn)類包,你可以自行選擇進(jìn)行定義。在實(shí)際部署時(shí),我們可能會(huì)直接采用應(yīng)用服 務(wù)器本身提供的數(shù)據(jù)源,這時(shí),則可以通過JndiObjectFactoryBean或jee命名空間引用JNDI中的數(shù)據(jù)源。

    DBCP與C3PO配置的區(qū)別:

    C3PO :DBCP:

    xml 代碼
    1. <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">  
    2.     <property name="driverClass">  
    3.         <value>oracle.jdbc.driver.OracleDriver</value>  
    4.     </property>  
    5.     <property name="jdbcUrl">             
    6.         <value>jdbc:oracle:thin:@10.10.10.6:1521:DataBaseName</value>  
    7.      </property>  
    8.     <property name="user">  
    9.         <value>testAdmin</value>  
    10.     </property>  
    11.     <property name="password">  
    12.         <value>123456</value>  
    13.     </property>  
    14. </bean>  

     

    xml 代碼
    1. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">  
    2.     <property name="driverClassName">  
    3.         <value>oracle.jdbc.driver.OracleDriver</value>  
    4.     </property>  
    5.     <property name="url">             
    6.         <value>jdbc:oracle:thin:@10.10.10.6:1521:DataBaseName</value>  
    7.      </property>  
    8.     <property name="username">  
    9.         <value>testAdmin</value>  
    10.     </property>  
    11.     <property name="password">  
    12.         <value>123456</value>  
    13.     </property>  
    14. </bean>  
    posted @ 2010-03-03 14:12 久久不醉 閱讀(193) | 評(píng)論 (0)編輯 收藏
     

    oracle xe universal默認(rèn)創(chuàng)建AL32UTF8字符集,這種字符集1個(gè)漢字占用3個(gè)字節(jié),而
    ZHS16GBK字符集1個(gè)漢字占用2個(gè)字節(jié),為了節(jié)約空間,我嘗試改變數(shù)據(jù)庫(kù)的字符集,
    但是失敗了,因?yàn)樾伦址皇桥f字符集的超集。即使用restrict模式也不行。
    考慮到oracle xe 安裝時(shí)只是建一個(gè)空庫(kù),僅包含系統(tǒng)表空間等,設(shè)想通過手工執(zhí)行
    創(chuàng)建ZHS16GBK字符集數(shù)據(jù)庫(kù)的辦法實(shí)現(xiàn)。
    從sybex的10g ocp教材中復(fù)制并修改得下面語(yǔ)句,其中E:\ORADATA\TEST是我們要存放
    新數(shù)據(jù)庫(kù)物理文件的目錄,以和舊數(shù)據(jù)庫(kù)區(qū)分。


    CREATE DATABASE XE
    CONTROLFILE REUSE
    LOGFILE
    GROUP 1 'E:\ORADATA\TEST\REDO01.LOG' SIZE 10M,
    GROUP 2 'E:\ORADATA\TEST\REDO02.LOG' SIZE 10M,
    GROUP 3 'E:\ORADATA\TEST\REDO03.LOG' SIZE 10M
    DATAFILE 'E:\ORADATA\TEST\SYSTEM01.DBF' SIZE 400M
    AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL
    SYSAUX DATAFILE 'E:\ORADATA\TEST\SYSAUX01.DBF' SIZE 250M
    AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL
    DEFAULT TEMPORARY TABLESPACE temp
    TEMPFILE 'E:\ORADATA\TEST\TEMP01.DBF' SIZE 100M
    AUTOEXTEND ON NEXT 100M MAXSIZE 8000M
    UNDO TABLESPACE undo
    DATAFILE 'E:\ORADATA\TEST\undo01.DBF' SIZE 200M
    AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL
    CHARACTER SET ZHS16GBK
    NATIONAL CHARACTER SET AL16UTF16
    USER SYS IDENTIFIED BY SYS
    USER SYSTEM IDENTIFIED BY SYS
    ;
    在執(zhí)行這個(gè)腳本以前,有3點(diǎn)要注意:
    1 要修改F:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\init.ora'

    F:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\test.ora'
    把所有路徑改成E:\ORADATA\TEST及其子目錄,為此我們需要在E:\ORADATA\TEST下建立
    bdump等目錄,這些目錄可以從現(xiàn)有的XE數(shù)據(jù)庫(kù)F:\oraclexe\app\oracle\admin\XE復(fù)制得到。

    2 要去掉EXTENT MANAGEMENT LOCAL語(yǔ)句否則執(zhí)行出錯(cuò)。(沒有找出原因)

    CREATE DATABASE XE
    *
    第 1 行出現(xiàn)錯(cuò)誤:
    ORA-25146: EXTENT MANAGEMENT ?????

    3 test.ora中的db_name不能改變,否則執(zhí)行出錯(cuò)。(沒有找出原因)
    ORA-02778: Name given for the log directory is invalid

    具體執(zhí)行步驟(以Windows XP為例)
    1在cmd命令行窗口執(zhí)行 net start oracleservicexe
    C:\Documents and Settings\Administrator>net start oracleservicexe
    OracleServiceXE 服務(wù)正在啟動(dòng) .........
    OracleServiceXE 服務(wù)已經(jīng)啟動(dòng)成功。

    2 以sys用戶登錄
    C:\Documents and Settings\Administrator>sqlplus /nolog

    SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 5月 30 22:07:45 2006

    Copyright (c) 1982, 2005, Oracle.  All rights reserved.

    SQL> conn / as sysdba
    已連接。
    3 查看現(xiàn)有的字符集設(shè)置
    SQL> set lines 140
    SQL> select * from nls_database_parameters;

    PARAMETER
    ------------------------------------------------------------
    VALUE
    -------------------------------------------------------------------
    ------------------------------------------------------------
    NLS_LANGUAGE
    AMERICAN

    NLS_TERRITORY
    AMERICA

    NLS_CURRENCY
    $

    NLS_ISO_CURRENCY
    AMERICA

    NLS_NUMERIC_CHARACTERS
    .,

    NLS_CHARACTERSET
    AL32UTF8

    NLS_CALENDAR
    GREGORIAN

    NLS_DATE_FORMAT
    DD-MON-RR

    NLS_DATE_LANGUAGE
    AMERICAN

    NLS_SORT
    BINARY

    NLS_TIME_FORMAT
    HH.MI.SSXFF AM

    NLS_TIMESTAMP_FORMAT
    DD-MON-RR HH.MI.SSXFF AM

    NLS_TIME_TZ_FORMAT
    HH.MI.SSXFF AM TZR

    NLS_TIMESTAMP_TZ_FORMAT
    DD-MON-RR HH.MI.SSXFF AM TZR

    NLS_DUAL_CURRENCY
    $

    NLS_COMP
    BINARY

    NLS_LENGTH_SEMANTICS
    BYTE

    NLS_NCHAR_CONV_EXCP
    FALSE

    NLS_NCHAR_CHARACTERSET
    AL16UTF16

    NLS_RDBMS_VERSION
    10.2.0.1.0


    已選擇20行。

    SQL> select lengthb('擇') from dual;

    LENGTHB('擇')
    -------------
                3

    已選擇 1 行。

    我們可以看到,當(dāng)前AL32UTF8字符集1個(gè)漢字占用3個(gè)字節(jié)
    4 關(guān)閉數(shù)據(jù)庫(kù),但不停止服務(wù)
    QL> shutdown immediate
    數(shù)據(jù)庫(kù)已經(jīng)關(guān)閉。
    已經(jīng)卸載數(shù)據(jù)庫(kù)。
    ORACLE 例程已經(jīng)關(guān)閉。
    5 用修改過的pfile test.ora啟動(dòng)數(shù)據(jù)庫(kù)(nomount)
    SQL> startup nomount pfile='F:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\test.ora'
    ORACLE 例程已經(jīng)啟動(dòng)。

    Total System Global Area  285212672 bytes
    Fixed Size                  1287016 bytes
    Variable Size              92277912 bytes
    Database Buffers          188743680 bytes
    Redo Buffers                2904064 bytes
    6 執(zhí)行建立數(shù)據(jù)庫(kù)腳本
    SQL> CREATE DATABASE XE
      2  CONTROLFILE REUSE
      3  LOGFILE
      4  GROUP 1 'E:\ORADATA\TEST\REDO01.LOG' SIZE 10M,
      5  GROUP 2 'E:\ORADATA\TEST\REDO02.LOG' SIZE 10M,
      6  GROUP 3 'E:\ORADATA\TEST\REDO03.LOG' SIZE 10M
      7  DATAFILE 'E:\ORADATA\TEST\SYSTEM01.DBF' SIZE 400M
      8  AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED
      9  SYSAUX DATAFILE 'E:\ORADATA\TEST\SYSAUX01.DBF' SIZE 250M
     10  AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED
     11  DEFAULT TEMPORARY TABLESPACE temp
     12  TEMPFILE 'E:\ORADATA\TEST\TEMP01.DBF' SIZE 100M
     13  AUTOEXTEND ON NEXT 100M MAXSIZE 8000M
     14  UNDO TABLESPACE undo
     15  DATAFILE 'E:\ORADATA\TEST\undo01.DBF' SIZE 200M
     16  AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
     17  CHARACTER SET ZHS16GBK
     18  NATIONAL CHARACTER SET AL16UTF16
     19  USER SYS IDENTIFIED BY SYS
     20  USER SYSTEM IDENTIFIED BY SYS
     21  ;

    數(shù)據(jù)庫(kù)已創(chuàng)建。
    7 執(zhí)行創(chuàng)建數(shù)據(jù)字典和程序包的系統(tǒng)SQL腳本
    @F:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catalog.sql
    @F:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\catproc.sql
    大約需要10幾分鐘
    8 關(guān)閉數(shù)據(jù)庫(kù),但不停止服務(wù)
    SQL> shutdown immediate
    數(shù)據(jù)庫(kù)已經(jīng)關(guān)閉。
    已經(jīng)卸載數(shù)據(jù)庫(kù)。
    ORACLE 例程已經(jīng)關(guān)閉。
    9 用修改過的pfile test.ora啟動(dòng)數(shù)據(jù)庫(kù)
    SQL> startup  pfile='F:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\test.ora'
    ORACLE 例程已經(jīng)啟動(dòng)。

    Total System Global Area  285212672 bytes
    Fixed Size                  1287016 bytes
    Variable Size              92277912 bytes
    Database Buffers          188743680 bytes
    Redo Buffers                2904064 bytes
    數(shù)據(jù)庫(kù)裝載完畢。
    數(shù)據(jù)庫(kù)已經(jīng)打開。
    10 查看新建數(shù)據(jù)庫(kù)的字符集設(shè)置
    SQL> set lines 140
    SQL> select * from nls_database_parameters;

    PARAMETER                      VALUE
    ------------------------------ -------------------------------------------------
    -------------------------------
    NLS_LANGUAGE                   AMERICAN
    NLS_TERRITORY                  AMERICA
    NLS_CURRENCY                   $
    NLS_ISO_CURRENCY               AMERICA
    NLS_NUMERIC_CHARACTERS         .,
    NLS_CHARACTERSET               ZHS16GBK
    NLS_CALENDAR                   GREGORIAN
    NLS_DATE_FORMAT                DD-MON-RR
    NLS_DATE_LANGUAGE              AMERICAN
    NLS_SORT                       BINARY
    NLS_TIME_FORMAT                HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_DUAL_CURRENCY              $
    NLS_COMP                       BINARY
    NLS_LENGTH_SEMANTICS           BYTE
    NLS_NCHAR_CONV_EXCP            FALSE
    NLS_NCHAR_CHARACTERSET         AL16UTF16
    NLS_RDBMS_VERSION              10.2.0.1.0

    已選擇20行。

    SQL> select lengthb('A') from dual;

    LENGTHB('A')
    ------------
               1

    已選擇 1 行。

    SQL> select lengthb('擇') from dual;

    LENGTHB('擇')
    -------------
                2

    已選擇 1 行。
    可見我們新的數(shù)據(jù)庫(kù)的確是ZHS16GBK字符集,1個(gè)漢字占用2個(gè)字節(jié)
    11 要啟動(dòng)舊數(shù)據(jù)庫(kù)(因?yàn)樾屡f數(shù)據(jù)庫(kù)同名,而且oracle xe限制同時(shí)只能打開一個(gè)數(shù)據(jù)庫(kù))
    SQL> shutdown immediate
    數(shù)據(jù)庫(kù)已經(jīng)關(guān)閉。
    已經(jīng)卸載數(shù)據(jù)庫(kù)。
    ORACLE 例程已經(jīng)關(guān)閉。
    SQL> startup
    ORACLE 例程已經(jīng)啟動(dòng)。

    Total System Global Area  285212672 bytes
    Fixed Size                  1287016 bytes
    Variable Size              96472216 bytes
    Database Buffers          184549376 bytes
    Redo Buffers                2904064 bytes
    數(shù)據(jù)庫(kù)裝載完畢。
    數(shù)據(jù)庫(kù)已經(jīng)打開。

    ----

    如果以后要用spfile自動(dòng)新建數(shù)據(jù)庫(kù)
    SQL> create spfile from pfile='D:\oraclexe\app\oracle\product\10.2.0\server\config\scripts\test.ora';

    文件已創(chuàng)建。

    SQL> shutdown immediate;
    數(shù)據(jù)庫(kù)已經(jīng)關(guān)閉。
    已經(jīng)卸載數(shù)據(jù)庫(kù)。
    ORACLE 例程已經(jīng)關(guān)閉。
    SQL> startup
    ORACLE 例程已經(jīng)啟動(dòng)。

    Total System Global Area 285212672 bytes
    Fixed Size 1287016 bytes
    Variable Size 92277912 bytes
    Database Buffers 188743680 bytes
    Redo Buffers 2904064 bytes
    數(shù)據(jù)庫(kù)裝載完畢。
    數(shù)據(jù)庫(kù)已經(jīng)打開。
    SQL> select lengthb('擇') from dual;

    LENGTHB('擇')
    -------------
    2

    已選擇 1 行。

    遠(yuǎn)程登錄,客戶端也需要10g
    SQL> conn system/sys@//10.6.xx.xx:1521/XE
    已連接。
    SQL> conn sys/sys@//10.6.xx.xx:1521/XE as sysdba
    已連接。

    [url]http://www.itpub.net/558697.html[/url]
    的問題也算得到了解決

     

    本文來自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/l1t/archive/2006/05/31/765125.aspx

    posted @ 2009-12-28 15:17 久久不醉 閱讀(627) | 評(píng)論 (0)編輯 收藏
    CALENDER
    <2009年12月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    留言簿

    隨筆檔案(54)

    文章分類

    搜索

    •  

    最新評(píng)論


    Powered By: 博客園
    模板提供滬江博客

    主站蜘蛛池模板: 久久夜色精品国产噜噜亚洲a| 亚洲一区二区三区香蕉| 亚洲白嫩在线观看| 国产成人精品无码免费看| 亚洲人JIZZ日本人| 亚洲免费人成在线视频观看| 久久久久亚洲精品影视| 99热在线观看免费| 久久久无码精品亚洲日韩按摩| 99久久人妻精品免费二区| 亚洲国产精品不卡在线电影| 在线观看永久免费| 亚洲黄色激情视频| 国产一区二区三区免费在线观看| 美女被吸屁股免费网站| 亚洲国产日韩在线观频| 免费无码又爽又刺激网站| 亚洲一区二区三区日本久久九| 4399影视免费观看高清直播| 香蕉大伊亚洲人在线观看| 日本v片免费一区二区三区| 一级毛片视频免费| 久久久久亚洲AV成人无码网站| 在线看片免费人成视久网| 亚洲偷自精品三十六区| 在线观看亚洲免费| 久久成人永久免费播放| 2022年亚洲午夜一区二区福利| 久久久www成人免费毛片| 特级毛片A级毛片免费播放| 亚洲国产精品VA在线观看麻豆 | 国产成人无码精品久久久免费 | 美女免费视频一区二区| 亚洲第一成人影院| 久久国产免费一区| 国产成人亚洲综合一区| 亚洲性日韩精品一区二区三区 | 91免费国产视频| 亚洲国产成a人v在线观看| 亚洲最大AV网站在线观看| 114一级毛片免费|