Java for memory

          memory is forever

          常用鏈接

          統計

          最新評論

          2008年12月10日 #

          Sybase IQ的備份與恢復

          1Sybase IQ server有三種備份類型:

          1)、完全備份(full

          2)、增量備份(incremental

          3)、完全備份的基礎上增量備份(incremental since full

          注:增量備份和完全備份的基礎上增量備份都會對Catalog Store 進行完全備份,默認情況下為完全 備份。

          2Sybase IQ server的順序:

          1)、Catalog Store

          2)、Transaction log File

          3)、IQ Store

          3、當IQ server正在備份時:

          1)、默認情況下操作員必須在現場,掛持接備份介質。

          2)、操作員可 以不在場,但必須正確地估算出備份的數據量大小,并且在安裝備份設備時,要選“高級”安裝方可。

          3)、數據庫備 份不會將未提交的內容進行備份。

          4、備份命令:

          BACKUP DATABASE [CRC ON|OFF]

          [Attended ON|OFF]

          [BLOCK FACTOR integer]

          [{FULL|INCREMENTAL|INCREMENTAL SINCE FULL}]

          TO ‘archive_device’ [SIZE # of KB integer]

          例子:

          BACKUP DATABASE TO ‘dev/rmt/0n’

          注:BACKUP不支持裸設備

          5、系統級別的備份:

          如果IQ server運行時進行 系統級別的備份,則會導致服務崩潰或丟失數據。所以,必須確定IQ server是停止狀態 時,方可進行系統級別備份。

          6、備份的恢復:

          1)、必須連接到utility_db數據庫后才可以進行恢復操作,并且在恢復數據時不能有用戶連接到數據庫,啟動utility_db的方法:start_asiq -n myserver -gu utility_db。

          2)、如果有完全恢復,Catalog Store Transaction Log(即.db .log文件)必須從目標文件夾下刪除。

          3)、如果為增量恢復,Catalog Store Transaction Log(即.db .log文件)必須存在于目標文件夾中。

          3)、恢復可以將原來dbspace的物理位置 更換,暨更改目錄和名稱。

          7、恢復的命 令:

          RESTORE DATABASE ‘c:\\newdir\\mydb.db’

          FROM ‘c:\\asiq\\backup1’

          FROM ‘c:\\asiq\\backup2’

          在進行恢復 時,必須注意恢復的順序和備份時的順序完全一致。

          8、數據庫備份后,配置文件和日志文件是沒有被備份的,所以如果恢復時要單獨對這兩種文件進行恢復。配置文 件可以直接拷貝即可,但日志文件是不能用原來的.log文件的。

             如果恢復到原來的目錄中,則不用新建.log文件。如果沒有恢復到原目錄,則必須用dblog工具手動生 成.log文件。

          9dblog工具的命令語法:

          Dblog [option] database_file

          Option

          -t log-name,指定事務log文件名。

          -m mirror-name,設置事務日 志鏡象名。

          -r,停止事務 日志的鏡象。

          -o,輸出日志 信息到文件。

          -q,安靜模 式,不打印信息。

          例:dblog  -r -t f:\asiqmrr\asiqmrr.log   f:\asiqmrr\asiqmrr.db

           

          sybaseiq的備份與恢復:
          備份:
          backup database to 'e:\lslwork\temp\sybiqGP' ;
          恢復:
          restore database 'C:\Program Files\Sybase\ASIQ-12_6\gupiao\GP.db'
          from 'e:\lslwork\temp\sybiqGP'

          posted @ 2010-05-19 16:04 Lanny 閱讀(657) | 評論 (0)編輯 收藏

          Apache dblUtils 工具包的使用

          關鍵字: commons-dbutils 工具包的使用
          commons-dbutils 是 Apache 組織提供的一個開源 JDBC 工具類庫,能讓我們更簡單的使用 JDBC 。 
          今天,在傳智播客的課堂上,我們學習了 DBUtils 類庫,知道了如何能夠更方便地使用 JDBC 。以下是我的學習總結。 


          -------------------------------------------------------------------------------- 
          1. API 介紹: 
          <1> org.apache.commons.dbutils.DbUtils:提供如關閉連接、裝載 JDBC 驅動程序等常規工作的工具類; 
          <2> org.apache.commons.dbutils.QueryRunner:該類簡單化了 SQL 查詢,它與 ResultSetHandler 組合在一起使用可以完成大部分的數據庫操作,能夠大大減少編碼量。 
          <3> org.apache.commons.dbutils.ResultSetHandler:該接口用于處理 java.sql.ResultSet,將數據按要求轉換為另一種形式。 
          -------------------------------------------------------------------------------- 

          2. 工具類的方法及示例代碼: 
          <1> DBUtil 類的主要方法如下: 
          a. public static void close(…) throws java.sql.SQLException: DbUtils類提供了三個重載的關閉 

          方法。這些方法檢查所提供的參數是不是 NULL ,如果不是的話,它們就關閉 Connection、Statement 和 ResultSet。 
          b. public static void closeQuietly(…): 這一類方法不僅能在 Connection、Statement 和ResultSet 為 NULL 情況下避免關閉,還能隱藏一些在程序中拋出的 SQLEeception。 
          c. public static void commitAndCloseQuietly(Connection conn): 用來提交連接,然后關閉連接,并 

          且在關閉連接時不拋出 SQL 異常。 
          d. public static boolean loadDriver(java.lang.String driverClassName):這一方裝載并注冊 JDBC 驅動程序,如果成功就返回 true 。使用該方法,你不需要捕捉這個異常 ClassNotFoundException。 


          -------------------------------------------------------------------------------- 
          <2> QueryRunner 類的構造方法及主要方法: 
          a. 默認的構造方法: 
          public QueryRunner(){} 
          b. 需要一個 javax.sql.DataSource 來作參數的構造方法: 
          public QueryRunner(DataSource ds) { 
          this.ds = ds; 

          QueryRunner類的主要方法: 
          c. public Object query(Connection conn, String sql, Object[] params, ResultSetHandler rsh) 
          throws SQLException:執行一個查詢操作,在這個查詢中,對象數組中的每個元素值被用來作為查詢語句的置換參數。該方法會自行處理 PreparedStatement 和 ResultSet 的創建和關閉。更重要的是參數 ResultSetHandler 會把從 ResultSet 中獲得的數據轉換成程序需要的數據格式。 
          d. public Object query(String sql, Object[] params, ResultSetHandler rsh) throws SQLException:幾乎與第一種方法一樣;唯一的不同在于它不將數據庫連接提供給方法,并且它是從提供給構造方法的數據源(DataSource) 或使用的setDataSource 方法中重新獲得 Connection。 
          e. public Object query(Connection conn, String sql, ResultSetHandler rsh) throws SQLException :執行一個不需要置換參數的查詢操作。 
          f. public int update(Connection conn, String sql, Object[] params) throws SQLException:用來執行一個更新(插入、更新或刪除)操作。 
          g. public int update(Connection conn, String sql) throws SQLException:用來執行一個不需要置換 

          參數的更新操作。 


          -------------------------------------------------------------------------------- 
          <3> ResultSetHandler接口 
          ResultSetHandler 接口提供了一個單獨的方法: 
          Object handle (java.sql.ResultSet .rs)。 
          -------------------------------------------------------------------------------- 
          <4> ResultSetHandler 接口的實現類 
          a. ArrayHandler:把結果集中的第一行數據轉成對象數組。 
          b. ArrayListHandler:把結果集中的每一行數據都轉成一個對象數組,再存放到 List 中。 
          c. BeanHandler:將結果集中的第一行數據封裝到一個對應的 JavaBean 實例中。 
          d. BeanListHandler:將結果集中的每一行數據都封裝到一個對應的 JavaBean 實例中,存放到 List里。 
          e. ColumnListHandler:將結果集中某一列的數據存放到 List 中。 
          f. KeyedHandler:將結果集中的每一行數據都封裝到一個 Map 里,然后再根據指定的key把每個 Map 再存放到一個 Map 里。 
          g. MapHandler:將結果集中的第一行數據封裝到一個 Map 里,key 是列名,value 就是對應的值。 
          h. MapListHandler:將結果集中的每一行數據都封裝到一個 Map 里,然后再存放到 List。 
          i. ScalarHandler:將結果集中某一條記錄的其中某一列的數據存成 Object。 
          -------------------------------------------------------------------------------- 
          <5> 下面是簡單對這幾個工具類的測試代碼: 
          QueryRunner runner = null; 
          runner = new QueryRunner();// 獲得QueryRunner類的實例對象 
          Connection conn = null; 
          Class.forName("com.mysql.jdbc.Driver");//加載數據庫驅動 
          conn = DriverManager.getConnection("jdbc:mysql://localhost:3309/bookstore", 
          "root", "1230");// 與數據庫建立連接 
          String sql = "SELECT id, name, title, price, yr, description, saleAmount FROM books 

          WHERE id = ?";// 準備 sql 語句 
          List<Book> list = (List) runner.query(conn, sql, new Object[]{"201"}, new 

          BeanListHandler(Book.class));// 運用 QueryRunner 的方法執行 sql 語句,并獲取結果集,從這里可 

          //以看出運用 commons-dbutils 類庫的方便之處,避免了創建 ResultSet 對象來設置參數的麻煩。 
          System.out.println(books.size()); //輸出 books 的元素個數 


          -------------------------------------------------------------------------------- 
          <6> 其它類和接口: 
          a. org.apache.commons.dbutils.QueryLoader類:屬性文件加載器,主要用于加載屬性文件中的 SQL 到內存中。 
          b. org.apache.commons.dbutils.wrappers.SqlNullCheckedResultSet類:該類是用來對sql語句執行完成 

          之后的的數值進行null的替換。 
          c. org.apache.commons.dbutils.wrappers.StringTrimmedResultSet類:去除ResultSet中字段的左右空格。 
          d. org.apache.commons.dbutils.RowProcessor接口:提供了把結果集的行數據轉換成其它格式的功能。它的實現類是org.apache.commons.dbutils.BasicRowProcessor類。 

          posted @ 2009-08-20 14:26 Lanny 閱讀(387) | 評論 (0)編輯 收藏

          XFire配置步驟

          posted @ 2008-12-10 12:57 Lanny 閱讀(283) | 評論 (1)編輯 收藏

          主站蜘蛛池模板: 车致| 鸡西市| 莱阳市| 蓬安县| 漳平市| 仪征市| 尼勒克县| 乐山市| 莒南县| 栾城县| 孙吴县| 固始县| 扶沟县| 惠来县| 广元市| 吐鲁番市| 疏附县| 青田县| 阿鲁科尔沁旗| 农安县| 额济纳旗| 安达市| 东乡族自治县| 平陆县| 手游| 泸西县| 揭西县| 泰顺县| 凉山| 奉新县| 英吉沙县| 皋兰县| 灌南县| 宁远县| 卢湾区| 垦利县| 江北区| 建水县| 宣武区| 抚松县| 平邑县|