Oracle数据库如何定位trace file位置

用一个示例来说明吧。

在导入master key时,出现错误:

sql 复制代码
ADMINISTER KEY MANAGEMENT
  IMPORT KEYS WITH SECRET "my_secret"
  FROM '/tmp/export.exp'
  IDENTIFIED BY keypwd
  5    WITH BACKUP;
ADMINISTER KEY MANAGEMENT
*
ERROR at line 1:
ORA-46655: no valid keys in the file from which keys are to be imported

另一个错误:

sql 复制代码
ADMINISTER KEY MANAGEMENT
  IMPORT KEYS WITH SECRET "my_secret"
  FROM '/tmp/export.exp'
  IDENTIFIED BY keypwd
  5    WITH BACKUP;
ADMINISTER KEY MANAGEMENT
*
ERROR at line 1:
ORA-46654: cannot add the imported keys to the keystore

第2个错误提示让看trace file,第一个错误虽然没提示,但详细的错误信息也在trace file中。

sql 复制代码
SQL> !oerr ora 46654
46654, 00000, "cannot add the imported keys to the keystore"
// *Cause: The operation of writing the imported keys to the keystore failed.
// *Action: Check the contents of the trace file for more information on the
//          cause of the failure and retry the command.

SQL> !oerr ora 46655
46655, 00000, "no valid keys in the file from which keys are to be imported"
// *Cause: The specified keystore, from which keys are to be imported, did not
//         contain any valid keys.
// *Action: None.

根据Oracle的文档,运行以下命令以定位trace file:

sql 复制代码
select s.sid,s.serial#,s.audsid,s.username,s.osuser, s.client_identifier, s.sql_trace,s.action, p.spid, p.TRACEFILE
from v$session s,v$process p
where s.paddr=p.addr
and s.username is not null;

...
TRACEFILE
--------------------------------------------------------------------------------
/u01/app/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_ora_32145.trc
...

然后就可以找到准确的错误信息:

bash 复制代码
Trace file /u01/app/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_ora_32379.trc
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.20.0.0.0
Build label:    RDBMS_19.20.0.0.0DBRU_LINUX.X64_230621
ORACLE_HOME:    /u01/app/oracle/product/19c/dbhome_1
System name:    Linux
Node name:      instance-20231013-1024-db19c-iaas
Release:        5.4.17-2136.322.6.2.el7uek.x86_64
Version:        #2 SMP Sat Aug 19 11:55:11 PDT 2023
Machine:        x86_64
Instance name: ORCL
Redo thread mounted by this instance: 1
Oracle process number: 56
Unix process pid: 32379, image: oracle@instance-20231013-1024-db19c-iaas (TNS V)
相关推荐
IT 小阿姨(数据库)1 天前
PgSQL中pg_stat_user_tables 和 pg_stat_user_objects参数详解
linux·运维·数据库·sql·postgresql·oracle
float_六七1 天前
预编译SQL:安全与性能的双重保障
sql·安全·oracle
代码的余温1 天前
Oracle RAC认证矩阵:规避风险的关键指南
数据库·oracle·矩阵
吃饭最爱2 天前
JUnit技术的核心和用法
数据库·oracle·sqlserver
沙二原住民2 天前
提升数据库性能的秘密武器:深入解析慢查询、连接池与Druid监控
java·数据库·oracle
Mr_Xuhhh2 天前
sqlite3的使用
jvm·oracle·sqlite
xianyinsuifeng2 天前
Oracle 10g → Oracle 19c 升级后问题解决方案(Pro*C 项目)
c语言·数据库·oracle
半夏陌离3 天前
SQL 拓展指南:不同数据库差异对比(MySQL/Oracle/SQL Server 基础区别)
大数据·数据库·sql·mysql·oracle·数据库架构
叫我阿柒啊3 天前
从Java全栈到前端框架:一次真实面试的深度复盘
java·spring boot·typescript·vue·database·testing·microservices
jnrjian3 天前
v$lock TS lock id1 用于发现Oracle pdb不能关闭的sid
sql·oracle