SID的意思是oracle数据库的唯一标识符是你在建立一个数据库时系统自动赋予的一个初始ID。
SID主要用于在一些DBA *** 作以及与 *** 作系统交互,从 *** 作系统的角度访问实例名,必须通过ORACLE SID,且它在注册表中也是存在的。
扩展资料
如何查询当前用户的SID:
1、按【Win + R】快捷键,在d出的运行对话框中输入【cmd】后按回车键
2、在命令提示符窗口中输入"whoami /user",按回车键
3、然后就查出我当前的用户名和对应的SID
概念
SID 数据库实例名
SQL>show parameter instance
DB_NAME 数据库名 可以用DBNEWID (nid)命令更改DB_NAME
SQL>show parameter db_name
DBID 数据库建立时创建的内部数字 用于区分不同数据库 RMAN会用该数字来区分数据库 当数据库都是正常创建时 DBID是不一样的 如果用复制的方法复制数据库 它们的DBID就会一样 可以用DBNEWID (nid)命令更改DBID
SQL>select dbid from v$database
下面开始更改SID 本例中 原SID名为oldsid 更改为newsid
关闭数据库
SQL >create pfile from spfile 生成initoldsid ora 文件 后续 *** 作需要用到
SQL >shutdown immediate
编辑环境变量
# vi /home/oracle/ bash_profile
将其中的
export ORACLE_SID=oldsid 更改为
export ORACLE_SID=newsid
为使环境变量生效 以oracle用户重新登录
重命名参数文件
# cd $ORACLE_HOME/dbs
# mv initoldsid ora initnewsid ora
参数文件内容无需更改 如果本数据库是从另一台oracle服务器复制过来的 那需要将参数文件中的路径和内存等配置进行修改 这不属于本次任务
创建口令文件
orapwd file=$ORACLE_HOME/dbs/orapwnewsid password=oracle
至此 SID已经更改完成 数据库可以正常启动 以下 *** 作是额外部分
更改其他相关配置
更改listener ora
vi $ORACLE_HOME/neork/admin/listener ora 若其中配置了SID_NAME=OLDSID 则需要更改为NEWSID 然后重启监听 # lsnctl restart
更改tnsnames ora
lishixinzhi/Article/program/Oracle/201311/16801SID指的是你的全局数据库名,也就是你建数据库时的名字,不是用户名哈;Oracle 10g 数据库安装过程中经常d出提示“严重:监听程序未启动或数据库服务未注册到该监听程序。启动该监听程序并注册数据库服务, 然后重新运行 EM Configuration Assistant。”,这个很好解决,只需要在app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora中加入:SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
此句是添加的,下面部分为添加
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(SID_NAME = ORCL)
)
上面部分是添加的
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = VirtualXP-45565)(PORT = 1521))
)
)
就可以解决,这里GLOBAL_DBNAME = ORCL和SID_NAME = ORCL这两句中的ORCL就是SID,也就是全局数据库名字 ,记得改了后要重新启动数据库服务,服务在电脑的服务里启动
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)