在Oracle数据库管理系统中,创建多个数据库实例是一项常见的运维任务,特别是在分布式环境中,为了提高可用性和容错性。本文档主要介绍了如何在Linux环境下创建和管理Oracle的多个数据库实例,包括以下关键知识点: 1. **数据库实例的理解**: - Oracle数据库实例(Database Instance)是指一个运行中的Oracle数据库,它包括了数据库服务器、监听器(Listener)、归档日志和控制台管理工具等组件。 2. **实例创建步骤**: - 首先,通过`sqlplus`命令行工具,作为SYSDBA权限登录,对每个数据库(如DB1和DB2)执行`export ORACLE_SID`命令,然后启动数据库实例。 - 对于DB1,执行`startup`命令;对于DB2,同样执行`startup`命令。 - 创建监听器实例,使用`lsnctl start listener`和`lsnctl status`来监控和管理监听器状态。 3. **配置环境变量**: - 在操作系统级别的`/etc/oratab`文件中,需配置每个实例的名称和对应路径,确保实例能被正确识别。 4. **脚本自动化管理**: - 文档提供了一个bash脚本(如`vioracle.sh`),用于启动、停止和重启数据库实例。脚本定义了case结构,根据传入参数(如`start`、`stop`或`restart`)执行相应的操作。例如,`start`操作会执行`lsnrctl start`、`dbstart`、`emctl start dbconsole`等一系列命令来启动所有服务。 5. **权限和用户管理**: - 脚本使用`su-oracle`命令以Oracle用户身份运行,确保对数据库操作的权限。 6. **监控与日志**: - 启动和停止操作后,都会在`/var/log/oracle`目录的日志文件中记录操作信息,便于跟踪和审计。 7. **系统初始化和配置**: - `cd`到`/etc/init.d`目录下,将脚本设为系统服务,以便通过`service vioracle.sh start`或`stop`命令进行远程管理和自动调度。 该文档详细地描述了如何在Linux系统上创建和管理Oracle的多个数据库实例,涉及数据库实例的创建过程、环境配置、脚本编写以及维护操作。这对于IT管理员来说是部署和维护多数据库环境的重要参考。
http://database.51cto.com 2010-11-15 11:28 佚名 互联网 我要评论(0)
摘要:oracle数据库自动启动多个数据实例的话,应该如何实现呢?下文就教您几个oracle自动启动多个数据实例的方法,供您参考。
标签:oracle自动启动
oracle自动启动数据库实例的方法很多,下面就为您介绍最常用的两种oracle自动启动多个数据实例的方法,希望对您能有所帮助。
现有一台机器,需要oracle自动启动多个数据实例,如DB1、DB2
方法一:
1.export ORACLE_SID=DB1 2.sqlplus ‘/as sysdba' <<! 3.startup 4.exit 5.! 6. 7.export ORACLE_SID=DB2 8.sqlplus ‘/as sysdba' <<! 9.startup 10.exit 11.! 如果是不同的监听端口,启动监听端口的方法是lsnctl start listener1/linsterner2/
关于listener?的配置可以通过lsnctl status查看配置文件,然后再编辑他就好了。
如果是同一端口,只需启动lsnctl start就好了。
关于web配置的启动,可以更改SID启动
1.export ORACLE_SID=DB1 2.emctl start dbconsole 方法二:(开机自动启动oracle数据实例)
修改/etc/oratab文件,将需要启动的实例名称后面的N修改为Y,如果要全部都启动,则使用
:g/N/s//Y/g将全部N修改为Y
然后编写个shell脚本
1.cd /etc/init.d 2. 3.vi oracle.sh 4. 5.#!/bin/bash 6.case "$1" in 7.start) 8. date >>/var/log/oracle 9. echo -e "\nThe oracle will start\n">/var/log/oracle 10. su - oracle -c "lsnrctl start;dbstart;emctl start dbconsole;exit;">>/var/log/oracle 11. echo -e "The oracle started">>/var/log/oracle 12.;; 13.stop) 14. date >>/var/log/oracle 15. echo -e "\nThe oracle will stop\n">/var/log/oracle 16. su - oracle -c "dbshut;emctl stop dbconsole;lsnrctl stop;exit;">>/var/log/oracle 17. echo -e "The oracle stoped">>/var/log/oracle 18.;; 19.restart) 20. $0 stop 21. $0 start 22.;; 23.*) 24. echo -e "usage $0 {start|stop|restart}" 25. exit 1 26.esac 保存。
1.chmod +x oracle.sh 2.ln -s oracle.sh /etc/rc.d/rc3.d/S99oracle 3.ln -s oracle.sh /etc/rc.d/rc5.d/S99oracle 4.ln -s oracle.sh /etc/rc.d/rc0.d/K01oracle 5.ln -s oracle.sh /etc/rc.d/rc6.d/K01oracle 这样就可以实现oracle多实例自动启动了。
----------------------------------------------
操作系统平台:RHEL 5
Shell环境:Bash
Oracle:10g2
功能描述:开机时自动切换到oracle用户下,启动oracle的多个实例。并记录数据库的启动情况到自定义的日志文件中。
#!/bin/bash
# wang_xiaoyu@qq.com
# 2009-06-19 21:05:49
# 2009-06-19 22:54:24
LOG_PATH=$HOME/oracle_initing.log
log() {
if [ $# -lt 1 -a $# -gt 1 ];then
exit 5
fi
case "$@" in
success)
echo `date +%b" "%d" "%T`" "$PRO": Oracle instence \"$ORACLE_SID\" starting up succefully" >> $LOG_PATH;;
failed)
剩余10页未读,继续阅读
- 粉丝: 11
- 资源: 40
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 计算机二级Python真题解析与练习资料
- 无需安装即可运行的Windows版XMind 8
- 利用gif4j工具包实现GIF图片的高效裁剪与压缩
- VFH描述子在点云聚类识别中的应用案例
- SQL解释器项目资源,助力计算机专业毕业设计与课程作业
- Java实现Windows本机IP定时上报到服务器
- Windows Research Kernel源码构建指南及工具下载
- 自定义Python插件增强Sublime文本编辑器功能
- 自定义Android屏幕尺寸显示及Ydpi计算工具
- Scratch游戏编程源码合集:雷电战机与猫鼠大战
- ***网上教材管理系统设计与实现详解
- Windows环境下VSCode及Python安装与配置教程
- MinGW-64bit编译opencv库适配Qt5.14
- JavaScript API 中文离线版手册(CHM格式)
- *** 8 MVC应用多语言资源管理技巧
- 互联网+培训资料深度解析与案例分析