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/

   

目录
相关文章
|
1月前
|
存储 Oracle 关系型数据库
数据库数据恢复—ORACLE常见故障的数据恢复方案
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
103 11
|
2月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
2月前
|
存储 Oracle 关系型数据库
oracle数据恢复—Oracle数据库文件大小变为0kb的数据恢复案例
存储掉盘超过上限,lun无法识别。管理员重组存储的位图信息并导出lun,发现linux操作系统上部署的oracle数据库中有上百个数据文件的大小变为0kb。数据库的大小缩水了80%以上。 取出&并分析oracle数据库的控制文件。重组存储位图信息,重新导出控制文件中记录的数据文件,发现这些文件的大小依然为0kb。
|
1月前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
2月前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
59 7
|
2月前
|
Oracle 关系型数据库 数据库
oracle数据库技巧
【10月更文挑战第25天】oracle数据库技巧
38 6
|
2月前
|
存储 Oracle 关系型数据库
Oracle数据库优化策略
【10月更文挑战第25天】Oracle数据库优化策略
38 5
|
3月前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
239 64
|
5月前
|
存储 自然语言处理 Oracle
Oracle数据库字符集概述及修改方式
【8月更文挑战第15天】Oracle 数据库字符集定义了数据的编码方案,决定可存储的字符类型及其表示方式。主要作用包括数据存储、检索及跨系统传输时的正确表示。常见字符集如 AL32UTF8 支持多语言,而 WE8MSWIN1252 主用于西欧语言。修改字符集风险高,可能导致数据问题,需事先备份并评估兼容性。可通过 ALTER DATABASE 语句直接修改或采用导出-导入数据的方式进行。完成后应验证数据完整性。此操作复杂,须谨慎处理。
166 5
|
5月前
|
数据采集 Oracle 关系型数据库
实时计算 Flink版产品使用问题之怎么实现从Oracle数据库读取多个表并将数据写入到Iceberg表
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。

推荐镜像

更多