oracle数据库中SID到底什么意思?怎么用?
遇到了几个概念
SID
SERVICE_NAME
ORACLE_SID
在tnsname.ora中我用的是SERVICE_NAME
我现在的项目 他们提供的是一个SID
我希望知道ORACLE_NAME 和SID 之间到底是什么关系?
另外如果我需要用SID连接 那么应该怎么设置? 展开
2022-12-01 · 百度认证:北京惠企网络技术有限公司官方账号
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。然后表示一系列的子颁发机构,前面几项是标志域的,最后一个标志着域内的帐户和组。
SID主要用于在一些DBA操作以及与操作系统交互,从操作系统的角度访问实例名,必须通过ORACLE_SID,且它在注册表中也是存在的.
而数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的。
而SERVICE_NAME指的网络服务名,它是可以由自己意愿随意设置的,相当于为某个数据库实例取个别名方便自己记忆和访问。
ORACLE_NAME这东西我不自动你指的是什么 是指的数据库名吗(DB_NAME)
又或者指的是数据库实例名(instance_name)
而数据库实例名(instance_name)和ORACLE_SID功能类似,都是用于操作系统交互,但区别是instance_name是oracle数据库参数,而ORACLE_SID是操作系统的环境变量。
2010-04-15
现在的企业一般都是9i或10g,用services_name即可。
如果本机安装了oracle客户端,那就修改tnsname.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = [host|ip])(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
就是这个地方会涉及到版本问题,如果是8i以前的,下面的写法是错误的。
(SERVICE_NAME = orcl)
而8i之后也是支持(SID = orcl)这个格式的