Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

3

积分

0

好友

1

主题
1#
发表于 2012-3-13 16:29:00 | 查看: 16476| 回复: 11
大家好.请教一个问题. 三个节点都是在15:48时,报TNS-12546,TNS-12560和TNS-00516错误, 三个节点而且每天只报一次此错误.不知道是啥原因?


12-MAR-2012 15:45:08 * service_update * antispam3 * 0
12-MAR-2012 15:45:56 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=DBSVR03)(USER=oracle))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER_ DBSVR03)(VERSION=185599744)) * status * 0
12-MAR-2012 15:46:53 * service_update * antispam3 * 0
12-MAR-2012 15:47:53 * service_update * antispam3 * 0
12-MAR-2012 15:48:35 * service_update * antispam3 * 0
12-MAR-2012 15:48:36 * 12546
TNS-12546: TNS:permission denied

TNS-12560: TNS:protocol adapter error

TNS-00516: Permission denied
12-MAR-2012 15:45:08 * service_update * antispam3 * 0
12-MAR-2012 15:45:56 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=DBSVR03)(USER=oracle))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER_ DBSVR03)(VERSION=185599744)) * status * 0
12-MAR-2012 15:46:53 * service_update * antispam3 * 0
12-MAR-2012 15:47:53 * service_update * antispam3 * 0
12-MAR-2012 15:48:35 * service_update * antispam3 * 0
12-MAR-2012 15:48:36 * 12546
TNS-12546: TNS:permission denied

TNS-12560: TNS:protocol adapter error

TNS-00516: Permission denied








问题分析:1.检查所访问的服务器IP,访问IP都在oracle数据库允许访问列表(数据库已做安全加固),不存在拒访.

2.检查三个节点主机防火墙,均为关闭状态.

3.检查数据库JOB和crontab定时任务,均未发现在15:48时运行程序.

2#
发表于 2012-3-13 16:31:58
操作系统是: SUSE LINUX

我找了很我资料,都是/tmp/.oracle 和/var/tmp/.oracle没有权限,但是我查看. .oracle目录都是drwxrwxrwt. 不存在权限问题.

回复 只看该作者 道具 举报

3#
发表于 2012-3-13 16:38:23
ls -al   /tmp/.oracle  和   ls -al /var/tmp/.oracle 贴出来看看

回复 只看该作者 道具 举报

4#
发表于 2012-3-13 16:45:27
DBSVR03:~ # ls -al   /tmp/
drwxrwxrwt  2 root   root          48 Feb 18  2010 .oracle

DBSVR03:/var/tmp # ls -la  
total 1
drwxrwxrwt  6 root root  168 Jan 11 01:53 .
drwxr-xr-x 15 root root  384 Feb 18  2010 ..
drwxrwxrwt  2 root root 1368 Jan 11 01:53 .oracle

回复 只看该作者 道具 举报

5#
发表于 2012-3-13 16:54:03
ls -la /tmp/.oracle

cat /etc/hosts
cat $ORACLE_HOME/network/admin/sqlnet.ora
cat $ORACLE_HOME/network/admin/listener.ora

回复 只看该作者 道具 举报

6#
发表于 2012-3-13 16:57:25
DIAG_ADR_ENABLED=OFF
tcp.validnode_checking=yes
tcp.invited_nodes =(172.16.1.21,172.16.1.22,172.16.1.23,172.16.1.24,172.16.1.25,172.16.1.26,172.16.1.27,172.16.1.28,172.16.1.29,172.16.1.30,172.16.1.31,172.16.1.32,172.16.1.33,172.16.1.34,172.16.1.35,172.16.1.36,172.16.1.70,172.16.1.71,172.16.1.72,172.16.1.73,172.16.1.74,172.16.1.75,172.16.1.90,172.16.1.91,172.16.1.92,172.16.1.100,172.16.1.101,172.16.1.102,172.16.1.110,172.16.1.111,172.16.1.112,172.16.1.160,172.16.1.161,172.16.1.37,172.16.1.38,172.16.1.39,172.16.1.40,172.16.1.41,172.16.1.42,172.16.1.43,172.16.1.44,172.16.1.45,172.16.1.46,172.16.1.47,172.16.1.48,172.16.1.49,172.16.1.228,172.16.1.229,172.16.1.230,172.16.1.237,172.16.1.238,172.16.1.239,10.201.38.235,10.201.38.236,10.201.38.237,132.96.20.72,132.96.20.76,132.96.20.77,132.96.20.78,132.96.20.89,132.96.20.98,132.96.20.99,132.96.20.100,132.96.20.193,132.96.20.194,132.96.20.195,132.96.20.196,132.96.20.197,132.96.20.198,132.96.20.199,132.96.20.200,132.96.20.201,132.96.20.202,132.96.20.203)

回复 只看该作者 道具 举报

7#
发表于 2012-3-13 16:58:24
LISTENER_DBSVR03 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST =DBSVR03-vip)(PORT = 1521)(IP = FIRST))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.1.71)(PORT = 1521)(IP = FIRST))
    )
  )


#----ADDED BY TNSLSNR 03-AUG-2011 01:30:03---
PASSWORDS_LISTENER = AD107B71695E83BA

回复 只看该作者 道具 举报

8#
发表于 2012-3-13 16:58:49
referece:
ORA-12547 While Client Connecting Via SSH Tunnel [ID 454252.1]
          修改时间 12-AUG-2009     类型 PROBLEM     状态 MODERATED          

In this Document
  Symptoms
  Cause
  Solution

This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process, and therefore has not been subject to an independent technical review.

Applies to:
Oracle Net Services - Version: 9.2 to 10.2
This problem can occur on any platform.
Symptoms

Client connection via SSH Tunnel fails  with ORA-12547  with IP Filter (TCP Valid Node checking)  enabled on the database server.

ie, even if the client IP address is listed in the tcp.invited_nodes , when the client connects via the SSH Tunnel (with port forwarding enabled on the client side) it errors with ORA-12547.

#sqlplus scott/tiger@ssh

ERROR:
ORA-12547: TNS:lost contact
Cause

Client was configured for port forwarding via the SSH tunnel.

Screen shot of Puuty Port forwarding configuration:
---------------------------------------------------





Putty event log should show the following if the port forwarding is enabled:


Putty Event Log:
----------------

2007-08-13 09:50:16 Initialised AES-256 client->server encryption
2007-08-13 09:50:16 Initialised HMAC-SHA1 client->server MAC algorithm
2007-08-13 09:50:16 Initialised AES-256 server->client encryption
2007-08-13 09:50:16 Initialised HMAC-SHA1 server->client MAC algorithm
2007-08-13 09:50:24 Sent password
2007-08-13 09:50:36 Access granted
2007-08-13 09:50:36 Opened channel for session
2007-08-13 09:50:36 Local port 127.0.0.1:1500 forwarding to 192.168.1.45:1521
2007-08-13 09:50:36 Allocated pty (ospeed 38400bps, ispeed 38400bps)
2007-08-13 09:50:36 Started a shell/command
2007-08-13 09:53:04 Opening forwarded connection to 192.168.1.45:1521



Client tnsnames.ora:
-----------------------

SSH =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1500))
)
(CONNECT_DATA =
(SERVICE_NAME = db10gr2)
)
)

Server sqlnet.ora:
-------------------

tcp.validnode_checking = yes
TCP.INVITED_NODES=(192.168.1.47)          ---> client Ip address


Listener log:
---------------

13-AUG-2007 10:13:18 * 12546
TNS-12546: TNS:permission denied
TNS-12560: TNS:protocol adapter error
TNS-00516: Permission denied

The server (sshd ) Ip address was not listed in tcp.invited_nodes  in the sqlnet.ora of the database server.

The ssh deamon is running on the database server and the tcp.invited_nodes does not contains the DB sever hostname and hence the client fails with ORA-12547 error.

It is the sshd which receives the traffic from the tunnel and hand over it to listener. As far as
the listener is concerned, the connection is coming from database server host itself.
Solution

To have the client connection working via the SSH Tunnel with port forwarding enabled you need to have the DB server hostname/Ip address listed in the tcp.invited_nodes in the server sqlnet.ora.

tcp.validnode_checking = yes
TCP.INVITED_NODES=(192.168.1.45)    --> server IP address

回复 只看该作者 道具 举报

9#
发表于 2012-3-13 17:01:21
所需要访问IP都在TCP.INVITED_NODES=(XXX)中.

回复 只看该作者 道具 举报

10#
发表于 2012-3-13 18:55:49
$ORACLE_HOME/network/admin/sqlnet.ora



/etc/hosts

把这2个源文件上传, 不要贴出来,要源文件

回复 只看该作者 道具 举报

11#
发表于 2012-9-13 17:48:32
tcp.invited_nodes里面有你本机的IP吗?

回复 只看该作者 道具 举报

12#
发表于 2012-9-14 18:22:57
准备学习 多谢分享!!!!

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-11-16 04:47 , Processed in 0.052335 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569