1
十多年的定西网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整定西建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“定西网站设计”,“定西网站推广”以来,每个客户项目都认真落实执行。
在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_SID 是orcl ,现在我想做数据同步, 必须的有不同的 ORACLE_SID ,以便区分开来。
现在仅需要简单的几个步骤就可以修改好ORACLE_SID;
1.首先shutdown immediate (注意不要shutdown abort)
2.修改oracle用户的环境变量 : ~/.bash_prfile
[oracle@oracle ~]$ vi .bash_profile
把 export ORACLE_SID=orcl 这一行的 orcl 改为 你想改的名称;我该为 export ORACLE_SID=morcl
然后保存并退出;
3.修改 /etc/oratab 文件 ; 在文件的最后一行 将 orcl 改为 morcl
morcl:/u01/app/oracle/product/10.2.0:N
4. 接下来就应该修改 oracle 目录里边的文件 cd /$ORACLE_HOME/dbs 把所有包含 orcl 的文件名 ,修改为 包含 morcl 的文件名
mv hc_orcl.dat hc_morcl.dat
mv lkORCL lkMORCL
mv spfileorcl.ora spfilemorcl.ora
mv orapworcl orapwmorcl
5.重建口令文件 我的用户名密码 为:oracle@oracle
[oracle@oracle dbs]$ orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=oracle entries=5 force=y
5. 检查ORACLE_SID 是否生效 echo $ORACLE_SID 如果为生效, 则可以重启 机子 ,让 ORACLE_SID生效
[oracle@oracle dbs]$ echo $ORACLE_SID
morcl
[oracle@oracle dbs]$
6.确认oracle_sid 修改好了就可启动数据库了,然我们拭目以待吧::.....
SQL
SQL startup
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1218316 bytes
Variable Size 62916852 bytes
Database Buffers 100663296 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.
SQL
SQL
SQL
7.确认oracle database 内部已经SID 已经修改
SQL
SQL select instance from V$thread;
INSTANCE
--------------------------------------------------------------------------------
morcl
SQL
ok 大功告成 !
找到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、检查原来的数据库实例名
$ 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是System IDentifier的缩写,而ORACLE_SID就是Oracle System Identifier的缩写,在Oracle系统中,ORACLE_SID以环境变量的形式出现,在特定版本的Oracle软件安装(也就是ORACLE_HOME)下,当Oracle实例启动时,操作系统上fork的进程必须通过这个SID将实例与其他实例区分开来,这就是SID的作用。
Oracle的sid在不同的系统环境下,查看方式不相同,方法分别如下:
1、windows 下查看注册表
开始 输入regedit 查看
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1\ORACLE_SID就是
2、linux或者unix下可以
echo $ORACLE_SID
注意:ORACLE_SID要大写
3、在sql命令下可以查看
连接后查询:
SQL select instance_name from v$instance;