如何写SQL获得Oracle 服务器的IP地址

如何写SQL获得Oracle 服务器的IP地址,第1张

你先自己去看下
substr
好instr
两个的用法。
实现你说的方法可以:
select
substr('21806182',
1,length('21806182')
-
instr('',
reverse('21806182')))
from
(select

from
t_base_ipaddressinfo
where
'21806182'
between
startip
and
endip)
t
where
startip
=
substr('21806182',
1,length('21806182')
-
instr('',
reverse('21806182')))
||
substr(startip,
instr('',
reverse(startip)))

步骤1:打开企业管理器,如下。
步骤2:选择数据库,安全性,点击新建链接服务器
步骤3:选择链接服务器属性,常规,输入名称:TEST,选择ORACLE数据库提供程序,输入名称、数据源。
步骤4:进行安全性设置。本地登录,选择SQLServer数据库登录用户,远程登录用户和密码,输入远程连接数据库的用户和密码,选择用此安全上下文进行,输入远程登录用户和密码。
5
步骤5:点击TEST链接服务器下的表,我们可以访问ORACLE数据库的表了。
注意:产品名称要和所链接的服务器相对应,使用ORACLE数据库就要输入ORACLE,使用SQLServer就输入SQLServer。

网络配置文件默认的目录在$ORACLE_HOME/neork/admin 目录下

sqlnet ora

sqlnet ora文件决定找数据库服务器别名的方式

参数SQLNET AUTHENTICATION_SERVICES= (NONE NTS)表明用户连接Oracle服务器时使用哪种验证方式

NONE表示Oracle身份验证

NTS表示 ***       作系统身份验证

两种方式可以并用

ORA_DBA组中的域用户和本地用户不需要Oracle用户名和密码就可以登录Oracle

而且该组的用户登录数据库后都具有SYSDBA权限(多个实      例时 可以建立类似这样的组ORA_SID_DBA 其中SID指实例名

同理:ORA_OPER组中的成员具有SYSOPER角色的权限

登录方式  sqlplus / as sysdba

或者sqlplus nolog 然后SQL>connect / as sysdba

NAMES DEFAULT_DOMAIN = WORLD

NAMES DIRECTORY_PATH = (TNSNAMES ONAMES HOSTNAME)

表明解析客户端连接时所用的主机字符串的方式

TNSNAMES表示采用TNSNAMES ORA文件来解析

ONAMES表示使用自己的名称服务器(Oracle Name Server)来解析 目前Oracle建议使用轻量目录访问协议LDAP来取代ONAMES

HOSTNAME表示使用host文件 DNS NIS等来解析

如果你的ORACLE客户端和服务器默认的域名不一样 需要用#号注释第一行

#NAMES DEFAULT_DOMAIN = WORLD

使它不起作用

NAMES DIRECTORY_PATH指定找服务器别名的顺序 (本地的tnsnames ora文件 命名服务器 主机名方式)

服务器的sqlnet ora里可以设置检查客户端是否alive的时间间隔

sqlnet expire_time =

也可以设置环境变量TNS_ADMIN指向你想用的sqlnet ora和tnsnames ora目录

例如

TNS_ADMIN=/home/oracle/config/ ;export TNS_ADMIN

tnsnames ora

写数据库服务器别名的详细内容

有以下几种写法:

# 一般的写法

APPDB =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))

)

(CONNECT_DATA =

(SERVICE_NAME = appdb)

)

)

# 明确标明用dedicated方式连接数据库

APPD=

(DESCRIPTION=

(ADDRESS=(PROTOCOL=TCP)(HOST= )(PORT= ))

(CONNECT_DATA=

(SERVICE_NAME=appdb)

(SERVER=DEDICATED)))

# 对多个listener端口做均衡负载方式连接数据库

APPS =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))

(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))

)

(CONNECT_DATA =

(SERVICE_NAME = appdb)

)

)

# 注意 如果数据库服务器用MTS 客户端程序需要用database link时最好明确指明客户端用dedicated直连方式

#       不然会遇到很多跟分布式环境有关的ORACLE BUG

lishixinzhi/Article/program/Oracle/201311/17314

服务器端
\network\admin\listenerora
修改address的host即可。
客户端
\network\admin\tnsnamesora
修改address的host即可。
监听是服务端的,负责监听网络上发来请求,然后响应。
也可用net
manager直接修改配置。
服务器是unix的,我就不知道文件地址了,反正都是同样的修改。
修改后重新启动listener。

select
sys_context('userenv','ip_address')
from
dual;
如果是登陆本机数据库,只能返回127001,呵呵

应该是DBMS的服务名把,因为有允许多重驻留的,有多个服务名\x0d\1查看oracle的安装目录,\x0d\方法是查看注册表:\x0d\如:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ORACLE_HOME REG_SZ E:\ORACLE\ORA92 \x0d\得到了oracle的安装目录\x0d\一般来讲,如果服务器在安装时采用的是默认值那么这个值是:D:\ORACLE\ORA92\x0d\\x0d\2找到tnsnamesora文件\x0d\在根目录下面找到\network\ADMIN\tnsnamesora 文件,并打开\x0d\\x0d\3仔细查看里面的tnsnamesora 配置\x0d\例如\x0d\# TNSNAMESORA Network Configuration File: d:\oracle\ora92\network\admin\tnsnamesora\x0d\# Generated by Oracle configuration tools\x0d\WZZ=\x0d\(DESCRIPTION =\x0d\ (ADDRESS_LIST =\x0d\ (ADDRESS = (PROTOCOL = TCP)(HOST = wzz)(PORT = 1521))\x0d\ )\x0d\ (CONNECT_DATA =\x0d\ (SERVER = DEDICATED)\x0d\ (SERVICE_NAME = WZZ)\x0d\ )\x0d\)\x0d\其中的service_name就是服务名,例如对如上面的文件 ,服务名就是WZZ\x0d\\x0d\附 C#获取oracle服务器名 :\x0d\\x0d\ #region 从注册表中读取安装主目录的值\x0d\ /// \x0d\ /// 从注册表中读取安装主目录的值\x0d\ /// \x0d\ /// \x0d\ /// \x0d\ public static string ReadHomeDirectory(string setupKey)\x0d\ {\x0d\ RegistryKey readKey;\x0d\\x0d\ try\x0d\ {\x0d\ readKey = RegistryLocalMachineOpenSubKey\x0d\ ("Software\\ORACLE", false);\x0d\\x0d\ foreach (string name in readKeyGetValueNames())\x0d\ {\x0d\ if (name == setupKey)\x0d\ {\x0d\ return readKeyGetValue(name)ToString();\x0d\ }\x0d\ }\x0d\\x0d\ return null;\x0d\ }\x0d\ catch\x0d\ {\x0d\ return null;\x0d\ }\x0d\ }\x0d\ #endregion


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10629945.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存