Lesson 4 Managing the Oracle Instance *

目标Objectives:
  • 启停Oracle数据库与组件
  • 使用Enterprise Manager [EM]
  • 通过SQL*和iSQL*Plus 来访问数据库
  • 修改数据库初始变量
  • 描述数据库启动阶段
  • 描述数据库关闭设置
  • 访问警报日志
  • 访问动态操作预览
 
SQL语言包括:
1.DDL [Data Definition Language] 数据定义语言
2.DML[Data Multiplation Language] 数据操纵语言
3.DCL [Data Control Language]数据控制语言
 

管理框架Management Framework
 
管理框架组成三元素:
· 数据库示例[Database Instance]
· 监听程序[Listener]
· 管理接口(数据库控制 管理客户机)[Management interface]
 
三原件中优先启动的为Management interface
 
数据库启停控制 Starting and Stopping Database Control
 
Oracle 提供一个单机[stand-alone]管理控制台[console]叫做Database Control,给未连接Grid Control框架的数据库使用。
每个DatabaseControl都有独立的安装程序,并且只对应一个数据库。在使用Database Control之前,确保dbconsole进程已开启。
 
开启dbconsole进程:
                emctl start dbconsole
关闭dbconsole进程:
               emctl stop dbconsole 
查看dbconsole进程状态:
              emctl status dbconsole
 
 *可能会需要定位到$ORACLE_HOME/bin 目录下
Database Control使用一个服务器端的代理进程,代理进程自动随dbconsole进程启停。
 
企业管理器Oracle Enterprise Manager
 
基于Web 的Database Control 可充当管理Oracle 数据库的主要工具。
 
打开URL http://host name:port number/em 登录身份必须为sysdba
 
数据库开启时:EM显示登录界面。使用SYS、SYSMAN或SYSTEM身份登入数据库。
数据库关闭时:EM显示启停开关和实施恢复的功能选项。
 
注意,保证开启一个监听程序来登录EM。
 
DatabaseHomePage
 
显示一些数据库健康的度量来反映目前的状态。Property pages提供Performance,Administration和Maintenance页面来管理数据库。
 
使用SQL*Plus与iSQL*Plus来接入数据库
 
SQL*/iSQL*提供了数据库额外的接口来实现:
  • 进行数据库管理操作
  • 执行SQL指令来查询插入更新和删除数据库的数据
 
SQL*两层交互式架构;iSQL*三层架构
 
使用iSQL*Plus
 
基于浏览器的Oracle服务器接口。是SQL*Plus产品的组件之一。iSQL*Plus有一个服务器端的进程,必须在使用浏览器进行连接之前开启。
使用语句
               isqlplusctl start
 
开启服务进程后,进入URL http://host name :port/isqlplus 进行连接。
 
iSQL使用的端口号通常情况为 5560,除非OUI检测到端口已经被占用。
 
检查$ORACLE_HOME/install/portlist.ini来找iSQL*Plus使用的端口。
 
必须启动websever 不需要以DBA身份去连接。
 
设置iSQL*Plus以供SYSDBA和SYSOPER来接入
 
作为SYSDBA或者SYSOPER身份登入iSQL*Plus的用户,必须在OC4J用户管理中进行设置。
1.创建用户
2.授予webDba权限
 
$cd $ORACLE_HOME/oc4j/j2ee/isqlplus/ \
> application-deployyments/isqlplus
$ JAVA_HOME/bin/java \
> -Djava.security.properties= \
> $ORACLE_HOME/oc4j/j2ee/home/config/jazn.security.props \
> -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar \
> - user "iSQL*Plus DBA、admin" - password welcome -shell
JAZN>addduser "iSQL*Plus DBA "username password 
JAZN> grantrole wedDba "iSQL*Plus DBA" username
 
OC4J [ Oracle Containers for J2EE ]
是 Oracle 用于Java的运行时环境,它通常被装载为Application Server的一部分。.
一个OC4J进程只能支持一个Database Console进程 管理一个数据库。
 
J2EE: Java 2 Platform, Enterprise Edition
 
1定向到正确的目录:
$cd $ORACLE_HOME/oc4j/j2ee/isqlplus/ \
> application-deployyments/isqlplus
 
2.运行JAZN命令行:
> -Djava.security.properties= \
> $ORACLE_HOME/oc4j/j2ee/home/config/jazn.security.props \
> -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar \
> - user "iSQL*Plus DBA、admin" - password welcome -shell
 
3.创建用户并输入用户名与密码:
JAZN>addduser "iSQL*Plus DBA "username password 
 
4.授予webDba权限:
> - user "iSQL*Plus DBA、admin" - password welcome -shell
 
5.退出命令行:
JAZN> exit
 
使用SQL*Plus
 
SQL*Plus是交互使用或批处理的命令行工具
 
使用命令行接口来调用SQL*Plus来写SQL等语言来
  • 进入、编辑、运行、存储、恢复和保存SQL命令和PL/SQL块。
  • 格式化、计算、存储和输出运算结果
  • 列出任意表格的列定义
  • 发送消息并从终端使用者收取回应
  • 进行数据库管理
开启SQL*进行以下几步:
  • 开启一个终端窗口
  • 在命令行DOS命令下,输入 $ sqlplus /nolog 进入SQL*Plus
  • 链接要连接的用户
  • 命令行下输入用户密码
 
从Shell脚本下呼叫SQL*Plus
 
4-13
 
初始变量文件
 
初始参数的查找顺序为 spfile<sid>.ora  --->  spfile.ora  --->  init<sid>.ora
 
开始实例时,一个初始参数文件就被读取。一共有两种类型的参数文件:
 
  • 服务器参数文件Server parameter file:初始化参数时优先的类型。是一种二进制文件,可被数据库服务器读写,严禁被人为的编辑。存在在数据库运行中的服务商,存在于开启到结束阶段。被称为SPFILE.默认名spfile<SID>.ora在启动阶段能自动被寻获。
  • 文本参数文件Text initialization parameter file: 这种类型文件可被数据库服务端读取,但不由服务器端写入。初始化参数设置必须由文本编辑器来手动设定和更改来保证存在于开始到结束阶段,默认名为init<SID>.ora
 
简化初始参数
 
初始参数分为两组:基础basic和进阶advanced
大多是情况下,只需要设置32个基本参数来获取数据库的合理状态。极少数情况下,修改进阶的参数来获得数据库最优性能。
基本参数定义为一种你倾向于设定后来保持数据库运行在不错的状态下的参数。所有其他的参数均为进阶参数。
 
基本参数包括目的与目录名的特定文件:ADUIT_FILE_DEST, BACKGROUND_DUMP_DEST,CORE_DUMP_DEST,DB_CREATE_FILE_DEST,DB_DREAT_OLINE_LOG_DEST_n,DB_RECOVERY_FILE_DEST_USER_DUMP_DEST.
 
举例:
CONTROL_FILES参数规定一个或多个控制文件名字。Oracle强烈建议复用和镜像处理控制文件。范围1-8,默认值根据不同的操作系统来确定。
DB_BLOCK_SIZE参数规定了数据库块的大小(以字节为单位)。在数据库创建过程中确定的大小不能再被更改。字节大小由1024-65536,默认8K
DB_CACHE_SIZE参数规定标准块高速缓冲区[standard block buffer cache]的大小。大小至少16MB,默认48MB。
DB_FILE_MULTIBLOCK_READ_COUNT参数规定了涉及到全部逐层扫描时进行一次IO操作时最大的块写数量。默认8
DE_FILES参数规定数据库文件最大数量
PGA_AGGREGATE_TARGET参数规定PGA内存分配给所有与实例连接的服务进程内存的数量。在使用工作区自动设置功能前将该参数设置为正值。这些内存并不存在于SGA中,数据库使用这个参数作为PGA目标量。设定该参数时,减去总内存中SGA的内存量,剩余的存储量可以分配给该参数。最小10M最大400G。默认值:不特定,意味着工作区参数自动整定被完全关闭。
PROCESSES参数规定可同时连接一个数据库的操作系统用户进程的最大数量。范围:6-系统规定数量。默认值取决于PARALLEL_MAX_SEVERS参数。
SHARED_POOL_SIZE规定了共享池的大小。共享池容纳比如共享游标、存储程序、控制架构和并行操作信息缓存等对象。大的设定值可提高多用户系统的性能。范围300kb-* 默认若64位则64MB,其他16MB。
初始化参数UNDO_MANAGEMENT用于指定系统要使用的UNDO管理模式,默认值为AUTO。当设置该参数为AUTO时,系统会使用UNDO表空间管理UNDO(SMU)数据;当设置该参数为MANUAL时,系统会使用回滚段管理UNDO(RBU)数据。
 
数据库启动与关闭
 
 在EM中启动与关闭Database时,要使用advanced option 选项。
 
 
 
数据库启动台阶
 
 
#1NOMOUNT 
 
查找参数文件根据文件启动实例和后台进程。
 
装载实例和打开参数文件,生成SGA并启动后台进程,用户不能存取数据库,可以进行CREATE DATABASE 和CREATE CONTROLFILE操作。 
 
conn sys/oracle as sysdba
shtudown abort;
startup nomount;
 
启动过程:
1.搜索<oracle_home>/database目录下特定顺序的文件 -spfile<SID>.ora   -if not found, spfile.ora      -if not found, init<SID>.ora
2.分配SGA
3.开启后台进程
4.开启alert<SID>.log
5.初始化部分v$视图
 
#2MOUNT
 
定位和打开控制文件,并读出控制文件里关于datafiles和redo files 的名字和状态,但不检查数据。
功能:能重命名data files_enable/ disable online redo log files 并且能做数据库全备份。
 
装载实例和打开控制文件,激活某些功能,用户不能存取数据库可以进行实例或数据的恢复处理。 
 
将数据库带到mount状态
select value from v$spparameter where name='control_files';
alter database mount;
 
mount数据库的过程是读参数文件中描述的控制文件,校验控制文件的正确性,将控制文件的内容读入到内存中,mounu是挂接的意思,是操作系统中的概念。
一旦mount之后,就是将一个没有意义的实例和一个数据库发生了联系。
因为实例是空壳。没有任何数据库和该实例发生关系,我们可以理解为实例是水泵,放到哪个水塘里就会抽取哪里的数据,实例是通用的。
mount的意思是将一个通用的水泵放入到一个指定的水塘。mount是读控制文件,控制文件中有数据文件和日志文件的信息。
 
#3 OPEN
 
所有文件都被定位和打开 并验证文件检查一致性 smon进行例程恢复。
 
通常数据库操作意味着实例已经打开而且数据库已经加载并且开启。通过数据库操作,所有固定的用户可以连接数据库并且进行特定的数据获取操作。
 
数据库开启包括以下任务:
· 打开在线数据文件
· 打开在线重做日志文件
 
如果在你尝试打开数据库的过程中,任一个数据文件或者重做日志文件不存在,那么Oracle服务器会返回一个error。
 
在这个最终阶段,Oracle服务器确认所有数据文件和在线重做日志文件可以被开启,并且进行一致性检查。如果需要,系统监视器(SMON)后台进程开启实例恢复。
 
*可在受限制模式下开启数据库实例。
 
 
停止Database Instance
 
四种Shutdown模式:Nomal, Transactional, Immediate, Abort.
 
Nomal: 默认关闭模式。需要满足以下条件:
· 没有能开启的新连接
· 服务器在完成关闭之前等待所有用户断开连接。
· 数据库与重做缓存被写入磁盘。
· 后台进程关闭,SGA从内存中抹去。
· Oracle sever 关闭并且在实例关闭前与数据库解除装载(dismounts)
· 下一次启动不需要实例的恢复
 
Transactional:  避免客户端丢失数据。包括他们当前活动的返回结果。
· 在这个特定实例上没有客户端可以开启一个新的事务处理。
· 当客户端结束进程上的事务处理后,断开连接。
· 当全部事务处理完成后,立刻进行关闭操作。
· 下次启动不需要实例恢复。
 
Immediate: 
· 当前数据库操作下的SQL状态未完成。
· oracle sever 不等待当前已连接数据库用户进行断开连接操作
· Oracle sever执行回滚操作并断开所有链接。
· 实例关闭前Oracle server关闭数据库并断开装载。
· 下次启动不需要实例恢复。
 
Abort: 相当于掉电。
在关闭之前执行最少数量的工作。下次启动前需要恢复。仅在需要时在使用该功能。通常使用在关闭工作没有其他可使用形式时候,当启动实例出现错误或者在紧急状态下需要立即关闭时,比如发现即将断电的时候。
 
使用SQL*Plus实现启停
 
使用SQL*Plus实现数据库启停,要求必须使用SYSDBA或者SYSOPER身份登录。
选择启停方式之后使用指令完成相关工作。
 
查看警报日志
 
每个数据库都有一个alert<SID>.log的文件。文件与数据库 在服务器上,存储在由初始化参数background_dump_dest确定的目录下。警报日志按年代排序,包含着以下几种信息与错误:
  • 在启动时使用过的没有定义的初始化参数
  • 发生的所有内部错误(ORA-600)数据库损坏错误(ORA-1578)和死锁错误(ORA-60)
  • 管理操作,例如SQL命令的增加更改移除数据库和表空间,EM SQL*Plus启停数据库 写档案文件 和数据库的恢复。
  • 一些由共享服务器和调度进程导致的错误。
  • 物料视图下自动刷新产生的错误
EM监控着警报文件并且在发生严重错误时进行提醒。同时可以通过浏览日志来看一般性错误和教育性的信息。这些文件能够增长为不可控的空间,应该定期备份警报文件然后删除当前的警报日志文件。当数据库试图再次写入警报文件时,它会重新创造成一个新的警报文件。
 
查看警报历史 在EM页面下有一个图表来显示当前数据库在设置的时间段中的状态。警报预示着潜在的问题:不论是一个警告或者监测度量下的警报阈值,又或者是一个对象已经不能提供服务。
 
动态性能视图
 
提供了数据库状态和条件改变信息的查看。
不是字典视图,来自内存或控制文件,不需要database状态为open才能看。
 
练习:
 
使用EM界面
查看并修改初始化参数
停止和启动数据库实例
查看警报日志
使用SQL*Plus连接数据库

转载于:https://www.cnblogs.com/coderplay/p/6392373.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值