下午把redo log file移动了下位置,在启动数据库时出现如下提示:
SQL> startup
ORA-32004: obsolete or deprecated parameter(s) specified forRDBMS instance
ORACLE instance started.(有陈旧或过时的参数)
Total System Global Area417546240 bytes
Fixed Size2213936 bytes
Variable Size318769104 bytes
Database Buffers92274688 bytes
Redo Buffers4288512 bytes
Database mounted.
Database opened.
[oracle@oracle11g trace]$ less alert_orcl.log |grep Deprecated
Deprecated system parameters with specified values:
查看日志中发现有三个地方
13109 Deprecated system parameters with specified values:
13110sql_trace
13287 Deprecated system parameters with specified values:
13288sql_trace
13459 Deprecated system parameters with specified values:
13460sql_trace
查看pfile和spfile文件 发现都有 sql_trace 这个参数;
[oracle@oracle11g dbs]$ vim initorcl.ora
28 *.sql_trace=TRUE
指定pfile文件启动
SQL> startup pfile='/db/oracle/product/11.2.0/db_1/dbs/initorcl.ora';
ORACLE instance started.
Total System Global Area417546240 bytes
Fixed Size2213936 bytes
Variable Size318769104 bytes
Database Buffers92274688 bytes
Redo Buffers4288512 bytes
Database mounted.
Database opened.
SQL> create spfile from pfile; 创建spfile;
File created.
关闭实例在重启启动就没有ora-32004提示了:
SQL> startup
ORACLE instance started.
Total System Global Area417546240 bytes
Fixed Size2213936 bytes
Variable Size318769104 bytes
Database Buffers92274688 bytes
Redo Buffers4288512 bytes
Database mounted.
Database opened.
#################
sql_trace 是oracle提供的用于进行SQL跟踪的手段,SQL_TRACE可以作为初始化参数在全局启动,也可以在具体的session启用;是不是由于改变了redo log file的文件位置而致使在全局设置的sql_trace失效了呢?求解释。下面是sql_trace使用的方法:
1.在全局启用
在参数文件(pfile/spfile)中指定: SQL_TRACE = true
在全局启用SQL_TRACE会导致所有进程的活动被跟踪,包括后台进程及所有用户进程,这通常会导致比较严重的性能问题,所以在生产环境中要谨慎使用。
提示: 通过在全局启用SQL_TRACE,我们可以跟踪到所有后台进程的活动,很多在文档中的抽象说明,通过跟踪文件的实时变化,我们可以清晰的看到各个进程之间的紧密协调。
2.在当前session级设置
大多数时候我们使用SQL_TRACE跟踪当前会话的进程。通过跟踪当前进程可以发现当前操作的后台数据库递归活动(这在研究数据库新特性时尤其有效),研究SQL执行,发现后台错误等。
在session级启用和停止SQL_TRACE方式如下:
启用当前session的跟踪:
SQL> alter session set SQL_TRACE=true;
Session altered.
此时的SQL操作将被跟踪:
SQL> select count(*) from v$session;
COUNT(*)
----------
26
结束跟踪:
SQL> alter session set SQL_TRACE=false;
Session altered.