从来不在论坛发帖子,刚到一公司学会如何提高影响力。 原来就这么搞阿!

发布新日志

  • Linux 下安装oracle9i 的一些问题

    2009-02-09 17:55:24

    在linux 下安装oracle常常遇到这样那样的问题,我今天把这些问题罗列一下,以后注意:

    1.通过vnc远程安装的时候,在通过vncview连上linux后,启动./runinstall.sh 有一步是需要运行xhost + 是对Xwindow的一个权限的操作,但是有时就是碰到链接不上等错误,处理办法是吧vnc目录下的.XAuthoriza 这个文件删除,重新执行xhost +就可以通过。

    2. linux 的补丁包一定要打全,不然的话就会在安装的最后遇到很多问题,Error invoking ...*.mk 这样的错误,需要打的开发包如下:compat-libstdc++-7.3-2.96.122  compat-gcc-c++-7.3-2.96.122 
    compat-libstdc++-devel-7.3-2.96.122  compat-db-4.0.14-5  compat-gcc-7.3-2.96.122 
    tcl-devel-8.3.5-92.i386.ipm openmotif21-2.1.30-8 setarch-1.3-1 compat-oracle-rhel4-1.0-5.i386.rpm compat-libcwait-2.1-1.i386.rpm 装这些包的时候最好用yum或类似的工具来安装可以把所以依赖的包都能打上,比较省力气。

    3. 用dbca建库时候报错 "jre was not found /usr/oracle/product/oracle9.2/oracle.swd.jre/bin/i386/native_thread/jre" 解决办法定位124行在{oracle_home}/bin/dbca文件,把这if语句段全部注释掉,只需留下 $JRE_DIR/bin/jre -native -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS 这句就可以了

    先这几个了,后面继续

  • 修改redolog的方法,新增,扩展,删除

    2009-02-09 10:39:41

    --创建2个新的日志组
    alter database add logfile group 4 ('D:\ORACLE\ORADATA\ORADB\REDO04_1.LOG') size 1024k;
    alter database add logfile group 5 ('D:\ORACLE\ORADATA\ORADB\REDO05_1.LOG') size 1024k;

    --切换当前日志到新的日志组,目的使得修改的日志组非Active 状态
    alter system switch logfile;
    alter system switch logfile;

    --删除旧的日志组
    alter database drop logfile group 1;
    alter database drop logfile group 2;
    alter database drop logfile group 3;

    --操作系统下删除原日志组1、2、3中的文件

    --重建日志组1、2、3
    alter database add logfile group 1 ('/home/oracle/ORADATA/redotest/REDO01_1.LOG') size 500M;
    alter database add logfile group 2 ('/home/oracle/ORADATA/redotest/REDO02_1.LOG') size 500M;
    alter database add logfile group 3 ('/home/oracle/ORADATA/redotest/REDO03_1.LOG') size 500M;

  • supplemental log

    2009-02-09 10:16:19

    因为在oracle里在做update操作时候,有些信息是不技术redo log,例如主键或唯一键等,这样在根据redolog 来解析数据是时候你就不知道具体那行数据被修改,如果根据rowid 来做key值的,在不同数据库里脱离了块,rowid也就没有任何意义了,所以oracle提供了supplemenetal log,通过配置启动它,oracle会在redo log里技术主键或唯一键的信息。具体修改方法如下:

    --停止supplemental log

    alter database drop supplemental log data

    --默认启动方法不是完全启动,建议使用下面的指定启动的方法

    alter database add supplemental log data

    --指定具体的启动的项对应v$database 中的supplemental_log_data_pk,supplemental_log_data_ui
    alter database add supplemental log data (primary key ,unique index) columns

    --检查修改结果

    select supplemental_log_data_min,supplemental_log_data_pk,supplemental_log_data_ui
    from v$database

  • oracle 9i 多种数据类型建表和插入数据脚本

    2009-02-09 09:59:48

    create table t_single_char(id int , data_desc CHAR(20) , PRIMARY KEY (id) )
    /

    create table t_single_varchar(id int , data_desc VARCHAR(100) , PRIMARY KEY (id) )
    /

    create table t_single_varchar2(id int , data_desc VARCHAR2(100) , PRIMARY KEY (id) )
    /

    create table t_single_nchar(id int , data_desc NCHAR(20) , PRIMARY KEY (id) )
    /

    create table t_single_nvarchar2(id int , data_desc NVARCHAR2(100) , PRIMARY KEY (id) )
    /

    create table t_single_number(id int , data_desc NUMBER(5) , PRIMARY KEY (id) )
    /

    --please ignore the follwing twe table , the data type is don't supported in oracle9i
    --create table t_single_binary_double(id int , data_desc BINARY_DOUBLE , PRIMARY KEY (id) )
    --create table t_single_binary_float(id int , data_desc BINARY_INTEGER , PRIMARY KEY (id) )


    create table t_single_date(id int , data_desc DATE , PRIMARY KEY (id) )
    /

    create table t_single_timestamp( id int , data_desc TIMESTAMP(3) , PRIMARY KEY (id) )
    /

    create table t_single_timestamp_zone( id int , data_desc TIMESTAMP(3) WITH TIME ZONE , PRIMARY KEY (id) )
    /

    create table t_single_timestamp_local_zone( id int , data_desc TIMESTAMP(3) WITH LOCAL TIME ZONE, PRIMARY KEY (id) )
    /

    create table t_single_raw(id int , data_desc RAW(10) , PRIMARY KEY (id) )
    /

    create table t_single_long_raw(id int , data_desc LONG RAW, PRIMARY KEY (id) )
    /

    create table t_single_clob(id int , data_desc CLOB, PRIMARY KEY (id) )
    /

    create table t_single_nclob(id int , data_desc NCLOB, PRIMARY KEY (id) )
    /

    create table t_single_ROWID(id int , data_desc ROWID ,PRIMARY KEY (id) )
    /

    create table t_single_nologging  (id int , data_desc varchar2(100) ,primary key (id)) nologging
    /

    ---Insert table

    select seq_id.nextval into j from dual;
    select seq_id.currval into i from dual;

    --insert into one record to each table
    insert into T_SINGLE_CHAR values(j,'test');
    insert into T_SINGLE_NCHAR values(i,'test');
    insert into T_SINGLE_NVARCHAR2 values(i,'test');
    insert into T_SINGLE_VARCHAR values(i,'test');
    insert into T_SINGLE_VARCHAR2 values(i,'test');
    insert into T_SINGLE_NUMBER values(i,10000.00);
    insert into T_SINGLE_DATE values(i,sysdate);
    insert into T_SINGLE_LONG_RAW values(i, hextoraw('ff'));
    insert into T_SINGLE_RAW values(i, hextoraw('dd'));
    insert into T_SINGLE_ROWID
    select i, DBMS_ROWID.ROWID_CREATE(1,24532,5,65,ROWNUM)   from dual;
    insert into T_SINGLE_TIMESTAMP values(i,SYSTIMESTAMP );
    insert into T_SINGLE_TIMESTAMP_LOCAL_ZONE values(i ,SYSTIMESTAMP );
    insert into T_SINGLE_TIMESTAMP_ZONE values(i,SYSTIMESTAMP);
    insert into T_SINGLE_CLOB values(i,empty_clob());
    insert into T_SINGLE_NCLOB values(i,empty_clob());


     

数据统计

  • 访问量: 7525
  • 日志数: 17
  • 建立时间: 2009-01-18
  • 更新时间: 2009-02-19

RSS订阅

Open Toolbar