1、SID:一个数据库可以有多个实例(如RAC),SID是用来标识这个数据库内部每个实例的名字,
成都创新互联公司是一家集网站建设,临桂企业网站建设,临桂品牌网站建设,网站定制,临桂网站建设报价,网络营销,网络优化,临桂网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
就好像一个部门里,每个人都有一个自己的名字。
2、SERVICE_NAME:是这个数据库对外宣称的名字,外面的人要想连接我这个数据库,
你就在客户端的连接串里写上service_name。
一句话来说就是:SID是对内的,是实例级别的一个名字,用来内部之间称呼用。SERVICE_name是对外的,
是数据库级别的一个名字,用来告诉外面的人,我数据库叫"SERVICE_NAME"。
你可以通过service_name参数指定这个名字是什么,可以有多个名字,名字随便起,叫狗蛋,翠花都没关系。
如果你不指定,默认的是Db_name. Db_domain,也就是global_name。
数据库里,还有ORACLE_SID,是告诉OS系统,我这个实例叫做什么。这些易混淆的名字,你要记住,
他们不是指数据库,就是指实例,就这两个东西,别无其它。他们具体用哪个名字,是要看对谁而言,
是什么场合。是对数据库,还是对操作系统,还是对外部链接。就像你对父母而言,你有小名叫幺儿;
对同学而言,你有外号叫灯泡;对办事机构,你有正规的名字叫王小明。但归根到底,是一回事。分清楚这点,就不容易混了。
找到oracle安装盘,查找如下路径下的文件
oracle\product\10.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora,打开,即可查看到如下的类似文字,orcl就是SID:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = orcl)
)
)
1
在oracle的安装目录下,如D:\oracle\product\10.2.0\db_1\dbs,看文件名如SPFILEORCL.ORA,那么就是orcl,也就是说文件名字是 "SPFILE******.ORA ",那种的 "**** "就是SID
2
D:\oracle\product\10.2.0\oradata\SID文件夹...
或D:\oracle\product\10.2.0\db_1\dbs\SPFILESID名称.ORA
3
select instance_name from v$instance;
Unix下可以这样看:
$ ps -ef|grep ora_
进程的最后几个字母就是sid
在oracle的”v$session“视图中存储有这两个字段信息。
用sysdba身份登录 比如 conn / as sysdba 匿名管理员登陆后,之后执行下面的sql。
sql:select b.username,b.sid from v$session b ;
备注:要用有查看视图”v$session“的用户查看需要的sid和username信息。
SID的意思是oracle数据库的唯一标识符是你在建立一个数据库时系统自动赋予的一个初始ID。
SID主要用于在一些DBA操作以及与操作系统交互,从操作系统的角度访问实例名,必须通过ORACLE SID,且它在注册表中也是存在的。
扩展资料
如何查询当前用户的SID:
1、按【Win + R】快捷键,在弹出的运行对话框中输入【cmd】后按回车键
2、在命令提示符窗口中输入"whoami /user",按回车键
3、然后就查出我当前的用户名和对应的SID