当前位置:  数据库>其它
本页文章导读:
    ▪写入到blob字段的存储过程      create or replace procedure write2blob(directions blob, v_blob blob, v_pos integer )is .........
    ▪关于JDBC中ResultSet接口的一点细节探究      1、rs = stmt.exeQuery(sql)后,rs肯定不会为null,注意,是rs对象不会为null,而不是其包含的result 2、既然rs不会为null,所以在rs = stmt.exeQuery(sql)后,使用while(rs.next())或者if(rs.next())时就不用判断rs != .........
    ▪Data Guard 配置 Standby Redo Log             Data Guard在最大保护和最高可用性模式下,Standby数据库必须配置 Standby Redo Log              备库创建并配置 Standby Redo Log 是为了能够接收到主库.........

[1]写入到blob字段的存储过程
    来源: 互联网  发布时间: 2013-11-07
create or replace procedure write2blob(directions blob,
                                      v_blob     blob,
                                      v_pos      integer
                                      
                                      )is

  v_1time_maxlength integer; --一次读取的最大长度
  amount            integer; --总长度
  v_blob_sub        blob; --一次读取的长度
  v_index           integer; ---索引
  v_sub_count       integer;
  offset            integer;
  directions2       blob;
begin

  v_1time_maxlength := 32767; --允许的长度
  amount            := length(v_blob); --blob的总长度
  v_sub_count       := amount / v_1time_maxlength + 1; --分成子串的个数
  v_index           := 1; --索引从1开始
  offset            := v_pos;
  directions2       := directions;
  loop
    dbms_output.put_line(length(v_blob));  
  
    DBMS_LOB.read(v_blob, v_1time_maxlength, offset, v_blob_sub); --读至v_blob_sub中
    dbms_lob.writeappend(directions2, length(v_blob_sub), v_blob_sub); --将v_blob_sub中的内容写到字段中
    v_index := v_index + 1;
  
    offset := v_index * v_1time_maxlength + 1;
    exit when v_index > v_sub_count;
  
  end loop;

  dbms_lob.close(directions2);
exception
  when no_data_found then
    dbms_output.put_line('找不到数据');
end;

测试代码:

-- Created on 2013-3-8 by ZHANGXL 
declare 
  -- Local variables here
  i integer;
  v_blob blob;
  directions blob;
  v_post_id number(18):=8814;
begin
  select pt.post_text into v_blob from jforum_posts_text pt where pt.post_id=8817;
  -- Test statements here
  --execute updateblob(jforum_posts_text,post_id,post_text,8817,0,v_blob);
   --update jforum_posts_text pt
    --                       set pt.post_text = EMPTY_BLOB()
    --                     where pt.post_id = v_post_id;
  select pt.post_text into directions from jforum_posts_text pt where  pt.post_id=v_post_id for update; --锁住
  dbms_lob.open(directions, dbms_lob.lob_readwrite);--打开读写流
    write2blob(directions,v_blob,1);
  commit;
end;



表结构:

-- Create table
create table JFORUM_POSTS_TEXT
(
  POST_ID      NUMBER(18) not null,
  POST_TEXT    BLOB,
  POST_SUBJECT VARCHAR2(200),
  ISDELETED    NUMBER(1) default 0
)
tablespace XZFY
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 128
    minextents 1
    maxextents unlimited
  );
-- Create/Recreate primary, unique and foreign key constraints 
alter table JFORUM_POSTS_TEXT
  add primary key (POST_ID)
  using index 
  tablespace XZFY
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );


作者:xinfei0803 发表于2013-3-8 18:07:44 原文链接
阅读:0 评论:0 查看评论

    
[2]关于JDBC中ResultSet接口的一点细节探究
    来源: 互联网  发布时间: 2013-11-07
1、rs = stmt.exeQuery(sql)后,rs肯定不会为null,注意,是rs对象不会为null,而不是其包含的result
2、既然rs不会为null,所以在rs = stmt.exeQuery(sql)后,使用while(rs.next())或者if(rs.next())时就不用判断rs != null;
3、rs.next时,游标最先是指向第一条记录前的位置,所以第一次rs.next后,游标指向的正好是第一条记录(如果有的话)
4、要判断rs的结果是否为空,只要使用一次rs.next方法就行了,如果它返回为false,则证明rs的结果为null
所以最终的代码可以写为:
    public void run() {
        /** 读取数据库** */
        DbTestConn conn = new DbTestConn();
        String sql = "select * from mo_info where mo_state = '1'";
        ResultSet rs = conn.exeQuery(sql);
        //while (!isNull) {
            try {
                while (rs.next()) {
                    tr.setId(rs.getInt(1));
                    tr.setUser(rs.getString(2));
                    tr.setPwd(rs.getString(3));
                    //isNull = false;
                }
            } catch (SQLException e) {
                //isNull = true;
                e.printStackTrace();
            }
        //}
    }
作者:communicate_ 发表于2013-3-9 10:45:25 原文链接
阅读:0 评论:0 查看评论

    
[3]Data Guard 配置 Standby Redo Log
    来源: 互联网  发布时间: 2013-11-07
       Data Guard在最大保护和最高可用性模式下,Standby数据库必须配置 Standby Redo Log
       
       备库创建并配置 Standby Redo Log 是为了能够接收到主库传过来的日志,用作恢复
       主库创建并配置 Standby Redo Log 是为了在主备切换之后,能够接收到原备库(切换之后的主库)传过来的日志
       
       
       ㈠ 创建 Standby Redo Log
          
          创建的原则:
          ① Standby Redo Log 的文件大小与主库 online redo log 文件大小相同
          ② Standby Redo Log 日志文件组的个数依照下面的原则进行计算:
             Standby redo log组数公式 >= (每个instance日志组个数+1)*instance个数
             例如在我的环境中,只有一个节点,这个节点有三组redo,所以
             Standby redo log组数公式>=(3+1)*1  == 4
             所以需要创建4组Standby redo log
          ④ 每一日志组为了安全起见,可以包含多个成员文件
          

          下面以主库配置 Standby Redo Log 为例:


sys@ORCL> alter database add standby logfile group 4 ('/u01/app/oracle/oradata/ORCL/stdredo001.log') size 50M;

Database altered.

sys@ORCL> alter database add standby logfile group 5 ('/u01/app/oracle/oradata/ORCL/stdredo002.log') size 50M;

Database altered.

sys@ORCL> alter database add standby logfile group 6 ('/u01/app/oracle/oradata/ORCL/stdredo003.log') size 50M;

Database altered.

sys@ORCL> alter database add standby logfile group 7 ('/u01/app/oracle/oradata/ORCL/stdredo004.log') size 50M;

Database altered.


       ㈡ 删除 Standby Redo Log
          
          Standby redo log删除方法:


sys@ORCL> alter database drop standby logfile group 8;

Database altered.
     


       ㈢ 查询 Standby Redo Log
          
          通过V$STANDBY_LOG视图查看standby redo log文件组:


sys@ORCL> select group#,thread#,sequence#,archived,status from v$standby_log;

    GROUP#    THREAD#  SEQUENCE# ARC STATUS
---------- ---------- ---------- --- ----------
         4          0          0 YES UNASSIGNED
         5          0          0 YES UNASSIGNED
         6          0          0 YES UNASSIGNED
         7          0          0 YES UNASSIGNED


作者:linwaterbin 发表于2013-3-9 12:23:25 原文链接
阅读:0 评论:0 查看评论

    
最新技术文章:
▪gc buffer busy/gcs log flush sync与log file sync    ▪让你的PL/SQL更好用    ▪ADO.NET中的非脱机数据库查询
▪参数job_queue_processes与Oracle jobs    ▪11gR2游标共享新特性带来的一些问题以及_cursor...    ▪_library_cache_advice和latch:shared pool、latch:shared poo...
▪SQL: Date Utility    ▪DB2 分区表增加分区    ▪DB2第一步 — 创建表
▪oracle 数据库    ▪插入10万条记录测试    ▪rebuild index VS. rebuild index online
▪如何处理undo tablespace 表空间太大的问题    ▪ado执行存储过程中包含结果集获取输出参数为...    ▪oracle函数的demo
▪Entity Framework 学习建议及自学资源    ▪存储过程的编写    ▪Linux/Unix shell 自动发送AWR report(二)
▪第二章 Oracle恢复内部原理(基础数据结构)    ▪Redis源码学习之【Tcp Socket封装】    ▪Java Jdbc减少与Oracle之间交互提升批量处理性能...
▪南大通用GBase8a Vs Oracle11g 单机测试亲测    ▪oracle 中行列转换    ▪rhel下安装oracle10g+asm---测试环境搭建
▪Redis系列-主从复制配置    ▪MySQL索引与查询优化    ▪INDEX受到NULL值的影响
▪测试人员的SQL语言 系列    ▪SQL数据库基本语句    ▪MySQL Replication常见错误整理[持续更新...]
▪eclipse下建立esper的demo    ▪把oracle rac 转化为单机数据库    ▪Redis系列-存储篇sorted set主要操作函数小结
▪基本的SQL*Plus报表和命令    ▪druid简单教程    ▪11g调度--scheduler使用
▪EF基础一    ▪db2存储过程中循环语句while do的continue有没有...    ▪oracle 创建DBLINK
▪DB2数据库备份还原    ▪Warning: prerequisite DBD::mysql 1 not found错误解决方...    ▪innotop性能监视mysql,innodb工具
▪数据迁移:DataGuard配置    ▪QX项目实战-19.跨库数据同步    ▪Mysql EXPLAIN
▪Oracle 11g AWR 系列七:Active Session History (ASH) 报...    ▪Oracle 11G新特性(共36个)    ▪父子节点问题
▪OEM简介及按钮乱码问题    ▪NoSql之MongoDB的常用类管理    ▪ORA-39700: database must be opened with UPGRADE option
▪node.js 访问redis数据库,pub/sub    ▪使用DBMS_REDEFINITION在线重定义分区表    ▪SQL Developer 使用问题与解决方法汇总
▪oralce 11g dataguard 概念    ▪ORA-30004 错误处理    ▪oracle分组函数rollup,cube
▪Sql Developer 使用问题与解决方法汇总    ▪Configure Oracle Dataguard Primary-ASM to Physical-ASM    ▪Oracle Data Guard 理论知识
▪Control File 恢复    ▪Oracle数据文件收缩    ▪Oracle 11g AWR 系列五:如何生成 AWR 报告?
▪Wireshark数据包分析实战(第2版)    ▪MySql用户权限控制    ▪db2和oracle查询序列区别
▪更新blob字段的存储过程    ▪MySQLReport分析报告三    ▪DB2中的序列
▪Oracle中DBMS_RANDOM.STRING 的用法    ▪SQL SERVER无法安装成功,sqlstp.log文件提示[未发...    ▪Data Guard 部署物理备库的 10 大注意事项
▪万能数据库查询分析器使用技巧之(九)    ▪SQL 自定义Split函数    ▪视图 v$sql,v$sqlarea,$sqltext,v$sqltext_with_newlines 的...
▪Data Guard Standby_archive_dest 和 Log_archive_dest_n 的...    ▪机房收费系统数据库设计(一)    ▪利用putty的SSH tunnel连接Oracle
▪DBCA建库偶遇ORA-27125    ▪使用PowerPivot建立简单的分析模型    ▪Linux/Unix shell 自动发送AWR report
▪写入到blob字段的存储过程    ▪关于JDBC中ResultSet接口的一点细节探究    ▪Data Guard 配置 Standby Redo Log
▪linux下redis的安装    ▪windows下redis的安装    ▪手动创建数据库步骤(简单翻译官方文档)
▪Ubuntu安装Mongodb    ▪SQL CLR应用    ▪redis的配置文件参数--详细说明
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3