免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2062 | 回复: 4
打印 上一主题 下一主题

求助:linux 下两oracle SID数据库自启动问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-27 14:43 |只看该作者 |倒序浏览
公司做机房迁移。原来两个oracle服务器现在合并成一个,但是由于两个服务器的oracle字符集不一样只好在一个服务器上建了两个oracle数据库。现在每次重启服务器时我都要去改一下.bash_profile里的SID环境变量然后再手动启动另一个数据库。请问各位高人有没有更好的办法。

论坛徽章:
0
2 [报告]
发表于 2006-11-27 15:05 |只看该作者
简单一点的方法就是:

修改/etc/oratab 或者/opt/oracle/oratab文件(oratab具体位置依赖于你所使用的平台,你可以vi dbstart看看oratab的具体位置),将两个sid都设置成Y,这样使用dbstart就可以启动两个数据库。

招聘 : Linux运维
论坛徽章:
0
3 [报告]
发表于 2006-11-27 15:07 |只看该作者
写一个脚本然后再rc.local里边调用执行

另外exp/imp 可以解决字符集的问题

论坛徽章:
0
4 [报告]
发表于 2006-11-27 15:31 |只看该作者
原帖由 天涯明月刀 于 2006-11-27 15:07 发表
写一个脚本然后再rc.local里边调用执行

另外exp/imp 可以解决字符集的问题


exp/imp行不通。老的数据库有多个varchar2的字段类型并且已经达到4000长度gb2312到utf8字符要增加1/2的长度的。

论坛徽章:
0
5 [报告]
发表于 2006-11-27 17:19 |只看该作者
将启动2个数据库需要的环境变量分别放在2个文件中,
启动数据库前用
.  文件名
使文件中的内容生效, 例如

  1. root@guoliang:~# more profileA
  2. #!/bin/bash
  3. export ORACLE_SID=SIDA
  4. root@guoliang:~# more profileB
  5. #!/bin/bash
  6. export ORACLE_SID=SIDB
  7. root@guoliang:~# printenv|grep SID
  8. root@guoliang:~# . profileA
  9. root@guoliang:~# printenv|grep SID
  10. ORACLE_SID=SIDA
  11. root@guoliang:~# . profileB
  12. root@guoliang:~# printenv|grep SID
  13. ORACLE_SID=SIDB
  14. root@guoliang:~# . profileA
  15. root@guoliang:~# printenv|grep SID
  16. ORACLE_SID=SIDA
  17. root@guoliang:~#
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP