ORACLE的三个配置文件介绍
在oracle安装目录$HOME/network/admin下,经常看到sqlnet.ora tnsnames.ora
listener.ora这三个文件,除了tnsnames.ora,其他两个文件详细的用途很多人都不太了解。
sqlnet.ora 用在oracle client端,用于配置连接服务端oracle的相关参数.
tnsnames.ora 用在oracle
client端,用户配置连接数据库的别名参数,就像系统中的hosts文件一样。listener.ora 用在oracle
server端,配置oracle服务端程序的监听办法,比如限制某些ip等参数。
在安装目录$HOME/network/admin/samples下,会看到如上三个文件的示例文件,里面会有相关参数的说明和用法,如果遇到什么问
题,大家可以对照这些示例文件中相关参数的说明进行解决。
如果连接数据库出了什么问题,在保证网络出正常,没有防火墙干扰的情况下,查找问题的步骤是:
1)在客户端顺序检查sqlnet.ora,tnsnames.ora是有问题。
2)在服务器端检查listener.ora配置,并且保证监听程序启动,数据库服务加载。
认识sqlnet.ora
下面只讲述几个常用参数配置,详细的资料,大家可以查看示例sqlnet.ora得到。
sqlnet.ora可以删除,这样在oracle客户端连接数据库的时候,默认采用tnsnames.ora中的配置。
1).NAMES.DEFAULT_DOMAIN
域名domain定义,在你用sqlplus访问数据库的时候,会在tns别名后面加上".domain"
示例:
sqlnet.ora中:
NAMES.DEFAULT_DOMAIN=com
tnsnames.ora中的tns定义如下:
local_dev =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =
192.168.1.111)(PORT = 1521))
(CONNECT_DATA =
(SERVER =
DEDICATED)
(SERVICE_NAME = linuxdb)
)
)
在客户端执行命令:sqlplus
[email=username/password@local_dev]username/password@local_dev[/email]的时
候,会出现如下错误信息:
"ORA-12154: TNS: 无法处理服务名"或者"ORA-12154: TNS:could not resolve
service name"这样的错误信息。
因为sqlplus
[email=username/password@local_dev]username/password@local_dev[/email]的时
候,将tns别名“local_dev”转换成了“local_dev.com”,所以local_dev.com在tnsnames.ora中找不到,
就报错了。
修改tnsnames.ora中的定义如
相关文档:
我在工作中在Oracle中多表查询再按时间倒序时,用order by 表名.datatime desc 总是实现不了。
不过最后问杨鹃最后和我说可以把我们查询的总个sql语句做为一个表来排序:
select rownum,aa.* from (.... order by 表名.datatime desc ) aa ......
今天遇到一个问题,PERL 引起Oracle数据库100% CPU,系统是enterprise linux 4 update 7 64 bit
查看进程原来是grid的agent。只有先停掉grid
./emctl stop agent
./opmn stopall
pkill -9 perl
然后再看看有没有什么bug。 这是个bug, 打了patch 5908032后好像正常了。
oracle 549 &nbs ......
-- 删除重复记录
DELETE from mytable t1 WHERE ROWID > (SELECT MIN (ROWID) from mytable t2 WHERE t1. key = t2.key);
-- 当前日期
SELECT TO_CHAR(SYSDATE, 'yyyy-MM-dd') from DUAL;
-- 上月当前日期
SELECT TO_CHAR(ADD_MONTHS(SYSDATE,
-1), 'yyyy-MM-dd') from DUAL;
-- 下月当前日期
SELECT
TO_C ......