1 参数文件

instance 实例在启动阶段读取初始化参数文件(init parameter files) 该文件管理实列相关启动参数。

基本初始化参数:大约10-20个左右 (见联机文档)

初始化参数 300个左右

隐含参数:oracle 不推荐使用


两种形式的的参数


  1. 动态参数:可以直接在内存中修改,并对当前instacne 立即生效

  2. 静态参数:必须修改参数文件,下次启动后生效


oracle 体系_第二章实例管理(11G)_第1张图片


immediate 动态参数  false 静态参数   deferred 延迟参数 session 下次连接有效


两种参数文件

pfile:必须通过文本编辑器修改参数,便于一次修改多个参数,缺省的路径以及命名方式$ORACLE_HOME/dbs/initSID.ora

spfile: 二进制文件,不可以通过编辑器修改,通过linux 命令 strings 可以查看内容。路径命名方式是 $ORACLE_HOME/dbs/spfilesid.ora

修改spfile文件的方法有如下几种


alter system set 参数=值 [scope=memory | spfile | both ]

scope=memory 参数修改立刻生效,但不修改spfile文件。

scope=spfile 修改了spfile文件,重启后生效

scope=both 前两种都要满足,要求spfile参数文件存在

如果不写scope限定词,默认是both 

如果不修改spfile 将无法更改静态参数

select name,isses_modifiable,issys_modifiable from v$parameter where name='sql_trace';

图片.png

这个结果表示,sql_trace 参数在session级别可以改,在system级也可以both修改(动态参数)


读取参数文件的顺序及相互生成,优先spfile 其次pfile

pfile 和spfile可以相互生产;


create pfile from spfile

create spfile from pfile

create pfile from memory

create spfile from memroy


使用spfile 启动后 不能重写spfile。

startup pfile=$ORACLE_HOME/dbs/initprod.ora

如果pfile不是缺省命名或放在其他路径,则指定命令路径和文件名即可

starup pfile=/home/orace/mypfile


怎样查看实例是spfile启动还是pfile启动的

图片.png


可以查看v$spparameter  spfile 参数视图,其中的参数memorty_target 的isspecified字段值,如果是trule说明是spfile启动的

oracle 体系_第二章实例管理(11G)_第2张图片


2 数据库的启动或者关闭

数据库启动分为三个阶段 

select status from v$instance ;

第一个阶段  nomount阶段 读取init parameter  (初始化参数文件)

第二个阶段 mount 阶段 读取控制文件 

第三个阶段 open 阶段 检查所有的datafile,redo log group 是否正常,检查数据库的一致性(controlfile,datafile,redofile的检查点是否一致)

从控制文件读出

oracle 体系_第二章实例管理(11G)_第3张图片


从数据文件读出

oracle 体系_第二章实例管理(11G)_第4张图片

注意 启动时last-change 不为空说明之前是干净的关闭数据库


启动数据库是的一些特殊选项

startup force 相当于 shutdown abort 再接startup

startup upgrade 只有sysdba能连接

starup restrice  只有restrice session 权限才可登陆 sys不受限制

alter system  enable restriceted session  open后再限制

alter databaseopen read only  scn不会增长



实列关闭

shutdown normal 拒绝新的连接,等待当前会话结束,生成检查点

shutdown transactional 拒绝新的连接,等待当前事务结束,生成检查点

shutdown immediate 拒绝新的连接,未提交的事务回滚,生成检查点

shutdown abort  事务不会滚,不生成检查点,下次启动需要做instance  recovery



3 自动诊断信息库ADR

ADR (automatic diagnostic repository )

ADR 存储在操作系统中的目录结构

oracle 体系_第二章实例管理(11G)_第5张图片


包括 告警日志文件,跟踪文件,健康记录,dump转储文件

show parameter diagnostic_dest


图片.png


$ORACLE_BASE=/u01 它也是adr的基目录,如果你没有设置 oracle_base 环境变量,oracle 给你设置的adr基目录是 $oracle_HOME/log


show parameter dump

在oracle11g告警文件分别以xml和普通文本格式两种形式存在,这两份文件的位置分别是 diag alert 和diag trace 对应的目录


跟踪文件

后台进程的跟踪文件 (Bdump)

sid_processname_pid.trc 如 _lgwr_5616.trc

服务器进程跟踪文件(Udump)

sid_ora_pid.trc 如 ——ora_10744.trc

另外增加.trm(trace map)文件,记录trc文件的结构信息

select* from v$diag_info



告警日志


以文本格式保存告警日志,命名是 alter_sid.lgo 它包含通知性消息,如数据库的关闭启动,以及有关数据库的物理结构变化的信息,也包括内部错误信息

告警日志会不断增长,定期清理是必要的


cat  /dev/null > alert_prod.log  将文件情况,直接删掉也没关系,会自动创建



4 口令文件




登陆认证的方式有四种

os认证

oracle用户以本地登陆,oracle用户必须属于dba组,oracle 的sysdba身份不验证密码   如sqlplua / as sysdba


口令文件认证


是一种通过网络的远程认证方式,只有sysdba权限的用户可以使用口令文件,登陆时必须输入密码和网络连接符 如 sqlplus sys/oracle@ as sysdba


口令密码认证方式

普通用户是指没有sysdba权限的用户,比如system  scott 或者 tim 不管是本地还是远程,普通用户登陆时必须在数据库open下输入口令,他们口令保存在数据字典里


外部密码认证

如果配置了os_authent_prefix参数 如缺省为‘ops$’ 当数据库中存在用户ops$tim 且对该用户启用了外部验证,那么在操作系统上以tim用户登陆成功后 可以直接sqlplus

登陆用户是tim 密码由操作系统提供,不是数据字典认证


口令文件


是sysdba 身份的用户的远程认证密码文件,主要用户sys用户的远程登陆认证

位置 $oracle_home/dbs/orapwsid

可以通过remote_login_passwordfile 参数控制是否生效

可以通过orapwd命令创建新的sys口令文件