日期:2014-05-17  浏览次数:20799 次

Oracle客户端与服务器端的连接
最近学习Oracle,在网上找一些资料,对于客户端与服务器端的连接有一些疑问,相信不少人也遇到这些问题了;
1、安装服务器端后,可以建立多个数据库,每个数据库有一个属于自己的数据库名字,是不是每一个数据库有多个实例呢?
2、创建多个用户后,每个用户是不是可以访问服务器端的所有数据库呢?我怀疑是不是用户权限不同就会有访问限制呢?用户登录后怎么知道是访问的哪个数据库呢?
3、客户端连接服务器用服务名还是SID呢?
Oracle 数据库 实例 连接

------解决方案--------------------
1、安装服务器端数据库后,可以建立多个实例,每个实例有一个属于自己的sid
2、每个用户只能访问自己所在实例的数据,如果要访问其他实例的数据,需要用dblink
3、一般情况下服务名就是sid,但是在linux下,可能服务名=sid+域名

客户端连接服务端,用tns 文件里面配置的别名即可,比如使用下面的test,而不是orcl:
test=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.111)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )