这篇文章主要介绍“怎么解决数据库ORA-01261”,在日常操作中,相信很多人在怎么解决数据库ORA-01261问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么解决数据库ORA-01261”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
搭建DG时,修改完参数重启数据库
SQL> startup
ORA-01261: Parameter db_create_file_dest destination string cannot be translated
ORA-01262: Stat failed on a file destination directory
Linux-x86_64 Error: 2: No such file or directory
生成pfile查看spfile内容
SQL> create pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora' from spfile;
File created.
发现将路径的orcl写成ocrl
*.db_create_file_dest='/oradata/ocrl'
改正后
SQL> create spfile from pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora';
File created.
常见错误:转载自http://www.dataguru.cn/thread-179398-1-1.html
错误1:
ORA-16057: DGID from server not in Data Guard configuration
原因:主库没有设置参数log_archive_config
解决方法*.log_archive_config='dg_config=(orcl,auxdb)'
alter system set log_archive_config='dg_config=(orcl,auxdb)' scope=both;
错误2:
PING[ARC0]: Heartbeat failed to connect to standby 'aux'. Error is 1031.
ORA-01031: insufficient privileges
解决问题思路:1、检查sys密码是否正确,大部分是这个原因。
备注:
曾经遇到无论从主数据库所在的机器连接主数据库还是从数据库,还是从从数据库所在机器连接主数据库、从数据库,使用sysdba角色,连接没有问题,
但是就是日志传递不到从数据库上,我百思不得其解
后来终于发现了,还是密码文件有问题。oracle的data guard不能使用操作系统验证,必须使用密码验证
你从主数据库所在机器能使用"SQLplus as sysdba"连接上从数据库,并不表示你从数据库上的密码文件一定是有效的,
注意从数据库所在机器上有密码文件,并且密码文件的位置和命名都符合oracle规范,但是密码文件不一定有效,检查密码文件有效的方式,
就是在windows上创建一个操作系统用户,不要将这个用户加入操作系统的ora_dba组,那么这个操作系统用户肯定不能使用操作系统验证,
用这个用户重新登录,再使用"sqlplus as sysdba"这个连接数据库,如果不报没有足够的权限的错误,
那就是说密码文件肯定没有问题
2、Oracle用户有写standby_archive_dest的权限
错误3:
ORA-16025: parameter LOG_ARCHIVE_DEST_2 contains repeated or conflicting attributes
出现该错误的原因是LOG_ARCHIVE_DEST_2='SERVICE=orcl LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl'
db_unique_name前少了一个空格导致的
到此,关于“怎么解决数据库ORA-01261”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!