使用Linux Strace跟踪调试Oracle程序进程(二)

2015-11-10 12:17:40 · 作者: · 浏览: 25
, O_RDONLY) = -1 ENOENT (No such file or directory)


14:21:14 stat("/u01/app/oracle/lib/tls/x86_64", 0x7fff3076da50) = -1 ENOENT (No such file or directory)


14:21:14 open("/u01/app/oracle/lib/tls/libsqlplus.so", O_RDONLY) = -1 ENOENT (No such file or directory)


14:21:14 stat("/u01/app/oracle/lib/tls", 0x7fff3076da50) = -1 ENOENT (No such file or directory)


14:21:14 open("/u01/app/oracle/lib/x86_64/libsqlplus.so", O_RDONLY) = -1 ENOENT (No such file or directory)


14:21:14 stat("/u01/app/oracle/lib/x86_64", 0x7fff3076da50) = -1 ENOENT (No such file or directory)


14:21:14 open("/u01/app/oracle/lib/libsqlplus.so", O_RDONLY) = 3


14:21:14 open("/u01/app/oracle/lib/libclntsh.so.11.1", O_RDONLY) = 3


14:21:14 open("/u01/app/oracle/lib/libnnz11.so", O_RDONLY) = 3


14:21:14 open("/u01/app/oracle/lib/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)


(篇幅原因,有省略……)


14:21:14 access("/etc/tnsnav.ora", F_OK) = -1 ENOENT (No such file or directory)


14:21:14 access("/u01/app/oracle/network/admin/tnsnav.ora", F_OK) = -1 ENOENT (No such file or directory)


14:21:14 open("/u01/app/oracle/oracore/zoneinfo", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 6


14:21:14 open("/u01/app/oracle/oracore/zoneinfo/timezlrg_1.dat", O_RDONLY) = 7


14:21:14 open("/u01/app/oracle/oracore/zoneinfo/timezlrg_2.dat", O_RDONLY) = 7


(读取各种时区数据……)


14:21:14 open("/u01/app/oracle/oracore/zoneinfo/timezone_14.dat", O_RDONLY) = 7


14:21:14 open("/u01/app/oracle/oracore/zoneinfo/timezlrg_14.dat", O_RDONLY) = 6


14:21:14 open("/usr/lib64/libnuma.so", O_RDONLY) = -1 ENOENT (No such file or directory)


14:21:14 open("/usr/lib64/libnuma.so.1", O_RDONLY) = 6


14:21:14 open("/proc/self/status", O_RDONLY) = 6


14:21:14 open("/sys/devices/system/node", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 6


14:21:14 open("/sys/devices/system/node/node0/meminfo", O_RDONLY) = 7


14:21:14 open("/sys/devices/system/cpu", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 6


14:21:14 open("/proc/self/status", O_RDONLY) = 6


14:21:14 open("/proc/sys/kernel/shmmax", O_RDONLY) = 6


14:21:14 open("/proc/meminfo", O_RDONLY) = 6


14:21:14 open("/usr/lib64/libnuma.so", O_RDONLY) = -1 ENOENT (No such file or directory)


14:21:14 open("/etc/localtime", O_RDONLY) = 6


14:21:14 open("/u01/app/oracle/rdbms/mesg/ocius.msb", O_RDONLY) = 6


SQL*Plus: Release 11.2.0.4.0 Production on Fri Jun 12 14:21:14 2015


Copyright (c) 1982, 2013, Oracle.? All rights reserved.


--启动之后,读取的文件。


14:21:14 stat("login.sql", 0x7fff3076c740) = -1 ENOENT (No such file or directory)


14:21:14 stat("/u01/app/oracle/sqlplus/admin/glogin.sql", {st_mode=S_IFREG|0644, st_size=368, ...}) = 0


14:21:14 access("/u01/app/oracle/sqlplus/admin/glogin.sql", F_OK) = 0


14:21:14 statfs("/u01/app/oracle/sqlplus/admin/glogin.sql", {f_type="EXT2_SUPER_MAGIC", f_bsize=4096, f_blocks=174170552, f_bfree=147038320, f_bavail=138190973, f_files=44236800, f_ffree=44019067, f_fsid={1821877354, 763674030}, f_namelen=255, f_frsize=4096}) = 0


14:21:14 open("/u01/app/oracle/sqlplus/admin/glogin.sql", O_RDONLY) = 7


如果在启动sqlplus过程中,直接进行登录。跟踪过程中还包括了登录动作。


[oracle@localhost ~]$ strace -t -e trace=file sqlplus / as sysdba


14:29:30 execve("/u01/app/oracle/bin/sqlplus", ["sqlplus", "/", "as", "sysdba"], [/* 31 vars */]) = 0


(相同篇幅内容,略……)


SQL*Plus: Release 11.2.0.4.0 Production on Fri Jun 12 14:29:30 2015


Copyright