Fundamental I 03 Managing an Oracle Instance

参数文件: *.ora, 

实例启动的时候被加载, startup命令执行的时候

  查询参数:

  show parameter [filter]

  e.g select name, value from v$parameter where name = 'xxxxxxxx';

  包括两类参数:显式( Explicit )和隐式 ( Implicit )参数


  有2种类型的参数文件,默认路径 $ORALCE_HOME/dbs/( Linux ) ; $ORALCE_HOME/database/( NT )

  PFILE( Static parameter file )--过时了,9i以后尽量使用SPFILE,修改后需要重启, 命名规则为init$ORACLE_SID.ora, 可参见样本init.ora, 11g以后更新了sample文件

    创建方式 $ cp old/init.ora init$ORACLE_SID.ora

    修改,注意,此处不支持变量名.

  SPFILE ( Persistent Server parameter file重点) 二进制文件, 通过Oracle来控制, 只存在于服务器端, 可以在实例启动和关闭时修改, 支持备份

  创建spfile文件, 通过pfile创建spfile, SQL> create spfile from pfile;

  查看:通过 $ strings spfilescott.ora 来查看, 将二进制文件转化为string

  修改: alter system set parameter = value <comment = 'text'> <deferred> <scope=memory|spfile|both> <sid='sid|*'>

    例子: alter system set fast_start_io_target = 1 scope=memory; 修改内存中的参数值

    show parameter fast_; 此处显示的是内存中的数据, 不会修改到spfile

    select name, value, update_comment from v$parameter where name='fast_start_io_target';

    关于deferred参数, 以下的参数必须加上deferred,必须在下次启动前修改 SQL> select name from v$parameter where issys_modifiable = 'DEFERRED';

  重置: alter system reset parameter sid='*';


Oracle启动(4个状态-->ShutDown-->>NoMount-->>Mount-->>Open) SQL> startup [MOUNT] 默认启动数据库到Open状态

  1. 读取SPFILE, 加载SPFILE并且初始化参数

    优先找spfileSID.ora -->

    如果没找到则找spfile.ora

    如果没找到则查找initSID.ora

    如果没找到则查找init.ora

    可以手工指定加载的pfile, 并且根据在pfile中指定的spfile文件加载 vi tempname, spfile=$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora

    SQL> startup pfile=$ORACLE_HOME/dbs/tempname.ora

  2. 分配SGA, 此处会分配内存区域并且创建background process, 并且启动实例

  3. 启动后, 记录日志, 进入Unmount状态

  4. 加载CONTROL_FILES的文件, 此时只有管理员可以访问DB

  5. SQL> alter database mount; 转换到mount状态

  6. SQL> alter database open; 转换到open状态,此时会加载datafiles和redo log files, 如果两类文件不存在, 则报错,需要在mount状态recover.


  具备启动数据库权限的用户: $ sqlplus / as sysdba

    * 有admin权限的OS的用户

    * 具备SYSDBA or SYSOPER 权限的用户


Oracle的关闭

  1. 将SGA写到磁盘上

  2. 关闭online redo log files and datafiles,但是control files任然可以被使用

  3. Unmount, 在unmount之后关闭control files

  4. shut down the instance, 关于shutdown,可见下文


Diagnostic Files(重要):类型有3种,命名规则因为版本不同,一下为10g及以后

  1. Alert file( located at BACKGROUND_DUMP_DEST ) : naming alert$ORACLE_SID.log; 一个instance只有一个Alert file 记录所有的command, major events,必要时可以通过该文件来构造SPFILE,需要注意加上*和'

    1.1 找到构建pfile,其参数来源于alert log, 记住在加上单引号和*.

    1.2 将pfile放到oracle server的制定$ORACLE_HOME/dbs/下

    1.3 create spfile='spfilename.ora' from pfile='pfilename.ora';

    1.4 startup

  2. Background trace files ( located at BACKGROUND_DUMP_DEST ): naming SID_processname_PID.trc; 每个进程在生命周期内只有一个,Oracle本生发生错误时产生

  3. User trace files ( located at USER_DUMP_DEST, sized by MAX_USER_FILE_SIZE ): naming SID_ora_PID.trc; 每个进程在生命周期内只有一个,记录User的所有动作

    启用 User Tracing(通常采用session)

      * Session Level: 

        ALTER SESSION SET SQL_TRACE = TRUE;

        dbms_system.SET_SQL_TRACE_IN_SESSION; 修改procedure

      * Instance Level: SET PARAMETER SQL_TRACE = TRUE;


------------------------More knowledge----------------------------------------------------

关于$ORACLE_HOME和$ORALCE_SID

SID: site identifier

Unix下hash,然后生成唯一名,绑定SGA

WINDOWS下由于是多进程,不共享内存, 但是依然记得路径和SID不能相同

推荐书籍: 

  Expert Oracle Database Architecture 精通Oracle数据库体系架构 -- Thomas Kyte

  Oracle官方文档的ConceptsAdministrator's Guide

推荐网站: asktom.oracle.com



--------------------------Command---------------------------

$ $ORACLE_HOME/dbs/ipcs    查看Oracle内存使用情况

  STARTUP [FORCE] [RESTRICT] [MOUNT]

  ALTER DATABASE  改变数据库状态,[NOMOUNT|MOUNT|OPEN READ ONLY]


Restricted Mode

  startup restricted;

  alter system enable restricted session;授权仅SYSTEM用户可以连接到db, 但是已经登录的用户不受影响


Read-Only Mode

  startup mount;

  alter database open read only;


Kill Session

  1.  select sid, serial#, username from v$session; 查看当前session

  2. alter @USERNAME kill session '@SID,@SERIAL#';  杀死某个sesson


查看事务 desc v$transaction;

查看用户 desc dba_users;


Shut down, 最常用的是 shutdown immediate, 默认情况下是 normal

  A = ABORT; I = IMMEDIATE; T = TRANSACTIONAL; N = NORMAL; 


  如果迫不得已采用了abort, 在重新启动的时候SMON会做recovery的工作


查看参数

  show parameter [filter]

  e.g select name, value from v$parameter where name = 'xxxxxxxx';


监听文件内容

$ tail -f filename


查看二进制文件

$ strings filename


解锁账户/设置密码

select username, account_status from dba_users;

alter user HR set account unlock;

alter user HR identified password;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值