设为首页
加入收藏夹

Oracle8I系统管理员资料
浏览选项:

  第一章 Oracle8i 系统管理
  第一节 参数设置
  1、 为LINUX设置Oracle环境变量
  参数 说明 解说
  EPC_DISABLED 功能: 取消Oracle跟踪
  语法 true /false
  NLS_LANG 功能: 指明输出的语言字符集
  语法 language_territory.characterset
  ORA_NLS33 功能: 指明语言、字符集的储存路径
  语法 $ORACLE_HOME/ocommon/nls/admin/data

  ORACLE_BASE 功能: 指明Oracle的基本路径
  语法 directory_path
  例子: /u1/oracle
  ORACLE_HOME 功能: 指明Oracle包含的软件目录
  语法 directory_path
  例子: $ORACLE_BASE/product/8.1.6
  ORACLE_PATH 功能: 指明Oracle应用程序的搜索路径
  语法 directory1:directory2:directory3
  例子: /u01/oracle/adhoc/8.1.6/bin:.
  ORACLE_SID 功能: Oracle系统标志符
  例子: ORCL
  ORACLE_TRACE 功能: 跟踪数据库安装的标志
  值域 T/其他
  ORAENV_ASK 功能: 控制是否提示ORACLE_SID和ORACLE_HOME
  值域 NO/其它
  SQLPATH 功能: 设置SQL*Plus搜索文件login.sql的路径
  例子: /home:/home/oracle:/u01/oracle
  TNS_ADMIN 功能: 设置Net8的环境路径
  例子: $ORACLE_HOME/network/admin
  TWO_TASK 功能: 设置在tnsnames.ora中定义Net8连接的缺省字符串
  例子: PRODDB_TCP
  2、 使用Oracle8I的LINUX环境变量
  参数 说明 解说
  CLASSPATH 功能: 使用Java功能
  例子: JRE_Location,$ORACLE_HOME/product/jlib, $ORACLE_HOME/product/jlib.
  DISPLAY 功能: 使用X_工具
  例子: hostname:display(单色为0)/135.287.222.12:0
  HOME 功能: 用户的主目录
  LANG or LANGUAGE 功能: 指明输出的语言字符集
  LD_LIBRARY_PATH 功能 设置共享目标库
  例子 /usr/dt/lib:$ORACLE_HOME/lib
  PATH 功能 设置可执行程序的路径,必须包括$ORACLE_HOME/bin.
  例子 /bin:/usr/bin:/usr/local/bin: /usr/bin/X11:$ORACLE_HOME/bin:$HOME/bin:.
  SHELL 功能 说明所采用的命令编辑器
  例子 /bin/sh
  TERM 功能 Oracle工具包和Linux工具及终端类型
  例子 vt100
  TMPDIR 功能 指明临时文件空间
  例子 /u02/oracle/tmp
  XENVIRONMENT 功能 设置X-WINDOWS环境
  3、 缺省的初始化参数
  可以启动SQL*Plus执行SHOW PARAMETERS就可以查询系统参数。
  参数 缺省值 值域
  BACKGROUND_DUMP_DEST ?/rdbms/log 有效路径名

  BITMAP_MERGE_AREA_SIZE 1048576 65536 - unlimited
  COMMIT_POINT_STRENGTH 1 0-255
  CONTROL_FILES ?/dbs/cntrloracle_sid.dbf Valid file names
  CREATE_BITMAP_AREA_SIZE 8388608 65536 - unlimited
  DB_BLOCK_BUFFERS 48MB of buffers 50 - unlimited
  DB_BLOCK_SIZE 2048 2KB - 16KB
  DB_FILES 200 1 - 2000000
  DB_FILE_DIRECT_IO_COUNT 64(maximum 1048576) 0 ? 1048576/block size
  DB_FILE_MULTIBLOCK_READ_COUNT 8 1 - min(DB_BLOCK_BUFFERS/4, 104
  DISTRIBUTED_TRANSACTIONS 1/4 TRANSACTIONS 0 - unlimited
  HASH_AREA_SIZE 2*SORT_AREA_SIZE 0 - unlimited
  HASH_MULTIBLOCK_IO_COUNT 0 (self-tuned) 0 - min(127, DB_BLOCK_BUFFERS/4,
  JAVA_POOL_SIZE 20000000 between 1000000 and 1000000000
  LOCK_SGA FALSE TRUE, FALSE
  LOG_ARCHIVE_DEST Valid directory names

  LOG_ARCHIVE_FORMAT "%t_%s.dbf" Valid file names
  LOG_BUFFER max(512KB,128KB*CPU_COUNT) 66560 - unlimited
  LOG_CHECKPOINT_INTERVAL 0 0 - unlimited

  MTS_LISTENER_ADDRESS ADDRESS=address
  MTS_MAX_DISPATCHERS 5 BetweenMTS_DISPATCHERS and PROCESSES
  MTS_MAX_SERVERS 2*MTS_SERVERS,if MTS_SERVERS> 20, else 20 between MTS_SERVERS and PROCESSES
  MTS_SERVERS 1,if MTS_DISPATCHERS is specified, else 0 between 1 and
  NLS_LANGUAGE AMERICAN Valid language names

  NLS_TERRITORY AMERICA Valid territory names
  OBJECT_CACHE_MAX_SIZE_PERCENT 10 0 - unlimited
  OBJECT_CACHE_OPTIMAL_SIZE 100KB 10KB - unlimited
  OPEN_CURSORS 50 1 - unlimited
  OS_AUTHENT_PREFIX ops$ Arbitrary string

  PROCESSES 30, if notPARALLEL_AUTOMATIC_TUNING 6 - unlimited
  SHARED_POOL_SIZE 64MB on 64-bit, 8MB on 32-bit 300,000 - unlimited
  SORT_AREA_SIZE 65536 0 - unlimited
  4、 制定数据库的参数
  参数 缺省值 最大值
  MAXDATAFILES 30 65,534
  MAXINSTANCES 1 63
  MAXLOGFILES 16 255
  MAXLOGMEMBERS 2 5
  MAXLOGHISTORY 100 65,534
  5、 管理专门的帐号及组
  1)、Linux帐号:
  oracle :具有CREATE, STARTUP, SHUTDOWN, and CONNECT as
   INTERNAL权限。
  root : 具有Linux最大权限。
   2)、Oracle服务器帐号
  SYS: Oracle8I标准DBA权限。是数据字典的所有基本表的用户。
  SYSTEM:Oracle8I标准DBA权限 ,可以创建表和视图。
   3)、特殊的Linux用户组:
  dba group :Oracle软件的拥有者,这一组的成员具有SQL*Plus的特殊权限功
   能
  oinstall:所有能在ORACLE_HOME下安装的用户必须属于这一组。
  Oper: 这是可选的Linux用户组,所有成员具有OPERATOR权限。
  Root: 只有ROOT用户才属于这一组。
  6、 安全管理
  1)、用户组与安全
  l 在Oracle8I安装之前,必须创建具有特殊权限的数据库管理员Linux用户组。建议把
oinstall设置为Oracle8I的主要组,而DBA为次要组。使用Linux 的groupadd命令创建DBA组。
  l 创建oinstall用户组,该组拥有oraInventory的安装而且可以安装和升级Oracle8I系统
  l 虽然所有具有DBA权限可以属于DBA组,但是oracle帐号必须属于oinstall
  2)、服务器管理命令安全
  下列命令不要轻易授权给ORACLE和DBA组之外的任何用户组:
  STARTUP
  SHUTDOWN
  CONNECT INTERNAL
  3)、数据文件的安全
  安装Oracle8I的用户ID拥有Oracle文件,必须把这些文件设置成0600,而且该ID拥有包含
  Oracle Universal Installer自动的设置oracle执行权限:
  -rwsr-s--x 1 oracle dba 443578 Mar 10 23:03 oracle
  也可以用手动的方法设置:
  $ chmod 6751 $ORACLE_HOME/bin/oracle
  4)、远程密码及安全
  本地密码文件在$ORACLE_HOME/dbs目录下的一个包含用户名/密码信息的单一数据库。如
果在机器上有重复的$ORACLE_HOME和一些分散的密码文件,必须设置initsid.ora参数
  l 运行orapwd
  orapwd命令存在于$ORACLE_HOME/bin目录,可以由oracle软件拥有者运行:
  $ orapwd file=filename password=password entries=max_users
  filename 文件名必须是orapwsid包括全路径
  password INTERNAL和 SYS的初始化密码
  max_users 连接SYSDBA 或 SYSOPER用户的最大数.
  例如:
  $ orapwd file=/u01/app/oracle/product/8.1.6/dbs/orapwV816
  password=V816pw entries=30
  l 从远程PC机连接数据库
  用户可以通过PC机按下列操作进行   SQL> connect internal/dba_password@alias as {sysdba|sysoper}
  l 远程认证
  根据下列的initsid.ora参数可以控制远程登录的行为。
  OS_AUTHENT_PREFIX 使用ops$帐号
  REMOTE_OS_AUTHENT Enables/disables ops$帐号连接
  REMOTE_OS_ROLES 远程连接时Enables/disables角色。
  第二节 估计Oracle8I的内存使用
  用以下公式估计内存使用量:   
  +
  + n * (
  +
  + <8192 bytes for the stack>
  + <2048 bytes for the processes user area>)
  (n为后台背景量)
  对于C/S连接,可以用下列公式估计内存使用量,   
  +
  + <8192 bytes for the stack>
  + <2048 bytes for processes user area>
  +
  控制SGA
  1、 计算SGA
   (DB_BLOCK_BUFFERS x DB_BLOCK_SIZE)
   + SORT_AREA_SIZE
   + SHARED_POOL_SIZE
   + LOG_BUFFER
   + JAVA_POOL_SIZE
   + LARGE_POOL_SIZE
  2、 重新布置SGA
  A、 确定共享内存量
   $ tstshm
  B、 检查tstshm输出的"Segment boundaries"确定虚拟地址的共享内存段
  C、 进入$ORACLE_HOME/rdbms/lib目录执行genksms产生file ksms.s:文件:
  $ cd $ORACLE_HOME/rdbms/lib    $ORACLE_HOME/bin/genksms -b sgabeg > ksms.s
   sgabeg 表示SGA开始地址 ,如果减少该值时会产生如下错误:
  ORA-4030: out of process memory when trying to allocate %s bytes (%s,%s)
  or
  ORA-7324: smpall: malloc error while allocating pga
  D、 关闭当前数据库
  E、 在$ORACLE_HOME/rdbms/lib目录下使oracle可执行化
  $ make -f ins_rdbms.mk ksms.o
   $ make -f ins_rdbms.mk ioracle
  可以使用ioracle进行:
  l backs up the old executable (oracle0)

  l assigns the correct privileges to the new oracle executable
  l moves the new executable into the $ORACLE_HOME/bin directory
  第三节 建立和运行范例
  1、SQL*Loader范例
  SQL*Loader范例的要求:
  l 用户scott/tiger必须有CONNECT 和RESOURCE 角色
  l 表EMP 和 DEPT存在并且清空
  第四节 使网络从新连接
  当系统升级或改变操作系统路径时必须重新连接网络:
  $ relink parameter
  参数值 内容
  all 已经安装的所有部件
  client net_client, otrace, plsql, client_sharedlib
  interMedia ctx, ordimg, ordaud, ordvir, md
  network net_client, net_server, nau, cman, cnames
  oemagent oemagent, odg
  oracle Oracle database executable only
  precomp 所有已经安装的预编译程序
  utilities 应用
  第二章 调整Oracle8i
  第一节 、调整的重要性
  Oracle8I是一个高度优化的软件产品,不断的调整可以使系统执行优化、减少数据瓶颈。
  1、 Linux工具
  l Vmstat
  该命令可以汇报Linux的进程、虚拟内存、内存分页、I/O块、阀值以及CPU活动。下面例
  vmstat 1 8
  l Free
  该命令汇报交换区使用状态。
  2、 SQL脚本
  SQL 脚本utlbstat 和 utlestat可以检测数据库执行并调整SGA的数据结构。这些脚本存
  第二节 、调整内存管理
  1、 分配足够的交换空间
  在Linux(ROOT用户)状态下用下面显示交换区使用情况:
  swapon -s 或 vmstat
  用swapon ?s确定已经使用多少空间,用swapon ?a 增加系统交换空间。
  2、 控制分页
  用vmstat检测分页
  3、 把SGA保留在单共享内存段
  如果没有足够的内存,就不能运行数据库。可以从新编译Linux内核以增加共享内存。
  第三节 、调整磁盘I/O
  1、 调整数据库写入器和写入带宽
  Oracle提供解决防止DBWR阻塞的方案:
  l 使用异步I/O
  l 使用I/O处理
  1)、I/O处理
  I/O处理专门用于处理I/O操作的进程,
  Table 2-1 Initialization Parameters for I/O Slaves
  参数 范围 缺省值
  DISK_ASYNCH_IO TRUE/FALSE TRUE
  TAPE_ASYNCH_IO TRUE/FALSE TRUE
  BACKUP_TAPE_IO_SLAVES TRUE/FALSE FALSE

  DBWR_IO_SLAVES 0 - 999 0
  DB_WRITER_PROCESSES 1-10 1
  DISK_ASYNCH_IO 和 TAPE_ASYNCH_IO允许磁盘和磁带设备进行异步I/O转换。
  当DISK_ASYNCH_IO或TAPE_ASYNCH_IO被设置为无效时,DBWR_IO_SLAVES必须大于0。否则
  DBWR_IO_SLAVES的优化值是4
  DB_WRITER_PROCESSES表示在实例中数据库写入器中的初始化数量,当使用
DBWR_IO_SLAVES时,则不管DB_WRITER_PROCESSES被设置多大,仅有一个写入器进程有效。
  2)、选择适当的文件系统类型
  A、 .ext :Linux扩展文件系统
  B、 .ext2 :Linux第二扩展文件系统
  第四节 、检测磁盘运行
  第三章 管理SQL*Plus
  第四章 使用Oracle预编译器和OCI
  第一节、前言
  Oracle预编辑器是结合数据库的SQL语言和高级语言的应用设计工具。
  1、 预编译器环境文件
  Product Configuration File
  Object Type Translator 8.1.6 ottcfg.cfg
  Pro*C/C++ 8.1.6 pcscfg.cfg
  2、Pro*C/C++
  为了获得更为详细的资料,参考:$ORACLE_HOME/precomp/doc/proc2/readme.doc.
  1)、管理Pro*C/C++
  A、系统配置文件:
   $ORACLE_HOME/precomp/admin/pcscfg.cfg.
  1)、使用Pro*C/C++
  A、 范例程序
   ORACLE提供三种范例程序:C/C++和面向对象程序:
   $ORACLE_HOME/precomp/demo/proc
   $ORACLE_HOME/sqlplus/demo/demobld.sql
  使用makefile, $ORACLE_HOME/precomp/demo/proc/demo_proc.mk创建范例程序,例如:
  $ make -f demo_proc.mk sample1
  B、 也可以使用下面命令达到相同效果:
  $ make -f demo_proc.mk build OBJS=sample1.o EXE=sample1
  通过缺省值,所有程序将动态的连接到客户共享库。
  $ORACLE_HOME/lib/libclntsh.so
  C、 为了让Pro*C/C++能够创建所有C范例程序,输入下面命令:
  $ make -f demo_proc.mk samples
  D、 为了让Pro*C/C++能够创建所有C++范例程序,输入下面命令:
  $ make -f demo_proc.mk cppsamples
  E、 为了让Pro*C/C++能够创建所有面向对象的范例程序,输入下面命令:
  $ make -f demo_proc.mk object_samples
  有些范例程序要求从$ORACLE_HOME/precomp/demo/sql.运行SQL脚本。必须在命令行上加
  $ make -f demo_proc.mk object_samples RUNSQL=run
  2)、用户程序
  makefile, $ORACLE_HOME/precomp/demo/proc/demo_proc.mk,也可以创建用户程序:
  $ make -f demo_proc.mk target OBJS="objfile1 objfile2 ..." EXE=exename
  例如:为了从Pro*C/C++ 原程序myprog.pc 创建程序, myprog , 按照下面某个命令执行
  A、对于C原程序,动态连接客户段共享库:
  $ make -f demo_proc.mk build OBJS=myprog.o EXE=myprog
  B、对于C原程序,静态连接:
  $ make -f demo_proc.mk build_static OBJS=myprog.o EXE=myprog
  C、对于C++原程序,动态连接客户段共享库:
  $ make -f demo_proc.mk cppbuild OBJS=myprog.o EXE=myprog
  C, 对于C++原程序,静态连接
   $ make -f demo_proc.mk cppbuild_static OBJS=myprog.o EXE=myprog
  第二节、OCI
  一、范例程序
  有两种OCI范例程序:C/C++,他们都存在于:$ORACLE_HOME/rdbms/demo目录下。这些都
是由SCOTT/TIGER用户的脚本程序$ORACLE_HOME/sqlplus/demo/demobld.sql创建。
  1、 利用makefile,$ORACLE_HOME/rdbms/demo/demo_rdbms.mk创建范例程序,例如:
  $ make -f demo_rdbms.mk cdemo1
  2、 可以用下面命令运行同样效果:
  $ make -f demo_rdbms.mk build OBJS=cdemo1.o EXE=cdemo1
  3、 所有缺省情况下的程序都自动的连接到共享库:
  $ORACLE_HOME/lib/libclntsh.so.
  4、 按下面命令可以创建所有的C语言OCI程序
  $ make -f demo_rdbms.mk demos
  5、 按下面命令可以创建所有的C++语言OCI程序
  $ make -f demo_rdbms.mk c++demos
  二、用户程序
  利用makefile, $ORACLE_HOME/rdbms/demo/demo_rdbms.mk可以创建用户程序
  例如:$ make -f demo_rdbms.mk target OBJS="objfile1 objfile2 ..."
  EXE=exename
  1、 对于C语言,动态连接客户端共享库
   $ make -f demo_rdbms.mk build OBJS=myprog.o EXE=myprog
  2、对于C语言,静态连接:
  $ make -f demo_rdbms.mk build_static OBJS=myprog.o EXE=myprog
  3、对于C++语言,动态连接客户端共享库
   $ make -f demo_rdbms.mk buildc++ OBJS=myprog.o EXE=myprog
  4、对于C++语言,静态连接:
  $ make -f demo_rdbms.mk buildc++_static OBJS=myprog.o EXE=myprog
  二、Oracle预编译器及OCI连结编译文件
  1、自定义编译
  建议在使用demo_product.mk makefiles创建用户程序时,必须按下面步骤修改makefile
  l 不要修改Oracle的库顺序
  2、不明确的符号
  Oracle提供帮助工具symfind来确定符号是否已经定义,例如:
   $ symfind sqlcex   SymFind - Find Symbol in <**>.a, .o, .so
  ------------------------------------------------------
  Command: /u01/app/oracle/product/8.1.6/bin/symfind sqlcex
  Local Directory: /u01/app/oracle/product/8.1.6
  Output File: (none)
  Note: I do not traverse symbolic links
   Use '-v' option to show any symbolic links
  Locating Archive and Object files ...
  000003c4 T sqlcex
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ./lib/libsql8.a
  00119354 T sqlcex
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ./lib/libclntsh.80
  3、支持线程
  Oracle提供多线程连接库:
  二、Oracle静态及动态连接库
  Set LD_LIBRARY_PATH as follows:
  $ setenv LD_LIBRARY_PATH $ORACLE_HOME/lib
  二、Oracle的信号处理
  Table 4-2 Signals for Two-Task Communications
  SIGCONT 利用two-task驱动管道处理用户进程到oracle进程的异常中断事件
  SIGINT 利用two-task驱动管道中断请求,他仅有用户进程引发,与oracle进程无关
  SIGPIPE 用管道驱动检测通信间的文件结束,又用户进程和oracle进程共同引发
  SIGCLD 与SIGPIPE相似,但仅作用于用户进程,
  SIGTERM 由用户到oracle之间的中断管道处理,但用户按[Ctrl]+[c]时发生,仅由
  SIGIO 由Net8协议指出网络事件来源
  SIGURG 通过Net8 TCP/IP 驱动从客户进程到oracle进程发送out-of-band中断。
  信号处理例子
  /* user side interrupt set */
  word osnsui( /*_ word *handlp, void (*astp), char * ctx, _*/)
  /*
  ** osnsui: Operating System dependent Network Set
  **User-side
  ** Interrupt. Add an interrupt handling procedure
  **astp.
  ** Whenever a user interrupt(such as a ^C) occurs,
  **call astp
  ** with argument ctx. Put in *handlp handle for this
  **handler so that it may be cleared with osncui.
  ** Note that there may be many handlers; each should
  ** be cleared using osncui. An error code is

  **returned if an error occurs.
  */
  /* user side interrupt clear */
  word osncui( /*_ word handle _*/ );
  /*
  ** osncui: Operating System dependent Clear User-side
  **Interrupt.
  ** Clear the specified handler. The argument is the
  **handle obtained from osnsui. An error code is
  ** returned if an error occurs.
  */
  The following is a template for using osnsui() and osncui() in an application
  /*
  ** My own user interrupt handler.
  */
  void sig_handler()
  {
  ...
  }
  main(argc, argv)
  int arc;
  char **argv;
   {
   int handle, err;
   ...
  
   /* set up my user interrupt handler */
   if (err = osnsui(&handle, sig_handler, (char *) 0))
   {
   /* if the return value is non-zero, an error has occurred
   Do something appropriate here. */

   ...
   }
   ...
   /* clear my interrupt handler */
   if (err = osncui(handle))
   {
   /* if the return value is non-zero, an error has occurred
   Do something appropriate here. */

   ...
   }
   ...
  }
  第四章 Net8配置
  第一节、前言
  参考帮助文档:
  Product README File
  Net8 $ORACLE_HOME/network/doc/README.Net8

  Advanced Security Option $ORACLE_HOME/network/doc/README.ASO
  Oracle Intelligent Agent $ORACLE_HOME/network/doc/README.oemagent
  第二节、Net8的核心及特性
  一、 Net8文件及应用
  1、Net8文件的位置
   在Linux缺省位置为:/etc
  Net8按下列顺序查询:
  A、TNS_ADMIN指定的位置
  B、 /etc
  C、$ORACLE_HOME/network/admin
  在安装文件时利用TNS_ADMIN指定Net8位置
  例如:
  在C shell:
  % setenv TNS_ADMIN directory_name
  在Bourne或Korn shell:
  $ TNS_ADMIN=directory_path
  $ export TNS_ADMIN
  2、样本配置文件
  cman.ora, listner.ora, names.ora, sqlnet.ora, and tnsnames.ora等配置在
  二、 配适器(adapters)应用
  Net8提供多种网络协议和命名方法,
  1、为了显示Net8协议,输入命令:
   $ adapters
  2、为了显示可执行的配适器,输入下列命令:
   $ adapters executable
   例如: 显示带Net8协议的oracle执行过程:
   $ adapters oracle
  三、 Oracle的连接管理
  1、多线程服务器
  2、Oracle命名
  3、Net8辅助配置
  第二节、Net8协议支持
  地址说明:
  在initsid.ora文件中,MTS_LISTENER_ADDRESS的数据库初始化参数为Net8设置了IPC 和
  Table 5-2 ADDRESS Specification Summary
  Supported Protocol ADDRESS Specification
  BEQ (ADDRESS = (PROTOCOL = BEQ)(PROGRAM = ORACLE_HOME/bin/oracle)(ARGV0 =
oracleORACLE_SID)(ARGS = '(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL
=BEQ)))')(ENVS = 'ORACLE_HOME=ORACLE_HOME,ORACLE_SID=ORACLE_SID'))
  IPC (ADDRESS = (PROTOCOL=IPC)(KEY=key))

  RAW N/A
  一、BEQ协议
  BEQ协议只能当客户机和服务器在相同的机器的情况下使用:
  1、指定BEQ协议地址:
  (ADDRESS =
  (PROTOCOL = BEQ)
  (PROGRAM = ORACLE_HOME/bin/oracle)
  (ARGV0 = oracleORACLE_SID)
  (ARGS = '(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))')
  (ENVS = 'ORACLE_HOME=ORACLE_HOME,ORACLE_SID=ORACLE_SID')
  )
  Table 5-3 Syntax for BEQ Protocol Connection Parameters
  PROTOCOL 说明协议类型,值为BEQ,大小写不影响
  PROGRAM Oracle执行的全路径
  ARGV0 在ps清单的进程名. 建议值为oracleORACLE_SID.
  ARGS '(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))'
  ENVS ORACLE的环境变量
  Example 5-1 BEQ ADDRESS Specifying a Client
  (ADDRESS =
  (PROTOCOL = BEQ)
  (PROGRAM = /u01/app/oracle/product/8.1.6/bin/oracle)
  (ARGV0 = oracleV816)
  (ARGS = '(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))')
  (ENVS = 'ORACLE_HOME=/u01/app/oracle/product/8.1.6,ORACLE_SID=V816')
  )
  二、IPC协议
  IPC协议与BEQ协议类似,只能当客户机和服务器在相同的机器的情况下使用,不同的是:
  IPC可以检测服务器的多线程环境。
  1、 指定IPC地址
  (ADDRESS=
  (PROTOCOL=IPC)
  (KEY=key)
  )
  Table 5-4 Syntax for IPC Protocol Connection Parameters
  PROTOCOL 说明协议类型,值为IPC,大小写不影响
  KEY 数据库服务器的标志符 (ORACLE_SID).
  Example 5-2 IPC ADDRESS Specifying a Client

  (ADDRESS=
  (PROTOCOL=IPC)
  (KEY=PROD)
  )
  三、RAW协议
  TCP/IP协议
  Oracle公司建议在/etc/services 文件中为每个接点保存一个端口,通常为1521, 如:
  listener 1521/tcp
  它定义在listener.ora文件中。
  1、指定TCP/IP协议地址
  (ADDRESS=
  (PROTOCOL=TCP)
  (HOST=hostname)
  (PORT=port_id)
  )
  Table 5-5 Syntax for TCP/IP Protocol Connection Parameters
  PROTOCOL 说明协议类型,值为TPC,大小写不影响
  HOST 主机名或IP地址
  PORT TCP/IP 端口,数据或/etc/services中指定名,建议值为1521.
  Example 5-3 TCP/IP ADDRESS Specifying a Client

  (ADDRESS=
  (PROTOCOL=TCP)
  (HOST=MADRID)
  (PORT=1521)
  )
  第五章 运行Oracle数据选项
  第一节、Oracle8i interMedia
  Oracle8i interMedia包括下面组件:
  l Text
  l Audio, Video, and Image
  l Locator
  l Web 代理
  一、 Text
  连接:
  $ORACLE_HOME/ctx/sample/api/index.html
  二、Audio, Video, and Image
  样本程序在下列目录:
  $ORACLE_HOME/ord/aud/demo/
  $ORACLE_HOME/ord/img/demo/
  $ORACLE_HOME/ord/vid/demo/
  1、Audio样本脚本
  l auddemo.sql:audio范例,包括下面对象:
  A、 检查interMedia对象
  B、 为audio文件创建样本表
  C、 在audio插入NULL行
  D、 检查行界限
  E、 直接检查所有audio属性
  F、 检查所有audio的调用属性
  G、 使用文件fplugins.sql 和fpluginb.sql,安装内置格式
  l fplugins.sql
  l fpluginb.sql
  参考$ORACLE_HOME/ord/aud/demo下的README.txt文件
  二、 修改和测试Images的样本程序
  interMedia Image演示文件在$ORACLE_HOME/ord/img/demo目录下:
  l 演示范例的安装步骤:
  1、Oracle8i interMedia Image使用SCOTT/TIGER数据库用户,如果没有,必须按下列创
  % svrmgrl   SVRMGRL> connect internal;
  SVRMGRL> create user SCOTT identified by tiger;
  SVRMGRL> grant connect,resource to SCOTT;
  l 创建image演示路径:
  % svrmgrl   SVRMGRL> connect internal;
  SVRMGRL> create or replace directory imgdemodir as `$ORACLE_HOME/ord/img/
  demo';
  l 把目录权限授予PUBLIC   SVRMGRL> grant read on directory imgdemodir to public with grant option;
  l 如果需要创建imgdemo程序
  % cd $ORACLE_HOME/ord/img/demo
  % make -f demo_ordimg.mk imgdemo
  运行演示范例
  Example 6-1 Execute the Demo from the Command Line
  $ imgdemo optional-image-filename
  Dropping table IMGDEMOTAB...
  Creating and populating table IMGDEMOTAB...
  Loading data into cartridge...
  Modifying image characteristics...
  Writing image to file imgdemo.out...
  Disconnecting from database...
  Logged off and detached from server.
  Demo completed successfully.
  2、 Video样本脚本
  l viddemo.sql
  l fplugins.sql
  l fpluginb.sql
  JAVE 样本
  3、 Locator
  该演示范例存在于$ORACLE_HOME/md/demo/geocoder目录下:
  geohttp.sql
  geoindex.sql
  geolocate.sql
  4、 Web Agent
  5、 Oracle8i时间序列演示:
  Description Directory
  Quick-start demo: quick and easy start using Oracle8i Time Series (See
Chapter 1 in Oracle8i Time Series User's Guide.) demo/tsquick
  Usage demo for end users and product developers who want to use existing
Oracle8i Time Series features (See Chapter 1 in Oracle8i Time Series User's
  Electric utility application demonstrating how to compute peak and off-peak
summaries of 15-minute data demo/usageutl
  Java-based retrieval of time series data, using the prototype Oracle8i Time
Series Java API and designed to run in a Web browser (See Chapter 1 in Oracle8i
Time Series User's Guide.) demo/applet
  Simple Java code segments that perform time series operations and print the
results (See Chapter 1 in Oracle8i Time Series User's Guide.) demo/java
  Demo showing the use of administrative tools procedures to "retrofit"
existing time series detail tables; also, how to support time series queries for
multiple qualifier columns in the time series detail table. demo/retrofit
  Advanced-developer demo for those who want to extend Oracle8i Time Series
  OCI demo showing how to call Oracle8i Time Series functions using the Oracle
  PRO*C/C++ demo showing how to call Oracle8i Time Series functions in
applications created using the Oracle Pro*C/C++ Precompiler demo/proc
  Oracle Developer demo showing how to call Oracle8i Time Series functions in
  第六章 优化Oracle结构(OFA)
  Oracle公司建议在安装及配置NET8前先优化结构。
  一、OFA的数据库特征:
  1、文件系统结构:
  A、 向数据库增加数据
  B、 增加用户
  C、 创建数据库
  D、 增加硬件
  2、 平衡I/O负担
  3、 硬件支持
  4、 驱动失效的安全保护
  5、 登录Home路径的完整性
  6、 Linux目录的独立性
  7、 支持当前应用软件的执行
  8、 辨别每个数据库的管理信息
  9、 使用一致的数据库文件名
  A、 数据库文件能够易于与其他文件区别
  B、 不同数据库文件之间容易区别
  C、 控制文件、重做日记文件、数据文件有各自的标志
  D、 必须指明数据文件与表空间之间的连接
  10、 表空间之间的内容必须各字分开
  A、 最小化表空间的闲置空间百分比
  B、 最小化I/O请求
  C、 最大化管理柔性
  11、 协调所有I/O驱动的负载
  12、 OFA在平行服务器上的优点
  A、 管理数据储存在中心位置,以便管理所有数据库
  B、 一个实例的管理数据通过文件名与实例相连
  二、在Linux上OFA的执行
  1、装载点
  A、 创建装载点:Oracle8i要求至少两个装载点,一个给软件,一个给数据库,如果
  执行OFA,要求至少四个,一个给软件,三个给数据库。
  B、 装载点的表达式为:/u01 ,/u01 等
  C、 为巨型数据库(VLDBs)命名装载点,表达式:/q/dm
   q Oracle数据储存的地方
  dm 初始化参数DB_NAME的值
  例如:/u01/oradata/test
  2、 命名目录
  A、 Home路径表示法
  pm 装载点名
  h 标准路径名
  u 目录拥有者的名称
  例如:, /u01/app/oracle, 通常采用/*/app/*.格式
  B、 参考路径名
  l 软件目录:
  目录模式 /pm/h/product/v,
  h 标准路径名
  v 软件版本
  例如: export ORACLE_HOME=/u01/app/oracle/product/8.1.6
  3、 命名文件
  A、管理文件
  为了方便组织管理数据,建议根据h/admin/d/a/方法储存数据库指定的管理文件的子目录
  adhoc ad hoc SQL scripts for a given database
  adump audit files(Set AUDIT_FILE_DEST in configdb_name.ora to point here.
  arch archived redo log files
  bdump background process trace files
  cdump core dump files
  create programs used to create the database
  exp database export files
  logbook files recording the status and history of the database
  pfile instance parameter files
  udump user SQL trace files
  例如:, /u01/app/oracle/admin/sab/adhoc/
  C、 数据文件
  l 控制文件 ,用 /pm/q/d/control.ctl
  l 重做日记文件 , 用/pm/q/d/redon.log
  l 用户数据文件,用/pm/q/d/tn.dbf
  Table A-5 Syntax for Naming Database Files
  pm a mount point name described earlier in this chapter
  q a string distinguishing Oracle data from all other files (usually named
  d The DB_NAME of the database
  t An Oracle tablespace name
  n a two-digit string
  D、 根据不同的需要分解数据段
   Table A-6 Special Tablespace
  SYSTEM data dictionary segments
  TEMP temporary segments
  RBS rollback segments
  USERS miscellaneous user segments
  INDX index associated with data in USERS tablespace
  OEM_REPOSITORY repository for Oracle Enterprise Manager
  DRSYS Oracle interMedia segment
  4、 命名表空间
  虽然ORACLE8i可以允许用长达30个字符长度来命名表空间,但建议用标准的数据库文件名
  注解:不要在数据文件名中包含“tablespace“
  5、在Oracle文件中使用OFA结构
  Table A-7 Directory Structure Syntax for Identifying Classes of Files
  /u[0-9][0-9] user data directories
  /*/home/* user home directories
  /*/app/* user application software directories
  /*/app/applmgr Oracle apps software subtrees
  /*/app/oracle/product Oracle Server software subtrees
  /*/app/oracle/product/8.1.6 Oracle Server 8.1.6 distribution files
  /*/app/oracle/admin/sab sab database administrative subtrees
  /*/app/oracle/admin/sab/arch/* sab database archived log files
  /*/oradata Oracle data directories
  /*/oradata/sab/* sab database files
  /*/oradata/sab/*.log sab database redo log files
  6、OFA文件地图
  / root mount point
   u01/ 'Oracle software' mount point #1
   app/ subtree for app software

   oracle/ home for oracle software owner
   admin/ subtree for database admin files
   TAR/ subtree for Support logs

   db_name1/ admin subtree for db_name1 database
   bdump/ background_dump_dest

   cdump/ core_dump_dest
   udump/ user_dump_dest
   create/ database creation SQL scripts
   pfile/ database init parameter file
   db_name2/ admin subtree for db_name2 database
   doc/ online documentation
   local/ subtree for local Oracle software
   aps6/ an Oracle6 admin package

   aps7/ an Oracle7 admin package
   product/ distribution files
   8.0.5/ ORACLE_HOME for 8.0.5 instances
   8.1.6/ ORACLE_HOME for 8.1.6 instances
   oraInventory subtree for Oracle8i inventory
   logs installation log files
   home subtree for login home directories
   ltb/ home for a user
   sbm/ home for a user
   u02/ 'user data' mount point #2
   home/ subtree for login home directories
   cvm/ home for a user
   vrm home for a user
   oradata/ subtree for Oracle data
   db_name1/ subtree for db_name1 database files
   db_name2/ subtree for db_name2 database files
   u03/ 'user data' mount point #3
   oradata/ subtree for Oracle data
   db_name1/ subtree for db_name1 database files
   db_name2/ subtree for db_name2 database files
   u04/ 'user data' mount point #4

   oradata/ subtree for Oracle data
   db_name1/ subtree for db_name1 database files
   db_name2/ subtree for db_name2 database files
   /var
   opt/
   /etc location of oratab and oraInst.loc
   /usr
   local/
   bin/ oraenv/coraenv/dbhome scripts
  6、 多实例的OFA数据库文件地图
  u01/ app/oracle/admin/sab/ administrative directory for sab database
   adhoc/ directory for miscellaneous scripts
   arch/ log archive dest for all instances
   redo001.arc archived redo log file

   bdump/ directory for background dump files
   inst1/ background dump dest for inst1 instance
   inst2/ background dump dest for inst2 instance
   cdump/ directory for core dump files
   inst1/ core dump dest for inst1 instance
   inst2/ core dump dest for inst2 instance
   create/ directory for creation scripts
   1-rdbms.sql SQL script to create inst database
   exp/ directory for exports
   19990120full.dmp January 20, 1999 full export dump file
   export/ directory for export parfiles
   import/ directory for import parfiles
   logbook/ directory for inst logbook entries
   inst1/ directory for inst1 instance reports
   params.lst v$parameter report for inst1 instance
   inst2/ directory for inst2 instance reports
   params.lst v$parameter report for inst2 instance
   user.lst dba_users report
   pfile/ directory for instance parameter files
   inst1/ directory for inst1 instance parameters
   init instance parameters for inst1 instance
   inst2/ directory for inst2 instance parameters
   init instance parameters for inst2 instance
   udump/ directory for user dump files
   inst1/ user dump dest for inst1 instance
   inst2/ user dump dest for inst2 instance
  8 、目录结构
  l ORACLE_BASE目录
  admin administrative files
  doc online documentation
  local subtree for local Oracle software
  product Oracle software
  l ORACLE_HOME目录
  Table A-11 ORACLE_HOME Directory Structure and Content
  assistants configuration Assistants
  bin binaries for all products
  ctx interMedia Text options
  dbs initsid.ora, lksid
  install install related files
  lib Oracle product libraries
  javavm Java Virtual Machine
  jdbc JDBC drivers
  jlib Java classes
  md Spatial options
  mlx Xerox Stemmer (for interMedia Text options)
  network Net8
  nlsrtl NLS runtime loadable data
  ocommon common files for all products
  odg data gatherer
  opsm Parallel Server Manager Components
  oracore core libraries
  orb Object Request Broker
  ord data options
  otrace Oracle TRACE
  plsql PL/SQL
  precomp precompilers
  rdbms server files and libraries required for the database
  slax SLAX parser
  sqlplus SQL*Plus
  svrmgr Server Manager
  sysman System Management
  
[首页]    [上一页]    [下一页]    [末页]    

Copyright © 2004 wanxu.com All Rights Reserved