本次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日志中找到关于数据的配置项
oracle 错误解决(1)

创建initorcl.ora文件

通过init文件 启动数据库
startup pfile=‘全路径\initora10.ora’;

通过pfile 创建spfile
create spfile from pfile=‘全路径\initora10.ora’;

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

数据启动,但是可能由于配置项不正确依然有异常
数据库尝试从一个压根不存在的目录找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.再次重启 一切正常

相关文章:

  • 2021-08-26
  • 2021-07-11
  • 2022-12-23
  • 2021-06-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-06-12
  • 2022-12-23
  • 2021-07-11
  • 2021-10-24
  • 2022-12-23
  • 2022-12-23
  • 2021-12-23
相关资源
相似解决方案