`

Solaris 10下 Oracle 11G proc 的C程序示例(转)

 
阅读更多

Solaris 10下 Oracle 11G proc 的C程序示例

www.diybl.com    时间 : 2010-09-15  作者:网络   编辑:huyang629 点击:   [ 评论 ]

 

要做一个Solaris 下的C程序,要求访问Oracle 数据库。试着写了个Sample。
这个Sample均是Select语句,
第一个是查询单条 记录,单个 字段;
第二个是查询单条 记录,多个 字段,不同数据类型;
第三个是查询多条 记录,多个 字段,不同数据类型;

参考:
Oracle 9i Database List of Books
http://download.oracle .com/docs/cd/B10501_01/nav/docindex.htm
    -> << Proc*C/C++ Precompiler Programmer's Guide >>

嵌入式SQL(E-SQL)简介3
http://bbs.chinaunix.net/thread-164775-1-1.html


环境
Solaris 10 (SunOS JAL001 5.10 Generic_141445-09 i86pc i386 i86pc)
SunStudio12u1-SunOS-x86-tar-ML.tar.bz2
Oracle 11g
basic-11.2.0.1.0-solaris -x86.zip (Oracle 11g 32bit 客户端类库,解压至 ${ORACLE _HOME}/ lib32 下,并 ln -s libclntsh.so.11.1 libclntsh.so)

环境变量
/etc/profile

export PS1= "\u@\h \W\$ "

export JAVA_HOME= / export/ home/ data/ jdk1. 6. 0_21

export SUNSTUDIO_HOME= / export/ home/ data/ sunstudio12. 1

export TMP= / tmp
export TMPDIR= $ TMP

export ORACLE _BASE= / export/ home/ oracle / oracle 11g
export ORACLE _HOME= $ { ORACLE _BASE} / db_1
export ORACLE _SID= JAL

export CPATH= $ { ORACLE _HOME} / precomp/ public
export LD_LIBRARY_PATH= $ { ORACLE _HOME} / lib32 : / lib/ 32: / usr/ lib: $ { ORACLE _HOME} / odg/ lib
export SHLIB_PATH= $ { LD_LIBRARY_PATH}

export PATH= $ { JAVA_HOME} / bin: $ { SUNSTUDIO_HOME} / bin: $ { ORACLE _HOME} / bin: / usr/ ucb: / usr/ local / bin: / usr/ openwin/ bin: / usr/ ccs/ bin: / usr/ sfw/ bin: / usr/ X11/ bin: $ { PATH}

export DISPLAY= 172. 16. 200. 11: 0. 0
xhost 172. 16. 200. 11


输出结果
proc.out.txt
ps:这个是NetBeans整个的Make和运行的记录,全部给出是为了方便以后查找各种命令及参数。

/ export / home / zhangll / NetBeansProjects / CDS - JAL で "/export/home/data/sunstudio12.1/bin/dmake -f Makefile CONF=Debug" を実行中

dmake : 并列モードをデフォルトとして使用します。
. dmakerc ファイルの设定については、dmake ( 1 ) のマニュアルページを参照してください。
gmake - C ./ sample . build - pre
gmake [ 1 ]: Entering directory ` / export / home / zhangll / NetBeansProjects / CDS - JAL / sample '
#proc INCLUDE=./inc LTYPE=NONE HEADER=hdr INAME=inc/jal_types.h
proc INCLUDE=./inc LTYPE=NONE CHAR_MAP=STRING INAME=src/DBSelect1.sc

Pro*C/C++: Release 11.2.0.1.0 - Production on Wed Jul 14 17:06:09 2010

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

System default option values taken from: /export/home/oracle /oracle 11g/db_1/precomp/admin/pcscfg.cfg

proc INCLUDE=./inc LTYPE=NONE CHAR_MAP=STRING INAME=src/DBSelect2.sc

Pro*C/C++: Release 11.2.0.1.0 - Production on Wed Jul 14 17:06:09 2010

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

System default option values taken from: /export/home/oracle /oracle 11g/db_1/precomp/admin/pcscfg.cfg

proc INCLUDE=./inc LTYPE=NONE CHAR_MAP=STRING INAME=src/DBSelect3.sc

Pro*C/C++: Release 11.2.0.1.0 - Production on Wed Jul 14 17:06:09 2010

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

System default option values taken from: /export/home/oracle /oracle 11g/db_1/precomp/admin/pcscfg.cfg

gmake[1]: Leaving directory `/export/home/zhangll/NetBeansProjects/CDS-JAL/sample'

JAL001 --> 1 个のジョブ
JAL001 --> 2 个のジョブ
gmake - f nbproject / Makefile - Debug . mk SUBPROJECTS = . build - conf
gmake [ 1 ]: Entering directory ` / export / home / zhangll / NetBeansProjects / CDS - JAL '
gmake -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Solaris -x86/cds-jal
gmake[2]: Entering directory `/export/home/zhangll/NetBeansProjects/CDS-JAL'

mkdir - p build / Debug / GNU - Solaris - x86 / sample / src
rm - f build / Debug / GNU - Solaris - x86 / sample / src / DBSelect3 . o . d
gcc - m32 - I ./ sample / inc - L / export / home / oracle / oracle 11g / db_1 / lib32 - lclntsh - c - g - MMD - MP - MF build / Debug / GNU - Solaris - x86 / sample / src / DBSelect3 . o . d - o build / Debug / GNU - Solaris - x86 / sample / src / DBSelect3 . o sample / src / DBSelect3 . c
gcc : - lclntsh : リンクが完了しなかったのでリンカの入力ファイルは使われませんでした
mkdir - p build / Debug / GNU - Solaris - x86 / sample / src
rm - f build / Debug / GNU - Solaris - x86 / sample / src / DBSelect2 . o . d
gcc - m32 - I ./ sample / inc - L / export / home / oracle / oracle 11g / db_1 / lib32 - lclntsh - c - g - MMD - MP - MF build / Debug / GNU - Solaris - x86 / sample / src / DBSelect2 . o . d - o build / Debug / GNU - Solaris - x86 / sample / src / DBSelect2 . o sample / src / DBSelect2 . c
gcc : - lclntsh : リンクが完了しなかったのでリンカの入力ファイルは使われませんでした
mkdir - p build / Debug / GNU - Solaris - x86 / sample / src
rm - f build / Debug / GNU - Solaris - x86 / sample / src / DBSelect1 . o . d
gcc - m32 - I ./ sample / inc - L / export / home / oracle / oracle 11g / db_1 / lib32 - lclntsh - c - g - MMD - MP - MF build / Debug / GNU - Solaris - x86 / sample / src / DBSelect1 . o . d - o build / Debug / GNU - Solaris - x86 / sample / src / DBSelect1 . o sample / src / DBSelect1 . c
gcc : - lclntsh : リンクが完了しなかったのでリンカの入力ファイルは使われませんでした
mkdir - p dist / Debug / GNU - Solaris - x86
gcc - m32 - I ./ sample / inc - L / export / home / oracle / oracle 11g / db_1 / lib32 - lclntsh - o dist / Debug / GNU - Solaris - x86 / cds - jal build / Debug / GNU - Solaris - x86 / sample / src / main . o build / Debug / GNU - Solaris - x86 / sample / src / DBSelect3 . o build / Debug / GNU - Solaris - x86 / sample / src / DBSelect2 . o build / Debug / GNU - Solaris - x86 / sample / src / DBSelect1 . o build / Debug / GNU - Solaris - x86 / sample / src / FileIO . o
gmake [ 2 ]: Leaving directory ` / export / home / zhangll / NetBeansProjects / CDS - JAL '
gmake[1]: Leaving directory `/export/home/zhangll/NetBeansProjects/CDS-JAL'


构筑 成功。 终了値 0。

/ export / home / zhangll / NetBeansProjects / CDS - JAL で "/export/home/zhangll/NetBeansProjects/CDS-JAL/dist/Debug/GNU-Solaris -x86/cds-jal" を実行中

---------------------------- select01 ()
ename = [ FORD ]
---------------------------- select02 ()
empno ename job mgr hirdate sal comm deptno
7902 FORD ANALYST 7566 1981 / 12 / 03 00 : 00 : 00 3000 . 00 - 99999 . 99 20
---------------------------- select03 ()
empno ename job mgr hirdate sal comm deptno
7369 SMITH CLERK 7902 1980 / 12 / 17 00 : 00 : 00 800 . 00 - 99999 . 99 20
7499 ALLEN SALESMAN 7698 1981 / 02 / 20 00 : 00 : 00 1600 . 00 300 . 00 30
7521 WARD SALESMAN 7698 1981 / 02 / 22 00 : 00 : 00 1250 . 00 500 . 00 30
7566 JONES MANAGER 7839 1981 / 04 / 02 00 : 00 : 00 2975 . 00 - 99999 . 99 20
7654 MARTIN SALESMAN 7698 1981 / 09 / 28 00 : 00 : 00 1250 . 00 1400 . 00 30
7698 BLAKE MANAGER 7839 1981 / 05 / 01 00 : 00 : 00 2850 . 00 - 99999 . 99 30
7782 CLARK MANAGER 7839 1981 / 06 / 09 00 : 00 : 00 2450 . 00 - 99999 . 99 10
7788 SCOTT ANALYST 7566 1987 / 04 / 19 00 : 00 : 00 3000 . 00 - 99999 . 99 20
7839 KING PRESIDENT - 9999 1981 / 11 / 17 00 : 00 : 00 5000 . 00 - 99999 . 99 10
7844 TURNER SALESMAN 7698 1981 / 09 / 08 00 : 00 : 00 1500 . 00 0 . 00 30
7876 ADAMS CLERK 7788 1987 / 05 / 23 00 : 00 : 00 1100 . 00 - 99999 . 99 20
7900 JAMES CLERK 7698 1981 / 12 / 03 00 : 00 : 00 950 . 00 - 99999 . 99 30
7902 FORD ANALYST 7566 1981 / 12 / 03 00 : 00 : 00 3000 . 00 - 99999 . 99 20
7934 MILLER CLERK 7782 1982 / 01 / 23 00 : 00 : 00 1300 . 00 - 99999 . 99 10

実行 成功。 终了値 0。



源文件
DBSelect1.c
文件: proc.zip
大小: 65KB
下载: 下载

# include < sqlca. h>
# include < stdio. h>
# include < string . h>

/* 1. get an instance of struct SQLCA */
EXEC SQL INCLUDE SQLCA;

int perr01( const char * msg) {
    printf ( "Error occured when %s\n" , msg) ;
    printf ( "{\n" ) ;
    printf ( " sqlcaid = %s\n" , sqlca. sqlcaid) ;
    printf ( " sqlabc = %d\n" , sqlca. sqlabc) ;
    printf ( " sqlcode = %d\n" , sqlca. sqlcode) ;
    printf ( " sqlerrm.sqlerrml = %d\n" , sqlca. sqlerrm. sqlerrml) ;
    printf ( " sqlerrm.sqlerrmc = %s\n" , sqlca. sqlerrm. sqlerrmc) ;
    printf ( " sqlerrp = %s\n" , sqlca. sqlerrp) ;
    printf ( " sqlerrd = %d\n" , sqlca. sqlerrd) ;
    printf ( " sqlwarn = %s\n" , sqlca. sqlwarn) ;
    printf ( " sqlext = %s\n" , sqlca. sqlext) ;
    printf ( "}\n" ) ;
    return 1;
}
int notfound01( ) {
    return 2;
}

void select01( ) {
    printf ( "----------------------------select01()\n" ) ;
    char buf[ 1024] ;
    int errorFlag = 0;
    int notFoundFlag = 0;

    /* 2. declare host variables */
    EXEC SQL BEGIN DECLARE SECTION;
    char user[ 20] = "scott" ;
    char passwd[ 20] = "123456" ;
    char dbStr[ 20] = "JAL" ;
    int empno= 7902;
    VARCHAR ename[ 11] ;
    EXEC SQL END DECLARE SECTION;
    
    /* 3. connect DB server */
    char * msg = "connect db" ;
    EXEC SQL WHENEVER SQLERROR DO errorFlag= perr01( msg) ; /* connection error*/
    EXEC SQL CONNECT : user IDENTIFIED BY : passwd USING : dbStr ;
    if ( errorFlag) {
        exit ( errorFlag) ;
    }
    
    /* 4. query DB */
    EXEC SQL WHENEVER SQLERROR DO errorFlag = perr01( "query DB" ) ; /* query error*/
    EXEC SQL WHENEVER NOT FOUND DO notFoundFlag = notfound01( ) ;
    memset ( ename. arr, NULL , 11) ;
    EXEC SQL SELECT ENAME INTO : ename FROM EMP WHERE EMPNO = : empno;
    if ( errorFlag) {
        exit ( errorFlag) ;
    }

    /* 5. handle data */
    if ( notFoundFlag) {
        printf ( "Not found employee[EMPNO=%d]\n" , empno) ;
    } else {
        memset ( buf, NULL , 11) ;
        memcpy ( buf, ename. arr, ename. len) ;
        printf ( "ename = [%s]\n" , buf) ;
    }

    /* 6. disconnect DB */
    EXEC SQL ROLLBACK WORK RELEASE ;
}


DBSelect2.sc

# include < sqlca. h>
# include < stdio. h>
# include < string . h>

/* 1. get an instance of struct SQLCA */
EXEC SQL INCLUDE SQLCA;
EXEC SQL BEGIN DECLARE SECTION;
    typedef struct {
        int empno; /* NUMBER(4) */
        char ename[ 10 + 1] ; /* VARCHAR2(10) */
        char job[ 9 + 1] ; /* VARCHAR2(9) */
        int mgr; /* NUMBER(4) */
        char hiredate[ 30] ; /* DATE */
        double sal; /* NUMBER(7,2) */
        double comm; /* NUMBER(7,2) */
        int deptno; /* NUMBER(4) */
    } Emp02;

    typedef struct {
        short empno;
        short ename;
        short job;
        short mgr;
        short hiredate;
        short sal;
        short comm;
        short deptno;
    } IdcEmp02;
EXEC SQL END DECLARE SECTION;

int perr02( const char * msg) {
    printf ( "Error occured when %s\n" , msg) ;
    printf ( "{\n" ) ;
    printf ( " sqlcaid = %s\n" , sqlca. sqlcaid) ;
    printf ( " sqlabc = %d\n" , sqlca. sqlabc) ;
    printf ( " sqlcode = %d\n" , sqlca. sqlcode) ;
    printf ( " sqlerrm.sqlerrml = %d\n" , sqlca. sqlerrm. sqlerrml) ;
    printf ( " sqlerrm.sqlerrmc = %s\n" , sqlca. sqlerrm. sqlerrmc) ;
    printf ( " sqlerrp = %s\n" , sqlca. sqlerrp) ;
    printf ( " sqlerrd = %d\n" , sqlca. sqlerrd) ;
    printf ( " sqlwarn = %s\n" , sqlca. sqlwarn) ;
    printf ( " sqlext = %s\n" , sqlca. sqlext) ;
    printf ( "}\n" ) ;
    return 1;
}
int notfound02( ) {
    return 2;
}

void select02( ) {
    printf ( "----------------------------select02()\n" ) ;
    char buf[ 1024] ;
    int errorFlag = 0;
    int notFoundFlag = 0;

    /* 2. declare host variables */
    EXEC SQL BEGIN DECLARE SECTION;
    /* using for connect DB*/
    char user[ 20] = "scott" ;
    char passwd[ 20] = "123456" ;
    char dbStr[ 20] = "JAL" ;
    int empno= 7902;
    Emp02 emp;
    IdcEmp02 idcEmp;
    EXEC SQL END DECLARE SECTION;

    /* 3. connect DB server */
    char * msg = "connect db" ;
    EXEC SQL WHENEVER SQLERROR DO errorFlag= perr02( msg) ;
    EXEC SQL CONNECT : user IDENTIFIED BY : passwd USING : dbStr ;
    if ( errorFlag) {
        exit ( errorFlag) ;
    }

    /* 4. query DB */
    EXEC SQL WHENEVER SQLERROR DO errorFlag = perr02( "query DB" ) ;
    EXEC SQL WHENEVER NOT FOUND DO notFoundFlag = notfound02( ) ;
    /*EXEC SQL SELECT EMPNO, ENAME, JOB, MGR, TO_CHAR(HIREDATE,'YYYY/MM/DD HH24:MI:SS'), SAL, COMM, DEPTNO
        INTO :emp.empno:idcEmp.empno, :emp.ename:idcEmp.ename,
        :emp.job:idcEmp.job, :emp.mgr:idcEmp.mgr, :emp.hiredate:idcEmp.hiredate,
        :emp.sal:idcEmp.sal, :emp.comm:idcEmp.comm, :emp.deptno:idcEmp.deptno
        FROM EMP WHERE EMPNO = :empno;*/

    EXEC SQL SELECT EMPNO, ENAME, JOB, MGR,
            TO_CHAR( HIREDATE, 'YYYY/MM/DD HH24:MI:SS' ) , SAL, COMM, DEPTNO
        INTO : emp INDICATOR : idcEmp
        FROM EMP
        WHERE EMPNO = : empno;
    if ( errorFlag) {
        exit ( errorFlag) ;
    }

    /* 5. handle data */
    if ( notFoundFlag) {
        printf ( "Not found employee[EMPNO=%d]\n" , empno) ;
    } else {
        printf ( "%-5s %-10s %-10s %-5s %-20s %-10s %-10s %-5s \n" , "empno" ,
                "ename" , "job" , "mgr" , "hirdate" , "sal" , "comm" , "deptno" ) ;
       
        emp. hiredate[ 19] = NULL ;

        printf ( "%-5d %-10s %-10s %-5d %-20s %-10.2f %-10.2f %-5d \n" ,
                emp. empno, emp. ename, emp. job,
                - 1 = = idcEmp. mgr ? - 9999 : emp. mgr,
                - 1 = = idcEmp. hiredate ? "" : emp. hiredate,
                - 1 = = idcEmp. sal ? - 99999. 99 : emp. sal,
                - 1 = = idcEmp. comm ? - 99999. 99 : emp. comm,
                - 1 = = idcEmp. deptno ? - 99 : emp. deptno) ;
    }

    /* 6. disconnect DB */
    EXEC SQL ROLLBACK WORK RELEASE ;
}


DBSelect3.sc

#include < sqlca. h>
#include < stdio. h>
#include < string. h>

/* 1. get an instance of struct SQLCA * /
EXEC SQL INCLUDE SQLCA;
EXEC SQL BEGIN DECLARE SECTION;
    typedef struct {
        int empno; /* NUMBER( 4) * /
        char ename[ 10 + 1] ; /* VARCHAR2( 10) * /
        char job[ 9 + 1] ; /* VARCHAR2( 9) * /
        int mgr; /* NUMBER( 4) * /
        char hiredate[ 30] ; /* DATE * /
        double sal ; /* NUMBER( 7, 2) * /
        double comm; /* NUMBER( 7, 2) * /
        int deptno; /* NUMBER( 4) * /
    } Emp03;

    typedef struct {
        short empno;
        short ename;
        short job;
        short mgr;
        short hiredate;
        short sal ;
        short comm;
        short deptno;
    } IdcEmp03;
EXEC SQL END DECLARE SECTION;

int perr03( const char * msg) {
    printf( "Error occured when %s\n" , msg) ;
    printf( "{\n" ) ;
    printf( " sqlcaid = %s\n" , sqlca. sqlcaid) ;
    printf( " sqlabc = %d\n" , sqlca. sqlabc) ;
    printf( " sqlcode = %d\n" , sqlca. sqlcode) ;
    printf( " sqlerrm.sqlerrml = %d\n" , sqlca. sqlerrm. sqlerrml) ;
    printf( " sqlerrm.sqlerrmc = %s\n" , sqlca. sqlerrm. sqlerrmc) ;
    printf( " sqlerrp = %s\n" , sqlca. sqlerrp) ;
    printf( " sqlerrd = %d\n" , sqlca. sqlerrd) ;
    printf( " sqlwarn = %s\n" , sqlca. sqlwarn) ;
    printf( " sqlext = %s\n" , sqlca. sqlext) ;
    printf( "}\n" ) ;
    return 1;
}
int notfound03( ) {
    return 2;
}

void select03( ) {
    printf( "----------------------------select03()\n" ) ;
    char buf[ 1024] ;
    int errorFlag = 0;
    int notFoundFlag = 0;

    /* 2. declare host variables * /
    EXEC SQL BEGIN DECLARE SECTION;
    /* using for connect DB* /
    char user[ 20] = "scott" ;
    char passwd[ 20] = "123456" ;
    char dbStr[ 20] = "JAL" ;
    int empno= 7902;
    Emp03 emp;
    IdcEmp03 idcEmp;
    EXEC SQL END DECLARE SECTION;

    /* 3. connect DB server * /
    char * msg = "connect db" ;
    EXEC SQL WHENEVER SQLERROR DO errorFlag= perr03( msg) ;
    EXEC SQL CONNECT : user IDENTIFIED BY : passwd USING : dbStr ;
    if ( errorFlag) {
        exit( errorFlag) ;
    }

    /* 4. query DB * /

    
    EXEC SQL SELECT EMPNO, ENAME, JOB, MGR,
            TO_CHAR( HIREDATE, 'YYYY/MM/DD HH24:MI:SS' ) , SAL , COMM, DEPTNO
        INTO : emp INDICATOR : idcEmp
        FROM EMP
        WHERE EMPNO = : empno;

    EXEC SQL DECLARE C1 CURSOR FOR
        SELECT EMPNO, ENAME, JOB, MGR,
            TO_CHAR( HIREDATE, 'YYYY/MM/DD HH24:MI:SS' ) , SAL , COMM, DEPTNO
        FROM SCOTT. EMP;

    EXEC SQL OPEN C1;

    EXEC SQL WHENEVER SQLERROR DO errorFlag = perr03( "query DB" ) ;
    EXEC SQL WHENEVER NOT FOUND DO notFoundFlag = notfound03( ) ;
    printf( "%-5s %-10s %-10s %-5s %-20s %-10s %-10s %-5s \n" , "empno" ,
                "ename" , "job" , "mgr" , "hirdate" , "sal" , "comm" , "deptno" ) ;
    do{
        EXEC SQL FETCH C1 INTO : emp INDICATOR : idcEmp;
        if ( ! errorFlag && ! notFoundFlag) {
            /* 5. handle data * /
            printf( "%-5d %-10s %-10s %-5d %-20s %-10.2f %-10.2f %-5d \n" ,
                emp. empno, emp. ename, emp. job,
                - 1 = = idcEmp. mgr ? - 9999 : emp. mgr,
                - 1 = = idcEmp. hiredate ? "" : emp. hiredate,
                - 1 = = idcEmp. sal ? - 99999. 99 : emp. sal ,
                - 1 = = idcEmp. comm ? - 99999. 99 : emp. comm,
                - 1 = = idcEmp. deptno ? - 99 : emp. deptno) ;
        }
    }while ( ! errorFlag && ! notFoundFlag) ;

    EXEC SQL CLOSE C1;

    if ( errorFlag) {
        exit( errorFlag) ;
    }

    /* 6. disconnect DB * /
    EXEC SQL ROLLBACK WORK RELEASE ;
}

分享到:
评论

相关推荐

    ORACLE_傻瓜手册.pdf

    ### ORACLE傻瓜手册知识点概览 #### 一、Oracle版本概述 ...- **2002/12 版本2.0**:全面升级了内容结构,新增了Oracle9i安装配置、OCI开发、MySQL安装配置开发等主题,并补充了数据库优化、PROC开发等方面的资料。

    oracle傻瓜手册

    - **版本1.5** (2002/04): 进一步优化了数据库优化和多线程条件下的数据库编程指南,并分离了附录中的程序示例。 - **版本2.0** (2002/12): 重新组织内容结构,增加了Oracle 9i安装配置、OCI开发、MySQL安装配置与...

    oracle傻瓜手册v2.0

    - 示例运行环境:Oracle8i在Solaris8 Intel Platform + Oracle8i R3上,Oracle9i在Red Hat Linux 7.3 + Oracle9i R2上。 - **示例文件**包含在sample.tar文件中。 #### 三、示例表结构:EMP - **表结构**:包含no...

    oracle tracing

    ### Oracle Tracing:深入理解DTrace在Oracle Solaris、Mac OS X及FreeBSD中的动态追踪技术 #### 引言 随着计算机系统复杂性的不断提高,软件开发者和系统管理员面临着越来越多的挑战,尤其是在性能调优和故障排查...

    oracle傻瓜手册v2[1].0.doc

    手册中的所有示例均基于特定的操作系统平台运行:Oracle8i在Solaris8IntelPlatform+Oracle8iR3上验证,而Oracle9i则在RedHatLinux7.3+Oracle9iR2上测试。 ### 安装与配置 手册详细描述了Oracle在不同操作系统上的...

    oracle常见问题 971个.txt

    - Oracle数据库的安装通常包括以下几个步骤:环境准备、安装介质验证、运行安装程序、配置选项设置以及最终的配置验证等。 - 对于内部用户,可以通过`/internal/oracle/sys/change_on_install/system/managerscott...

    oracle8傻瓜手册

    - **1.1 通用设置**:包括创建文件系统时需考虑Oracle对交换分区的需求,一般每个Oracle服务进程需要约10-20MB的交换空间;建立`dba`组和`oracle`用户;确定Oracle软件的安装位置(如`/oracle`)。 - **1.2 UnixWare...

    linux基本知识及与Win的区别,vi基本操作

    - **Oracle(Sun) Solaris:** 用于电信行业。 - **IBM AIX:** 用于小型机。 - **HP HP-UX:** 适用于高性能计算领域。 #### GNU项目与自由软件基金会(FSF) - **GNU项目:** GNU(GNU's Not Unix)是由Richard ...

    OpenWrt Syslog-ng日志功能.docx

    3. **基于磁盘的缓冲机制**:在网络中断情况下,Syslog-ng能够在本地磁盘暂存日志数据,待网络恢复后继续发送,保证了日志顺序的正确性。该功能同样仅在高级版中可用。 4. **直接数据库接入**:支持将日志数据直接...

Global site tag (gtag.js) - Google Analytics