如何从SQLServer到Oracle实现服务器连接
工具/原料
SQLSERVER数据库
企业管理器]链接服务器
方法/步骤
1
步骤1:打开企业管理器,如下。
2
步骤2:选择数据库,安全性,点击新建链接服务器。
3
步骤3:选择链接服务器属性,常规,输入名称:TEST,选择ORACLE数据库提供程序,输入名称、数据源。
4
步骤4:进行安全性设置。本地登录,选择SQLServer数据库登录用户,远程登录用户和密码,输入远程连接数据库的用户和密码,选择用此安全上下文进行,输入远程登录用户和密码。
5
步骤5:点击TEST链接服务器下的表,我们可以访问ORACLE数据库的表了。
注意:产品名称要和所链接的服务器相对应,使用ORACLE数据库就要输入ORACLE,使用SQLServer就输入SQLServer。
1 装个跟服务端上相同版本的oracle客户端,再装个PL/SQL配置一下就能连上了:
2 找到你oracle客户端安装目录中的tnsnamesora文件,修改
ZBDS_251 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 1402819251)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = zbds)
)
)
“ zbds ”是你的oracle数据库实例名,1402819251是你的远程服务器的IP,“ZBDS_251”随便起,是给PL/SQL看的。
1、找到$ORACLE_HOME/client_1/network/admin目录下的tnsnamesora文件,并用文本模式打开。
2、添加以下内容:
本地实例名=(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP地址)(PORT = 端口号))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 服务名)
)
)
3、用工具登录即可。
ORACLE客户端连服务器注意事项
1 通SQLNET协议ORACLE客户端连服务器般需要配置sqlnetoratnsnamesora,initora
默认目录$ORACLE_HOME/network/admin 目录
设置环境变量TNS_ADMIN指向想用sqlnetoratnsnamesora目录
例:
TNS_ADMIN=/home/oracle/config/901;export TNS_ADMIN
sqlnetora文件决定找数据库服务器别名式
默认参数
参数SQLNETAUTHENTICATION_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
NAMESDEFAULT_DOMAIN = WORLD
NAMESDIRECTORY_PATH = (TNSNAMES, ONAMES, HOSTNAME)
表明解析客户端连接所用主机字符串式
TNSNAMES表示采用TNSNAMESORA文件解析;
ONAMES表示使用自名称服务器(Oracle Name Server)解析目前Oracle建议使用轻量目录访问协议LDAP取代ONAMES;
HOSTNAME表示使用host文件DNSNIS等解析;
ORACLE客户端服务器默认域名需要用#号注释第行
#NAMESDEFAULT_DOMAIN = WORLD
使起作用
NAMESDIRECTORY_PATH指定找服务器别名顺序 (本tnsnamesora文件, 命名服务器, 主机名式)
服务器sqlnetora设置检查客户端否alive间间隔
sqlnetexpire_time = 10
initoraRemote_Login_Passwordfile身份验证影响
三选值:
NONE:默认值指示Oracle系统使用密码文件通操作系统进行身份验证特权用户拥SYSORASYSOPER权限EXCLUSIVE:
1表示数据库实例使用密码文件
2允许SYSORASYSOPER权限赋值给SYS外其用户
SHARED:
1表示数据库实例使用密码文件
2允许SYSORASYSOPER权限赋值给SYS外其用户
所要操作系统身份登录Remote_Login_Passwordfile应该设置NONE
登录用户ORA_DBA组ORA_OPER组员登录数据库需要Oracle创建前操作系统用户相同用户名前用户域用 户则名称:domainname\yourname,本计算机用户则名称:computername\yourname
创建:
create "domainname\yourname" identified externally;
操作系统修改HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0面添加AUTH_PREFIX_DOMAIN值设FALSE,创建Oracle用户忽略 掉域名
种式initora参数影响数据库何匹配windows用户Oracle用户os_authent_prefix = ""
缺省空Oracle8i前该参数使用OPS$作用户名前缀(Oracle用户名度限制30字符)
tnsnamesora文件写数据库服务器别名详细内容几种写:
# 般写
APPDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192168035)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = appdb)
)
)
# 明确标明用dedicated式连接数据库
APPD=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=192168035)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=appdb)
(SERVER=DEDICATED)))
# listener端口做均衡负载式连接数据库
APPS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192168035)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192168035)(PORT = 1856))
)
(CONNECT_DATA =
(SERVICE_NAME = appdb)
)
)
# 注意:数据库服务器用MTS客户端程序需要用database link明确指明客户端用dedicated直连式,
# 遇跟布式环境关ORACLE BUG
# 般情况数据库服务器用直接连接些除非实数据库连接数接近1000
2 /etc/hosts (UNIX)
或者windows\hosts(WIN98) winnt\system32\drivers\etc\hosts (WIN2000)
客户端需要写入数据库服务器IP址主机名应关系
127001 localhost
192168035 oracledb oracledb
192168045 tomcat tomcat
2028410193 bj_db bj_db
些候我配置第步tnsping 数据库服务器别名显示功
sqlplus username/password@servicename通,jdbc thin link 通候,
定要忘客户端做步原能DNS服务器没设置服务器IP址主机名应关系
同私IPInternet公IP私IP写前面公IP写面
编辑前留备份增加行用复制粘贴避免编辑hosts空格或者tab字符错误
3 UNIXORACLE数据库环境OS客户端需要配置面两环境变量
ORACLE_SID=appdb;export ORACLE_SID
TWO_TASK=appdb;export TWO_TASK
指定默认目标数据库
享:
1
喜欢
0
赠金笔
阅读(2478)┊ 评论 (0)┊ 收藏(0) ┊禁止转载 ┊ 喜欢▼ ┊打印┊举报
已投稿:
排行榜
前篇:Delphi IdHTTP1载文件防止假死
篇:我博客今6岁246我领取元博主徽章北京科兰
如果服务器和客户端不在一台机器上,那么就必须服务器有一个客户端能访问到的IP地址。然后在服务器的listenerora里配置这个IP地址为hostname。然后重启listener。命令为lsnrctl stop然后lsnrctl start。
之后在客户端的tnsnameora里配置一个连接(例如orcl1)到这个服务器,其中hostname为服务器的ip。然后sqlplus name/password@orcl1就可以连接上了。
在建立Oracle数据库的时候 应该会在数据库建立助手向导上面看到这么一个选项 就是数据库的连接模式采用什么方式 在Oracle i或者 g中 可以看到有 种连接模式 一种叫做专用服务器连接(dedicated server) 另外一种叫做共享服务器连接(shared server) 下面我们来分类说一下这两种连接方式的不同点
专用服务器模式就是说每次在对Oracle进行访问的时候 Oracle服务器的Listener会得到这个访问请求 然后回为这个访问创建一个新的进程来进行服务 所以说 对于每一个客户端的访问 都会生成一个新的进程进行服务 是一种类似一对一的映射关系 这种连接模式的一个很重要的特点就是UGA(用户全局域)是存储在PGA(进程全局域)中的 这个特性也很好说明了当前用户的内存空间是按照进程来进行分配的
而另外的共享服务器连接则是一种在程序编写的时候通常会用到的连接池(pool)的概念 采用这种模式的话 在数据库的初始化的时候就会创建一批服务器连接的进程 然后把这些连接进程放入一个连接池来进行管理 初始化的池中的进程数量在数据库初始化建立的时候是可以手动设置的 在连接建立的时候 Listener首先接受到客户端的建立连接的请求 然后Listener去生成一个叫做调度器(dipatcher)的进程与客户端进行连接 调度器把把客户端的请求放在SGA(系统全局域)的一个请求队列中 然后再共享服务器连接池中查找有无空闲的连接 然后让这个空闲的服务器进行处理 处理完毕以后再把处理结果放在SGA的相应队列中 调度器通过查询相应队列 得到返回结果 再返回给客户端 这种连接模式的优点在于服务器进程的数量可以得到控制 不大可能出现因为连接人数过多而造成服务器内存崩溃 但是由于增加了复杂度以及请求相应队列 可能性能上有所下降
lishixinzhi/Article/program/Oracle/201311/18617
1、你本地已经安装服务端,则不需要额外安装client即可使用plsql
2、一般的oracle安装完成后,会在PATH中添加对应的路径,cmd使用netca即可进入net
configuration向导,选择本地NET服务名配置,完成服务名添加。当然,如果使用熟悉的话,也可以直接编辑tnsnamesora
3、无位数要求。
PL/SQL Developer连接服务器数据库,本机需要安装oracle客户端。
需要配置以下内容:
1、在oracle目录下,以oracle10g为例,一般路径为:~\oracle\product\1020\db_1\network\ADMIN2、找到tnsnamesora文件,并打开。
3、添加以下内容:
本地实例名=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 远程数据库IP地址)(PORT = 端口号))(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 服务名)
)
)
其中中文部分需要根据实际情况填写。
0条评论