SID = Security Identifiers,是安全标识符,是标识用户、组和计算机帐户的唯一的号码。如果两台电脑的SID相同,在一个局域网里就会发生冲突,比如你自己GHOST了系统,然后还原到其它电脑上,这时候的SID是相同的,就会产生冲突。
SAM文件夹下存放的是用户的SID,一个用户对应一个SID你改修了这里的键值,被修改的用户一般就无法正常登陆.其中结尾是500的SID是系统默认的ADMIN的SID.
所以要恢复SID,只能是你记住了修改前的值才行。
下面就可以看看具体的步奏了哦!
Ⅰ、SID的查询方法:
1、Win键+R键,打开运行,输入CMD
2、输入:whoami /user
3、通过上图就可以看到本机的SID了
Ⅱ 、SID的修改方法
1、下载NewSID软件,并打开
2、可以指定一个SID,也可以生成一个随机的SID,如果你对SID的格式不熟悉,建议还是使用随机SID
1、检查原来的数据库实例名$ echo $ORACLE_SID
orcl
$ sqlplus / as sysdba
>select instance from v$thread
INSTANCE
orcl
2、关闭数据库
>shutdown immediate
>exit
3、修改oracle用户的ORACLE_SID环境变量,如由orcl修改为exoaidc
$ vi /home/oracle/.bash_profile
export ORACLE_SID=exoaidc
$ source /home/oracle/.bash_profile
4、修改/etc/oratab文件,将sid名由orcl修改为linux
$ vi /etc/oratab
exoa:/u01/app/oracle/11.2/db_1:Y
5、进入到$ORACLE_HOME/dbs目录
将所有文件名中包含原来的sid的修改为对应的新sid的
$ cd $ORACLE_HOME/dbs
$ mv hc_zf.dat hc_exoa.dat
$ mv lkZF lkexoa
$ mv orapwzf orapwexoa
$ mv spfilezf.ora spfileexoa.ora
6、重建口令文件
因为口令文件改名后不能在新实例中使用,所以重建
$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=123456 entries=5 force=y
7、启动数据库
$ sqlplus / as sysdba
>startup
8、检查数据库实例名
通过如下语句检查数据库实例名,发现实例名已经由orcl变成exoa
>select instance from v$thread
INSTANCE
exoa
接下来要修改监听器,因为修改了sid,但是监听器此时还是配置原来的orcl的sid
修改$ORACLE_HOME\network\admin\listener.ora文件
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = ORCL)
)
)
把ORCL改成exoa即可
概念
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/16801
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)