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 ......
create or replace type mytype IS TABLE OF varchar2(20);
declare type1 mytype :=mytype('1','2','3','4');
i number:=1;
var_str varchar(20):='liaomin';
begin
type1.EXTEND;
type1(type1.COUNT):=var_str;
loop
dbms_output.put_line(type1(i));
i:=i+1;
exit when i=type1.count+1; ......
说明:下文中的一些说明和示例代码摘自CSDN,恕不一一指明出处,在此一并对相关作者表示感谢!
1 语法
在Oracle中,可以创建以下两种临时表:
1) 会话特有的临时表
CREATE GLOBAL TEMPORARY ( )
ON COMMIT PRESERVE ROWS;
2) 事务特有的临时表
CREATE GLOBAL TEMPORARY ( )
O ......
抽象数据类型
1、创建类型
--地址类型
CREATE OR REPLACE TYPE AddressType AS OBJECT
(
Country varchar2(15),
City varchar2(20),
Street varchar2(30)
);
2、类型嵌套
--创建基于前一个类型的新的抽象数据类型:巨星类型
CREATE OR REPLACE TYPE SuperStarType AS OBJECT
(
StarName varchar2(30),
Addres ......