Oracle学习笔记:启停数据库实例、初始化参数

简介:

1、启动和关闭数据库实例

sqlplus    /nolog
!echo    $ORACLE_SID
connect   /   as  sysdba
startup
shutdown  immediate

  2、静态参数文件

  在Oracle 9i 之前,通过静态文本存放初始化参数,可通过文本编辑器编辑。

  在参数文件中,可以为相同的参数设置多个条目,对于这样的重复参数,Oracle会选最后一个。

  在Oracle 9i之前,如果在启动实例时没有指定参数文件,那么Oracle会首先在默认的目录下查找initSID.ora文件,Linux的默认目录是$ORACLE_HOME/dbs,Windows的默认目录是$ORACLE\database;如果没找到,会查找init.ora是否存在;如果没找到,就会报错:在处理系统参数时失败,不能打开参数文件。

  在启动时,也可以直接指定pfile,命令为:

  startup   pfile = ’你的路径/你的pfile文件名.ora‘

  3、动态参数文件

  从Oracle 9i开始,提供了动态参数,也就是修改了内存中的参数值后,不用重启,就能使参数生效的机制,同时提供了动态参数文件spfile,这是一个二进制文件,不能用notepa或者vi编辑器编辑,如果希望对参数的修改持久化,那么也必须修改spfile中的参数值。

  另外,rman支持对spfile的自动备份,但不支持pfile的自动备份。

  在参数文件中,每个参数都有一个前缀,* 表示对所有实例有效,“实例名称”表示只对这个实例有效。

  由于加了动态参数文件,系统在启动时,查找参数文件的顺序也有所变化:默认路径下的spfileSID.ora   -->  spfile.ora   - ->  initSID.ora  -->   init.ora,startup pfile ='...'这样的命令还是有用的,注意不支持这样的语法:startup spfile = ’...'  。

  通过pfile来创建spfile,如果下面的命令不指定路径,那么用的都是默认路径:

  create   spfile =’/u01/app/oracle‘ from pfile   = '/u01/app/oracle/initora10g.ora'

  --禁用自动内存管理

  alter   system   set  sga_target = 0

  --显示参数的值

  show   parameter   spfile

  show  parameter   shared_pool_size

  --另一种方法显示参数的值

  select    value   from  v$parameter  where name = 'spfile'

  select    value   from  v$spparameter where name = 'shared_pool_size'


--只在内存中修改参数的值,重启后,还是spfile的值,而不是这里的100M

  alter   system   set   shared_pool_size = 100M   scope = memory

  --只在spfile文件中修改参数的值,重启后才会生效

  alter   system   set   shared_pool_size = 100M   scope = spfile

  --同时修改spfile和内存中的值

  alter   system   set  shared_pool_size = 100M scope = both

  下面显示了,如果把spfile中的一个参数设置为一个无效的值后,如何解决系统再次启动时,无法启动的问题:

alter   system   set   sga_target = 1000000M    scope = spfile
shutdown  immediate
startup

  报错:out   of   memory

  alter   system  set  sga_target = 1000M

  报错:oracle 不可用

  create  pfile = '/u01/init.ora'   from   spfile

  可以打开pfile文件,手动编辑,也可以直接在文件最后加一行:

!echo  '*.sga_target = 1000M'   >>    /u01/init.ora
create   spfile   from   pfile = '/u01/init.ora'
startup

  4、实例的启动和关闭的具体步骤

  nomount阶段:找到参数文件,并根据其中的值启动实例,打开告警日志 alterSID.log,路径为backgroud_dump_dest参数所指定的目录。

  mount阶段:根据参数文件中的control_files参数的值,打开所有的控制文件,只要有一个打开失败,就不能成功进入mount阶段。打开文件后,取得所有的数据文件、联机日志文件的路径,但不会验证这些文件是否存在。

  open阶段:打开所有的数据文件、联机日志文件。

  具体的启动步骤可以是下面的一种:

startup   nomount
alter  database   mount
alter  database   open
startup mount
alter  database open
startup open

  实例关闭时,有多个选项:

  abort:相当于模拟服务器突然断电的情况。

  immediate:强制回滚当前正在运行的所有事务,把内存中的脏数据写入数据文件,清空实例的所有内存。一般采用这个选项。

  transactional:等待当前正在运行的事务主动提交或回滚,之后中断所有连接,写回数据文件,清空实例内存。

  normal:等待当前正在运行的事务主动提交或回滚,同时还会等待所有用户主动中断连接。

  需要注意的是startup  force相当于 shutdown   abort ,然后再 startup   



最新内容请见作者的GitHub页:http://qaseven.github.io/

   

目录
相关文章
|
16天前
|
Oracle 安全 关系型数据库
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
175 28
|
26天前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的闪回数据库
Oracle闪回数据库功能类似于“倒带按钮”,可快速将数据库恢复至 earlier 状态,无需还原备份。本文介绍了闪回数据库的使用方法及实战案例:包括设置归档模式、开启闪回功能、记录SCN号、执行误操作后的恢复步骤等。通过具体 SQL 操作演示了如何利用闪回数据库恢复被误删的用户数据。注意,使用此功能前需确保数据库为归档模式。
|
28天前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle数据库的闪回表
本文介绍了Oracle数据库中的闪回表(Flashback Table)功能,它能够将表的数据快速恢复到特定时间点或系统改变号(SCN),无需备份。文章通过实战示例详细演示了如何使用闪回表恢复数据,包括授权、创建测试表、记录时间与SCN号、删除数据、启用行移动功能、执行闪回操作以及验证恢复结果等步骤。同时,还展示了如何通过触发器禁止插入操作,并在闪回过程中处理触发器的启用问题。文末附有视频讲解,帮助读者更好地理解闪回表的使用方法。
75 10
|
30天前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle数据库的闪回查询
本文介绍了Oracle数据库的闪回查询(Flashback Query)功能及其实际应用。闪回查询通过`AS OF`子句,结合时间戳或SCN号,可查询历史数据状态,帮助分析数据差异。文中通过具体示例演示了如何使用闪回查询:创建测试表、记录当前SCN号、更新数据并提交事务,最后通过闪回查询获取历史数据。附带的视频和代码块详细展示了操作步骤与结果。
|
1月前
|
数据库
【YashanDB知识库】YAC修改参数后关闭数据库夯住
【YashanDB知识库】YAC修改参数后关闭数据库夯住
|
1月前
|
数据库连接 PHP 数据库
【YashanDB知识库】PHP使用ODBC使用数据库绑定参数功能异常
【YashanDB知识库】PHP使用ODBC使用数据库绑定参数功能异常
|
1月前
|
Oracle 关系型数据库 网络安全
崖山异构数据库迁移利器YMP初体验-Oracle迁移YashanDB
文章是作者小草对崖山异构数据库迁移利器 YMP 的初体验分享,包括背景、YMP 简介、体验环境说明、YMP 部署(含安装前准备、安装、卸载、启动与停止)、数据迁移及遇到的问题与解决过程。重点介绍了 YMP 功能、部署的诸多细节和数据迁移流程,还提到了安装和迁移中遇到的问题及解决办法。
|
1月前
|
PHP 数据库
【YashanDB知识库】PHP使用OCI接口使用数据库绑定参数功能异常
【YashanDB知识库】PHP使用OCI接口使用数据库绑定参数功能异常
|
1月前
|
数据库
【YashanDB知识库】yac修改参数后关闭数据库hang住
【标题】YashanDB yac修改参数后关闭数据库hang住 【简介】修改yac参数后执行`shutdown immediate`时,数据库hang住。原因是Shutdown操作中线程卡在获取信号量,jobManagerStop()和checkRedoFreeSpace()接口导致死循环,且SHM_POOL_SIZE过小影响redo日志使用。需检查配置文件并调整SHM_POOL_SIZE参数。影响范围为23.1 - 23.1.1.200版本。 【关键词】YashanDB, yac, shutdown hang 【修复版本】待定
|
1月前
|
Oracle 关系型数据库 数据管理
【赵渝强老师】Oracle数据库的闪回技术
在Oracle数据库操作中,难免会遇到误删表或提交错误事务等问题,可能导致数据丢失甚至数据库停止运行。传统解决方法依赖备份恢复,但需提前准备正确备份。为此,Oracle提供了闪回技术,无需备份即可快速恢复数据。它支持7种类型的操作,如闪回查询、版本查询、表恢复等,能有效应对逻辑损坏和用户错误。闪回技术基于还原(undo)数据管理,启用自动管理后可实现高效恢复。

推荐镜像

更多
下一篇
oss创建bucket