第一章 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, 1048576/DB_BLOCK_SIZE)
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, 1048576/DB_BLOCK_SIZE)
JAVA_POOL_SIZE 20000000 between 1000000 and 1000000000
LOCK_SGA FALSE TRUE, FALSE
LOG_ARCHIVE_DEST null 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 PROCESSES
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系统。使用Linux 的groupadd命令创建oinstall组。
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参数remote_login_passwordfile为:exclusive(独占)。
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 * (
+
+
+ )
(n为后台背景量)
对于C/S连接,可以用下列公式估计内存使用量,
+
+
+
+
控制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、 重新布置SG