第一章 Oraclei 系统管理
第一节 参数设置
为LINUX设置Oracle环境变量
参数 说明 解说
EPC_DISABLED 功能 取消Oracle跟蹤
语法 true /false
NLS_LANG 功能 指明输出的语言字符集
语法 language_territorycharacterset
ORA_NLS 功能 指明语言字符集的储存路径
语法 $ORACLE_HOME/ocommon/nls/admin/data
ORACLE_BASE 功能 指明Oracle的基本路径
语法 directory_path
例子 /u/oracle
ORACLE_HOME 功能 指明Oracle包含的软件目录
语法 directory_path
例子 $ORACLE_BASE/product/
ORACLE_PATH 功能 指明Oracle应用程序的搜索路径
语法 directory:directory:directory
例子 /u/oracle/adhoc//bin:
ORACLE_SID 功能 Oracle系统标志符
例子 ORCL
ORACLE_TRACE 功能 跟蹤数据库安装的标志
值域 T/其他
ORAENV_ASK 功能 控制是否提示ORACLE_SID和ORACLE_HOME
值域 NO/其它
SQLPATH 功能 设置SQL*Plus搜索文件loginsql的路径
例子 /home:/home/oracle:/u/oracle
TNS_ADMIN 功能 设置Net的环境路径
例子 $ORACLE_HOME/network/admin
TWO_TASK 功能 设置在tnsnamesora中定义Net连接的缺省字符串
例子 PRODDB_TCP
使用OracleI的LINUX环境变量
参数 说明 解说
CLASSPATH 功能 使用Java功能
例子 JRE_Location$ORACLE_HOME/product/jlib $ORACLE_HOME/product/jlib
DISPLAY 功能 使用X_工具
例子 hostname:display(单色为)/:
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/X:$ORACLE_HOME/bin:$HOME/bin:
SHELL 功能 说明所采用的命令编辑器
例子 /bin/sh
TERM 功能 Oracle工具包和Linux工具及终端类型
例子 vt
TMPDIR 功能 指明临时文件空间
例子 /u/oracle/tmp
XENVIRONMENT 功能 设置XWINDOWS环境
缺省的初始化参数
可以启动SQL*Plus执行SHOW PARAMETERS就可以查询系统参数
参数 缺省值 值域
BACKGROUND_DUMP_DEST ?/rdbms/log 有效路径名
BITMAP_MERGE_AREA_SIZE unlimited
COMMIT_POINT_STRENGTH
CONTROL_FILES ?/dbs/cntrloracle_siddbf Valid file names
CREATE_BITMAP_AREA_SIZE unlimited
DB_BLOCK_BUFFERS MB of buffers unlimited
DB_BLOCK_SIZE KB KB
DB_FILES
DB_FILE_DIRECT_IO_COUNT (maximum ) – /block size
DB_FILE_MULTIBLOCK_READ_COUNT min(DB_BLOCK_BUFFERS/ /DB_BLOCK_SIZE)
DISTRIBUTED_TRANSACTIONS / TRANSACTIONS unlimited
HASH_AREA_SIZE *SORT_AREA_SIZE unlimited
HASH_MULTIBLOCK_IO_COUNT (selftuned) min( DB_BLOCK_BUFFERS/ /DB_BLOCK_SIZE)
JAVA_POOL_SIZE between and
LOCK_SGA FALSE TRUE FALSE
LOG_ARCHIVE_DEST null Valid directory names
LOG_ARCHIVE_FORMAT %t_%sdbf Valid file names
LOG_BUFFER max(KBKB*CPU_COUNT) unlimited
LOG_CHECKPOINT_INTERVAL unlimited
MTS_LISTENER_ADDRESS ADDRESS=address
MTS_MAX_DISPATCHERS BetweenMTS_DISPATCHERS and PROCESSES
MTS_MAX_SERVERS *MTS_SERVERSif MTS_SERVERS> else between MTS_SERVERS and PROCESSES
MTS_SERVERS if MTS_DISPATCHERS is specified else between and PROCESSES
NLS_LANGUAGE AMERICAN Valid language names
NLS_TERRITORY AMERICA Valid territory names
OBJECT_CACHE_MAX_SIZE_PERCENT unlimited
OBJECT_CACHE_OPTIMAL_SIZE KB KB unlimited
OPEN_CURSORS unlimited
OS_AUTHENT_PREFIX ops$ Arbitrary string
PROCESSES if notPARALLEL_AUTOMATIC_TUNING unlimited
SHARED_POOL_SIZE MB on bit MB on bit unlimited
SORT_AREA_SIZE unlimited
制定数据库的参数
参数 缺省值 最大值
MAXDATAFILES
MAXINSTANCES
MAXLOGFILES
MAXLOGMEMBERS
MAXLOGHISTORY
管理专门的帐号及组
)Linux帐号
oracle 具有CREATE STARTUP SHUTDOWN and CONNECT as
INTERNAL权限
root 具有Linux最大权限
)Oracle服务器帐号
SYS OracleI标准DBA权限是数据字典的所有基本表的用户
SYSTEMOracleI标准DBA权限 可以创建表和视图
)特殊的Linux用户组
dba group Oracle软件的拥有者这一组的成员具有SQL*Plus的特殊权限功
能
oinstall所有能在ORACLE_HOME下安装的用户必须属于这一组
Oper 这是可选的Linux用户组所有成员具有OPERATOR权限
Root 只有ROOT用户才属于这一组
安全管理
)用户组与安全
l 在OracleI安装之前必须创建具有特殊权限的数据库管理员Linux用户组建议把oinstall设置为OracleI的主要组而DBA为次要组使用Linux 的groupadd命令创建DBA组
l 创建oinstall用户组该组拥有oraInventory的安装而且可以安装和升级OracleI系统使用Linux 的groupadd命令创建oinstall组
l 虽然所有具有DBA权限可以属于DBA组但是oracle帐号必须属于oinstall
)服务器管理命令安全
下列命令不要轻易授权给ORACLE和DBA组之外的任何用户组
STARTUP
SHUTDOWN
CONNECT INTERNAL
)数据文件的安全
安装OracleI的用户ID拥有Oracle文件必须把这些文件设置成而且该ID拥有包含这些文件的目录
Oracle Universal Installer自动的设置oracle执行权限
rwsrsx oracle dba Mar : oracle
也可以用手动的方法设置
$ chmod $ORACLE_HOME/bin/oracle
)远程密码及安全
本地密码文件在$ORACLE_HOME/dbs目录下的一个包含用户名/密码信息的单一数据库如果在机器上有重复的$ORACLE_HOME和一些分散的密码文件必须设置initsidora参数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=/u/app/oracle/product//dbs/orapwV
password=Vpw entries=
l 从远程PC机连接数据库
用户可以通过PC机按下列操作进行
SQL> connect internal/dba_password@alias as {sysdba|sysoper}
l 远程认证
根据下列的initsidora参数可以控制远程登录的行为
OS_AUTHENT_PREFIX 使用ops$帐号
REMOTE_OS_AUTHENT Enables/disables ops$帐号连接
REMOTE_OS_ROLES 远程连接时Enables/disables角色
第二节 估计OracleI的内存使用
用以下公式估计内存使用量
+ + n * ( + + < bytes for the stack>
+ < bytes for the processes user area>)
(n为后台背景量)
对于C/S连接可以用下列公式估计内存使用量
+ + < bytes for the stack>
+ < bytes for processes user area>
+ 控制SGA
计算SGA
(DB_BLOCK_BUFFERS x DB_BLOCK_SIZE)
+ SORT_AREA_SIZE
+ SHARED_POOL_SIZE
+ LOG_BUFFER
+ JAVA_POOL_SIZE
+ LARGE_POOL_SIZE
重新布置SG