监听服务启动及数据文件恢复oracle数据库

xiaoxiao2022-06-11  30

最近遭遇了 oralce 监听服务启动了 又自行关闭的 悲惨经历 :cry: 我把我的过程和大家分享一下! 1)排查原因 程序员是懒惰的,我始终都希望能够成功启动监听服务,但是就是事与愿违 有一下方式可能不能成功启动监听 1.端口占用,oralce 要用到1521,2100..等在cmd下 netstate -ao;看是否有oralce 的端口被占用; 2.就是监听文件%oraclebase%\network\admin\listener.ora 是否被修改过,或者是 修改过本机的用户名 3.在database的sid 是否修改过在注册表下查找,或者通过命令修改 4.cmd lsnrctl status 看哈具体的原因,百度 google 下 看能不能解决,这里我不祥说 具体原因具体分析。 有一种情况我说哈 在运行处执行REGEDIT进入注册表到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome92TNSListener 发现ImagePath关键值没有了,增加他,选择可扩充字符串值,编辑字符串的 数值数据为:e:\Oracle\Ora92\BIN\TNSLSNR; 2) 如果不是以上还是无法启动,我们只好用很笨的方法了(我当时是重装的系统,安装数据 库 的) 重装的oracle和以前损坏的数据库是一模一样的结构。(路径,机器名,数据库名) 1。停止oracle当前服务,删除掉新建数据库的所有数据文件、控制文件和日志文件 Cmd>sqlplus /nolog ; Sql>conn as sysdba 用户名:system 密码:(此处密码为新创建数据库的密码) Sql>shutdown immediate ; Copy原数据库的数据文件、控制文件和日志文件到对应目录下; Sql>startup nomount Sql>alter database mount ; 此时看数据库是不是能mount起来,有时会提示没有口令文件PWDdemo.ora文件找不到。 查看对应的目录(database下)会发现该文件是存在的。此时需要注意,该口令文件是新 安装数据库后创建实例时生成的口令文件,不是以前所用数据库的口令文件,而现在, 我们是用以前数据库的控制文件和数据文件来打开以前的数据库,所以此时需要重新创 建一个口令文件。 Sql>shutdown immediate Sql>host orapwd file=c:\oracle9i\database\PWDdemo.ora password=oracle Entries=10 (放在database 目录下) Sql>startup nomount Sql>alter database mount Sql>alter database open 是不是恢复好了啊!ok 还有种办发说 安装好数据库后 用 startup pfile=参数文件名 带初始化参数文件的启动方式 先读取参数文件,再按参数文件中的设置启动数据库 例:startup pfile=E:\Oracle\admin\oradb\pfile\init.ora 我没有试过,哈哈 希望以上对你有帮助,goodluck! 相关资源:Java 面经手册·小傅哥(公众号:bugstack虫洞栈).pdf
转载请注明原文地址: https://www.6miu.com/read-4931385.html

最新回复(0)