oracle 错误解决(1)

本次oracle异常大致有如下 问题:
修改内存配置项后,导致oracle不能启动
然后在没有了解具体错误情况下,误删了spfile文件
不能直接使用 sqlplus / as sysdba登录.

(1)不能直接使用 sqlplus / as sysdba登录.
这里大概了解了一下oracle的认证模式
操作系统认证–针对系统管理员
密码文件认证–针对系统管理员
外部认证 – 所有用户

解决方案: 修改sqlnet.ora

SQLNET.AUTHENTICATION_SERVICES= ALL

关于此配置项的几种配置方法 SQLNET.AUTHENTICATION_SERVICES = none | all | ntf(windows)
none : 表示关闭操作系统认证,只能密码认证。
all : 操作系统认证和密码认证均可。
nts : 用于windows平台。

(2)修复spfile

pfile: 初始化参数文件(Initialization Parameters Files),Oracle
9i之前,ORACLE一直采用pfile方式存储初始化参数,pfile
默认的名称为“init+例程名.ora”文件路径:/data/app/oracle/product/12.1.0/dbhome_1/dbs,这是一个文本文件,可以用任何文本编辑工具打开。

spfile:服务器参数文件(Server Parameter Files),从Oracle
9i开始,Oracle引入了Spfile文件,spfile
默认的名称为“spfile+例程名.ora”文件路径:/data/app/oracle/product/12.1.0/dbhome_1/dbs
以二进制文本形式存在,不能用vi编辑器对其中参数进行修改,只能通过SQL命令在线修改。

因为spfile已经被重新替换,之前没有备份
所以尝试通过alter.log 进行恢复
alert+oraclesid+_log

从alert日志中找到关于数据的配置项
在这里插入图片描述

创建initorcl.ora文件

通过init文件 启动数据库

startup pfile='全路径\initora10.ora';

通过pfile 创建spfile

create spfile from pfile='全路径\initora10.ora';

注:这里可能绕了弯路,能登录后貌似可以使用rman对spfle进行修复

数据启动,但是可能由于恢复的spfile不正确依然有异常
数据库尝试从一个压根不存在的目录找system01.dbf

(3)重新设置DBF,ctl文件路径
重新设置表空间文件(dbf)路径

alter database rename file ‘原路径\USERS01.DBF' to '文件新路径\USERS01.DBF'; 

重新设置控制文件(CTL)路径

 alter system set control_files='/alidata1/oradata/orahq/control01.ctl','/alidata1/oradata/orahq/control02.ctl' scope=spfile;

重启数据库 出现异常
ORA-01103: database name ‘ORCL’ in control file is not ‘SEEDDATE’

大致意思应该是 名称配置不一致
查看init.ora文件

db_name  = "SEEDDATE" -- 应该改成orcl
db_unique_name = "orcl"

修改pfile后 使用pfile启动数据库,重新升成spfile.
再次重启 一切正常

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值