mysql ora01031_as sysdba 出现ORA-01031: insufficient privileges 解决办法

这篇博客总结了在配置Oracle Dataguard时可能遇到的错误及其处理方法,包括主库为RAC,备库为Single或RAC的情况。重点讨论了静态监听配置、备库密码文件的创建以及解决ORA-01031权限不足的问题。通过修改listener.ora文件和检查ORACLE_HOME设置,可以解决无法以sysdba权限登录的故障。
摘要由CSDN通过智能技术生成

最近Dataguard做了好多测试,刚刚开始的时候出现最多的就是监听、tnsnames.ora配置有问题导致各种连接报错。

总结一下各种报错的处理方法:

情景1:主库是RAC,备库是single

oracle同一个报错引起的原因可能是很多,比如ORA-01031、ORA-12514。所以本文不打算针对报错去解决问题,而是讨论一下配置Dataguard要注意的地方。

情景1:主库是RAC,备库是single

1.pfile中dg参数注意service name,详见我之前的一篇博文

主要报错

ERROR at line 1:ORA-10458: standby database requires recoveryORA-01152: file 1 was not restored from a sufficiently old backupORA-01110: data file 1: '/oracle/oradata/BSTYLE/system.309.766573511'

alter.log有报错

Error 12154 received logging on to the standby

2.备库静态监听配置

新手首先要搞清楚 动态监听、静态监听的区别 因为做备库同步的时候,备库一定是要配置静态监听的。这里我贴个能用的备库Listener.ora

# listener.ora Network Configuration File: /u01/app/11.2.0/grid/product/db_1/network/admin/listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = orcl)

(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)

(SID_NAME = orcl)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = dg01)(PORT = 1521))

)

)

)

3. 备库密码文件的创建,可以直接复制主库的密码文件。如果你复制的是节点1那么rman做duplicate的时候就连节点1,否则会报密码文件错误。

情景2 主库是RAC,备库也是RAC

1.静态监听的配置与单实例不同了,这里我贴个能用的备库Listener.ora

# listener.ora Network Configuration File: /u01/app/11.2.0.3/grid/network/admin/listener.ora

# Generated by Oracle configuration tools.

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN3 = ON

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN2 = ON

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1 = ON

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = orcl)

(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)

(SID_NAME = orcl1)

)

)

LISTENER =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = LISTENER))

)

ADR_BASE_LISTENER = /u01/app/grid

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER = ON

LISTENER_SCAN3 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = LISTENER_SCAN3))

)

LISTENER_SCAN2 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = LISTENER_SCAN2))

)

ADR_BASE_LISTENER_SCAN3 = /u01/app/grid

LISTENER_SCAN1 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = LISTENER_SCAN1))

)

ADR_BASE_LISTENER_SCAN2 = /u01/app/grid

ADR_BASE_LISTENER_SCAN1 = /u01/app/grid

根据自己环境修改相关的地方,修改后用crsctl重启监听

crsctlstop res ora.LISTENER.lsnr

crsctlstart res ora.LISTENER.lsnr

crsctlstatus res ora.LISTENER.lsnr

lsnrcltstatus

2. 如果你遇到使用sqlplus sys/oracle@orcl as sysdba不能登录而sqlplus sys/oracle@orcl可以,或者在备库没有nomount便不能连接的时候,请检查一下静态监听的配置,ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1这个是oracle用户下的$ORACLE_HOME而不是grid用户的$ORACLE_HOME

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值