参考文档里面这一条设置,想开启归档日志模式,并修改归档日志的默认路径。
alter system set log_archive_dest=”location=/u01/app/Oracle/baklog” scope=spfile;
执行之后出问题,关闭数据库之后,起不来了,
————————————————————————————
SQL> startup nomount;
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORA-16032: parameter LOG_ARCHIVE_DEST destination string cannot be translated
ORA-07286: sksagdi: cannot obtain device information.
Linux-x86_64 Error: 2: No such file or directory
————————————————————————————-
原因是,log_archive_dest 是早期版本的参数,已经是个废弃的参数,不能用LOCATION SERVICE等关键字,新的版本设置为路径log_archive_dest_N(N可以是1,2,3,4) 10G支持10个路径 11G支持到31个。
问题解决过程。由于我的数据库是安装在ASM磁盘组上,所以不能用
create pfile=’/tmp/init.ora’ from spfile 这条命令导出spfile文件,注意spfile文件是二进制文件,不能直接编辑。如果安装数据库是在文件系统上,那么直接执行这句就可以。
我的环境需要执行create pfile=’/tmp/init.ora’ from spfile=’+DATA/orcl/spfileorcl.ora’
意思就是说,将spfile文件导出到/tmp/init.ora文件中,
然后查看init.ora文件,,找到错误的一行,修改正确
———————————————————————————
[oracle@oracle ~]$ cat /tmp/init.ora
orcl.__db_cache_size=637534208
orcl.__java_pool_size=16777216
orcl.__large_pool_size=16777216
orcl.__oracle_base=’/u01/app/oracle’#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=671088640
orcl.__sga_target=989855744
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=301989888
orcl.__streams_pool_size=0
*.audit_file_dest=’/u01/app/oracle/admin/orcl/adump’
*.audit_trail=’db’
*.compatible=’11.2.0.0.0′
*.control_files=’+DATA/orcl/controlfile/current.260.790263943′,’+FRA/orcl/controlfile/current.256.790263943′
*.db_block_size=8192
*.db_create_file_dest=’+DATA’
*.db_domain=”
*.db_name=’orcl’
*.db_recovery_file_dest=’+FRA’
*.db_recovery_file_dest_size=4070572032
*.diagnostic_dest=’/u01/app/oracle’
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)’
*.log_archive_dest=’location=/u01/app/oracle/baklog’ 注意这一行
*.memory_target=1655701504
*.nls_language=’SIMPLIFIED CHINESE’
*.nls_territory=’CHINA’
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile=’EXCLUSIVE’
*.undo_tablespace=’UNDOTBS1′