知识大全 启动Oracle常见疑难问题分析

Posted 数据库

篇首语:怀抱观古今,寝食展戏谑。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 启动Oracle常见疑难问题分析相关的知识,希望对你有一定的参考价值。

启动Oracle常见疑难问题分析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  实例和数据库的启动与关闭是DBA的重要职责之一 只有打开数据库 其他用户才能对数据库中的数据进行操作 一旦数据库关闭 便不能对其操作 对于DBA们来说 关闭和重新启动数据库以便优化 调整应用程序的运行是经常碰到的事情 如果用户已经进入了数据库 使用SHUTDOWN IMMEDIATE 或SHUTDOWN ABORT命令来执行关闭数据库 则用户将失去连接 直到数据库重新启动 经常关闭和启动会对数据库性能造成一定的影响 当然也会影响到用户对数据库的使用 本文从管理数据库的角度来分析在Oracle启动和关闭时经常遇到的问题 并总结了在启动和关闭Oracle数据库中应该注意的问题和事项     启动常见问题     (一)在一个控制文件被损坏情况下 如何正常启动?    系统环境    操作系统 Windows Advanced Server    数据库  Oracle i R ( ) for NT 企业版    安装路径 C:\\ORACLE    错误现象    因硬盘有坏道 一个控制文件损坏了 或人工误删一个控制文件 控制面板的Oracle相关服务可以启动成功 但用SQL*Plus无法连接 错误提示为 ORA : ORACLE not available     解决方法    ( )在开始菜单中直接运行命令 进入 svrmgrl> 提示符模式     ( )在 svrmgrl> 提示符下键入 connect internal 命令     ( )在 svrmgrl> 提示符下键入 shutdown abort 命令关闭数据库     ( )找到init ora文件 它一般位于 C:\\Oracle\\admin\\oradb\\pfile 目录下 然后修改init ora文件 使无法使用的控制文件不在control_files参数中定义 如 C:\\Oracle\\oradata\\oradb\\control ctl 可在init ora中将其删除掉 或者更换成其它可启动的控制文件 中国公务网 : :     修改前     control_files=( C:\\Oracle\\oradata\\oradb\\control ctl C:\\Oracle\\oradata\\oradb\\control ctl C:\\Oracle\\oradata\\oradb\\control ctl )    修改后     control_files=( C:\\Oracle\\oradata\\oradbcontrol ctl C:\\Oracle\\oradata\\oradb\\control ctl )    ( )重新启动数据库实例 即可解决问题     注意 在控制文件中最少要有两个控制文件      (二)联机热备份失败后 如何打开数据库?    系统环境     操作系统 Windows Advanced Server    数据库  Oracle i R ( ) for NT 企业版    安装路径 C:\\ORACLE    错误现象    进行联机热备份时 服务器发生故障(如掉电等) 重新启动服务器后 再启动数据库时 无法打开数据库 Oracle要求进行介质恢复 因为表空间还处在热备份状态     解决方法    ( )先将数据库设置为归档模式    C:\\>svrmgrl  svrmgrl>connect internal  svrmgrl>alter tablespace 表空间名 begin backup;    说明 这是在表空间进行热备份模式没结束时 就强行关闭数据库所造成的错误     svrmgrl>shutdown abort  svrmgrl>startup mount    ( )将此表空间的数据文件在没打开数据库时 设置成 end backup 模式    svrmgrl>alter database datafile % 表空间的数据文件名% end backup     ( )执行表空间介质恢复    svrmgrl>recover tablespace 表空间名   svrmgrl>alter database open      (三)Oracle启动时 监听器不启动或打开出错?    错误现象     ORACLE启动时 监听器不启动或打开出错 服务器端 用username/password登录正常 但用username/password@alias登录不成功 客户端 用username/password@alias登录不成功    解决方法    ( )如果是因为修改了NT的机器名 则把listener ora文件中的host参数全部改为新的NT机器名 重新启动OracleTNSListener 服务即可     例如:    LISTENER =  (ADDRESS_LIST =  (ADDRESS = (PROTOCOL = TCP)(Host = NT_Name)(Port = ))  (ADDRESS=(PROTOCOL=TCP)(Host=NT_Name)(Port= ))  )    ( )使用监听器实用程序 LSNRCTL exe     ( )检查监听器参数文件 c:\\orant\\NET \\admin\\listener ora WWW GONGWU CN : :     ( )检查监听器日志文件 c:\\orant\\NET \\log\\listener log     ( )Tnsnames ora文件配置错误 重新配置     ( )检查client端 Tnsnames ora      (四)Oracle Enterprise Manager(OEM)工具中如何以SYSOPER SYSDBA方式登录?    软件环境     Windows NT +ORACLE     ORACLE安装路径为 C:\\ORANT    错误现象    在以Oracle Enterprise Manager(OEM)工具登录数据库时 不论是sys用户 system用户 还是其他用户 在Connect As栏中以sysdba或sysoper角色登录均遭拒绝 报错 Ora :invalid username/password;logon denied 但以normal登录成功     出错分析    在Oracle数据库中有三种连接方式     ( )normal正常方式 基本连接方式 级别较低     ( )sysopr系统方式 系统连接方式 高一级     ( )sysdba管理员方式 是数据库管理员连接方式 级别最高 WWW GONGWU CN : :     Oracle 中 sys system已经只是具有特权的普通用户 而internal才是DBA 所以在DBA进行管理数据时 只能使用具有特权的 internal 连接方式才不会出错     解决方法    以internal/oracle方式连接即可     Oracle数据库的启动    启动实例    启动实例 以使Oracle Server完成如下任务     ◆ 读参数文件init ora文件 以决定如何初始化该实例     ◆ 根据参数文件中提供的SGA大小 来为SGA分配存贮空间     ◆ 启动后台进程     ◆ 打开后台跟踪文件     实例启动分正常启动和约束启动 所谓约束启动 就是当数据库打开后 只能使具有RESTRICTED SESSION系统特权的用户与其相连接 而正常启动则允许所有用户与其相连接     实例启动有如下三种方式     ◆ 只启动实例     ◆ 启动实例并安装数据库 但不打开数据库     ◆ 启动实例 并安装和打开数据库     数据库安装    数据库安装就是将指定的数据库与已启动的实例相联系 被安装的数据库在打开之前保持关闭 此时只有DBA能存取 在安装数据库时 实例查找参数文件中的CONTROL Files参数所指定的控制文件 并打开它 从中取得数据库的数据文件名和日志文件名 然后确认这些文件是否存在 如果希望多个实例并发地安装同一个数据库 则DBA可选择并行方式安装该数据库 如果希望只有一个实例可安装该数据库 则选择专用方式安装该数据库 如果ORACLE版本不支持并行服务器选项 则只能按专用方式安装数据库 当选择并行方式安装数据库时 并发安装同一个数据库的实例个数受预定义最大值的限制 而且在参数文件中必须有命名的私用回滚段或可用的公用回滚段     打开数据库    在安装的数据库被打开之前 所有合法的用户(除DBA)都不能对该数据库进行连接和存取 只有被打开以后才能进行连接和存取 在打开数据库的同时 实例也打开在线的数据文件和在线日志文件 如果数据库是由于实例的异常而中止或电源故障而被关闭时 则下次打开它时会自动执行实例恢复 在数据库被打开时 实例试图获取一个或多个回滚段 在分布事务中 若当—个数据库因电源故障等突然被关闭 此时若有一个或多个分布式事务还没提交或回滚 则在该数据库被重新打开时 继续完成实例恢复 RECO后台进程将自动 立即和一致地解决尚未提交或回滚的任何分布事务     常用打开数据库和实例命令方式    ( )startup nomount    非安装启动 这种启动方式下可执行 重建控制文件 重建数据库和启动instance 即启动SGA和后台进程 这种启动只需要init ora文件     ( )startup mount dbname    安装启动 这种启动方式下可执行 数据库日志归档 数据库恢复和重新命名一些数据库文件     ( )startup open dbname    先执行 nomount 然后执行 mount 再打开包括Redolog文件在内的所有数据库文件 这种方式下可访问数据库中的数据     ( )startup等于以下三个命令    startup nomount  alter database mount  alter database open    ( )startup restrict    约束方式启动 这种方式能够启动数据库 但只允许具有一定特权的用户访问 非特权用户访问时 会出现以下提示     ERROR     ORA : Oracle 只允许具有RESTRICTED SESSION权限的用户使用     ( )startup force    强制启动方式 当不能关闭数据库时 可以用startup force来完成数据库的关闭 先关闭数据库 再执行正常启动数据库命令     ( )startup pfile=参数文件名    带初始化参数文件的启动方式 先读取参数文件 再按参数文件中的设置启动数据库 例 startup pfile=E:\\Oracle\\admin\\oradb\\pfile\\init ora    ( )startup exclusive    SQL>conect internal    作为internal连接时 connect命令不需要口令 因为其授权是由操作系统隐式提供的 Internal连接等价于sys连接 它们都是拥有Oracle数据字典的用户     应用    在Unix下启动Oracle i 其整个过程步骤如下     ( )telnet 主机IP或者是主机名    user ***** password *****    ( )lsnrctl start    ( )svrmgrl    ( )svrmgrl>connect internal    ( )svrmgrl>startup    实例和数据库的关闭    关闭实例的步骤    关闭实例后 SGA从内存撤消 后台进程被停止 关闭实例的步骤如下     ( )启动SQL*DBA    ( )作为INTERNAL用户与数据库相连接    ( )关闭实例    ◆ 关闭数据库    ◆ 卸下数据库    ◆ 关闭实例    关闭数据库    数据库关闭时 首先将SGA中的所有数据库数据和日志项数据写入相应的数据文件和日志文件 然后关闭所有联机数据文件和日志文件 在数据库关闭后和卸下之前 控制文件仍保持打开 此时如果需要打开时 还可重新打开数据库     卸下数据库    卸下数据库就是切断实例与数据库的联系 关闭数据库控制文件 使内存仅保留实例     常用关闭数据库和实例命令    ( )shutdown normal(正常关闭数据库)    在正常关闭情况下 Oracle在关闭数据库前 等待所有与之相连接的用户正常结束其对话 于是在下次启动数据库时 就不需要恢复实例     ( )shutdown immediate(立即方式关闭数据库)    当选择Immediate关闭方式时 即实现直接关闭 在SVRMGRL中执行shutdown immediate 数据库并不立即关闭 而是在Oracle执行某些清除工作后才关闭(终止会话 释放会话资源) 当使用shutdown不能关闭数据库时 shutdown immediate可以完成数据库关闭的操作     该关闭方式主要用于下列情况     ①马上停电     ②Oracle正在非正规的运行数据库或一个数据库应用     该方式关闭数据库过程如下     ①Oracle结束当前正在处理的SQL语句     ②回滚未提交的事务     ③Oracle不等待与之相连接的用户退出连接 就直接中断他们 使用这种关闭方式 下次启动数据库时 Oracle应自动执行实例恢复     ( )shutdown abort(撤消实例方式关闭数据库)    这是一种最快的关闭方式 它主要用于下列情况     ①一分钟后就要停电     ②Oracle正在非正规的运行数据库或一个数据库应用 并且其它的关闭方式失效     ③启动一个数据库实例时碰到问题     该方式关闭数据库的过程如下     ①Oracle不等待调用完成 直接中断正在处理的SQL语句     ②回滚未提交事物     使用这种关闭方式 下次启动数据库时 Oracle应自动执行实例恢复 启动和关闭实例和数据库的操作需要connect internal系统特权 安装和打开数据库的操作还要有alter database系统特权 直接关闭数据库 正在访问数据库的会话会被突然终止 如果数据库中有大量操作正在执行 这时执行shutdown abort后 重新启动数据库需要很长时间     应用    在Unix中关闭Oracle i 其具体步骤如下     svrmgrl>connect internal  svrmgrl>shutdown  svrmgrl>exit    在关闭Oracle数据库时需注意问题    不要提前关闭SQL*NET     当需要SHUTDOWN数据库 不要提前关闭SQL*NET 直到确认关闭了SERVER上的所有数据库后再关闭SQL*NET 如果关闭了SQL*NET 用户将失去和数据库的会话     存档或删除旧的trace files和logs    当启动Oracle的一个实例时 Oracle把关于该实例的诊断信息写入指定的trace和log文件 每个后台进程都增加一个TRACE文件 它被存储在指定的目录 该路径由INIT ORA或CONFIG ORA文件中的BACKGROUND_DUMP_DEST参数指定 用户在数据库中遇到一个内部错误时也增加用户的TRACE文件 该文件的位置由INIT ORA或CONFIG ORA文件中的USER_DUMP_DEST参数指定 TRACE文件的个数和名称形式由使用数据库的操作系统决定     在每次启动和关闭数据库时 Oracle不会自动删除TRACE文件 如果长期不删除这些无用文件 它们将占据数据库中大量的自由空间 数据库管理员应该很好的管理这些文件 可以采取删除或者存档的策略来避免无用文件占用大量自由空间     SQL*NET也产生LOG文件 一般叫LISTENER LOG LISTENER LOG文件大小也随着启动的次数不断的变大 所以通过妥善管理它也能有效的利用空间 查看该文件可以键入命令     lsnrctl status    在Oracle i中使用该命令 其显示结果为     o % lsnrctl status  LSNRCTL for SGI IRIX : Version Production on APR : :   (c) Copyright Oracle Corporation All rights reserved   Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))  STATUS of the LISTENER  Alias LISTENER  Version TNSLSNR for SGI IRIX : Version Production  Start Date MAR : :   Uptime days hr min sec  Trace Level off  Security OFF  SNMP OFF  Listener Log File /data/ora i/OraHome/neork/log/listener log  The listener supports no services  The mand pleted successfully    改名ALERT LOG文件    ALERT LOG文件也是用来记录INSTANCE的诊断信息的 它的存放目录也通过BACKGROUND_DUMP_DEST参数来指定 一般情况下ALERT LOG文件命名方式为 ALERT_ LOG ALTER LOG文件包括了一些数据库主要事件信息 例如 startup和shutdown及redolog的使用 表空间的改变 文件的改变 内部错误信息和数据库备份状态的改变等     ALTER LOG在后续数据库的使用中 其增长速度非常快 如果一段时间后 再查看它时 其文件已经变得非常大 所以查看它是非常的费劲 一般来讲 为了既能留下这些有用的信息 同时不至于浪费很大的空间 最好的管理办法就是给它改名 可以在任何时候更改ALTER LOG文件名 建议在SHUTDOWN/STARTUP数据库时更改名字 cha138/Article/program/Oracle/201311/17589

相关参考

知识大全 工作中遇到的oracle故障分析和处理一例

  案例类别VAS网络系统类型CMODE系统版本硬件SUN软件所有版本案例标题CMODE放号中的数据库出现LOCK的处理方法故障现象启动sam_cmode进程不能正常处理工单故障描述启动以sam_cm

知识大全 Oracle常见错误代码的分析与解决一

Oracle常见错误代码的分析与解决一  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在使用OR

拖拉机发动机无法启动问题分析

拖拉机的发动机启动不起来通常有以下几种情况:一是燃油箱油量不够用;二是管路中有空气障碍;三是油泵、喷油嘴不正常工作。需要注意的是如果在冬天,要看环境温度,温度低,机油粘,启动转速不够会造成启动困难;启

拖拉机发动机无法启动问题分析

拖拉机的发动机启动不起来通常有以下几种情况:一是燃油箱油量不够用;二是管路中有空气障碍;三是油泵、喷油嘴不正常工作。需要注意的是如果在冬天,要看环境温度,温度低,机油粘,启动转速不够会造成启动困难;启

知识大全 登录和会话启动故障的疑难解答

  本章讲述SolarisCDE的启动文件和在启动SolarisCDE时可能遇到的故障并且给出启动故障的相应解决方案    登录启动文件    错误记录位置    用户启动文件    SolarisC

微耕机常见故障分析

1.柴油雾化不良。多是高压油泵磨损,压力小,油量少造成。2.难启动。①查看缸套是否有拉断的伤痕,然后看减压手柄是否打开;。3.无法启动工作。①检查喷油嘴是否喷油,检查油箱是否耗光燃油,;②查看供油时间

微耕机常见故障分析

1.柴油雾化不良。多是高压油泵磨损,压力小,油量少造成。2.难启动。①查看缸套是否有拉断的伤痕,然后看减压手柄是否打开;。3.无法启动工作。①检查喷油嘴是否喷油,检查油箱是否耗光燃油,;②查看供油时间

知识大全 ORACLE数据库常见问题诊断方法

ORACLE数据库常见问题诊断方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ORACLE的

知识大全 Oracle数据库常见问题答疑二

Oracle数据库常见问题答疑二  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  问利用QUERY

知识大全 oracle 10g常见问题精选

  一怎样配置EM使其支持SSL协议    GEM中的OMSDBConsoleAgent都支持SSL协议    具体操作:    如果没有环境变量ORACLE_SID请先配置或者直接敲入setORAC