最近使用Oracle数据库。
遇到了几个概念
SID
SERVICE_NAME
ORACLE_SID
在tnsname.ora中我用的是SERVICE_NAME
我现在的项目 他们提供的是一个SID
我希望知道ORACLE_NAME 和SID 之间到底是什么关系?
另外如果我需要用SID连接 那么应该怎么设置?
SID的意思是oracle数据库的唯一标识符是你在建立一个数据库时系统自动赋予的一个初始ID。
SID主要用于在一些DBA操作以及与操作系统交互,从操作系统的角度访问实例名,必须通过ORACLE SID,且它在注册表中也是存在的。
扩展资料
如何查询当前用户的SID:
1、按【Win + R】快捷键,在弹出的运行对话框中输入【cmd】后按回车键
2、在命令提示符窗口中输入"whoami /user",按回车键
3、然后就查出我当前的用户名和对应的SID
SID是在一些DBA操作以及与操作系统交互,从操作系统的角度访问实例名,必须通过ORACLE_SID(操作系统的环境变量),且它在注册表中也是存在的。而数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的。
SID的查询及设置:
1、按“Win + R”快捷键,在弹出的运行对话窗口中输入“cmd”后再按回车键进入下一个界面;
2、在界面里有两条命令都可以查询当前用户的SID。第一条指令:“whoami /user”。在命令提示符窗口中输入"whoami /user",再按回车键即可查询;
3、比如下图,就是本人的电脑当前的用户名和对应的SID;
4、第二条指令:“wmic useraccount get name,sid”。在命令提示符窗口中输入"wmic useraccount get name,sid",再按回车键即可查询;
5、比如下图,就是这条指令的执行结果,其他用户的用户名也可以一起查出来。
一个完整的SID包括:
· 用户和组的安全描述
· 48-bit的ID authority
· 修订版本
· 可变的验证值Variable sub-authority values
例:S-1-5-21-31044058 8- 2 500 36847- 5 803 895 05-500
我们来先分析这个重要的SID。第一项S表示该字符串是SID;第二项是SID的版本号,对于2000来说,这个就是1;然后是标志符的颁发机构,对于2000内的帐户,颁发机构就是NT,值是5。然后表示一系列的子颁发机构,前面几项是标志域的,最后一个标志着域内的帐户和组。
本回答被网友采纳