最近学习Oracle,在网上找一些资料,对于客户端与服务器端的连接有一些疑问,相信不少人也遇到这些问题了;
1、安装服务器端后,可以建立多个数据库,每个数据库有一个属于自己的数据库名字,是不是每一个数据库有多个实例呢?
2、创建多个用户后,每个用户是不是可以访问服务器端的所有数据库呢?我怀疑是不是用户权限不同就会有访问限制呢?用户登录后怎么知道是访问的哪个数据库呢?
3、客户端连接服务器用服务名还是SID呢?Oracle数据库实例连接
1、安装服务器端后,可以建立多个数据库,每个数据库有一个属于自己的数据库名字,是不是每一个数据库有多个实例呢?
2、创建多个用户后,每个用户是不是可以访问服务器端的所有数据库呢?我怀疑是不是用户权限不同就会有访问限制呢?用户登录后怎么知道是访问的哪个数据库呢?
3、客户端连接服务器用服务名还是SID呢?Oracle数据库实例连接
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)
)
)
在安装服务器端时,
会有一个启动数据库,我还可以用Database Configuration Assistance 来创建新的数据库,也就是说我可以创建多个数据库,
从图中我怎么感觉是一个数据库可以有多个实例呢?数据库和实例的关系是不是类和对象的关系呢?
在安装服务器端时,
会有一个启动数据库,我还可以用Database Configuration Assistance 来创建新的数据库,也就是说我可以创建多个数据库,
从图中我怎么感觉是一个数据库可以有多个实例呢?数据库和实例的关系是不是类和对象的关系呢?
你这是创建的实例,不是数据库。
我想建立 新的数据库而不是 实例要怎么做呢?
如果不一样,比如全局数据库名为orcl.XX,sid为orcl,后面建的dblink等 名称后面可能会带个后缀.XX。想建新数据库,那再装个oracle呗。。还有你上面说的什么用户怎么知道自己和哪个实例关联的呢??
我感觉你自己都没实际操作过吧,都是凭空想象而已,如果要建用户,你首先得登陆到某个实例才行,哎~~