[原创]ORACLE数据库启动关闭

ZDNet软件频道 时间:2008-09-22 作者:黄林 | builder.com 我要评论()
本文关键词:启动 数据库 Oracle
命令shutdown/startup对ORACLE数据库的关闭和启动对DBA来讲是很正常的事,当系统运行到某个时候,有些用户进程可能已死(比如非法退出、非法关闭程序等),这样ORACLE的资源就不能释放,影响到了ORACLE的性能
命令shutdown/startup对Oracle数据库的关闭和启动对DBA来讲是很正常的事,当系统运行到某个时候,有些用户进程可能已死(比如非法退出、非法关闭程序等),这样Oracle的资源就不能释放,影响到了Oracle的性能;再有,在DBA优化了系统设置参数后,也必须启动数据库等等,这些就牵涉到了Oracle数据库启动和关闭,在讲这两个操作之前,我想先明确几个概念:

一、关闭数据库

1、 SQL*NET:是分布式Oracle数据库的组成部分,负责用户或应用程序和数据库的对话;

2、 trace files 和 logs:trace files文件是在Oracle启动INSTANCE时自动创建该文件的,该文件存在于由INIT.ORA 或CONFIG.ORA文件中的BACKGROUND_DUMP_DEST参数指定的路径中,对不同的操作系统,trace files有不同的名称,我们都知道,当启动Oracle时必须先启动监听,也就在这个时候产生了LISTENER.LOG,当Oracle启动和关闭时,trace files和LISTENER.LOG文件并不删除

现在我们明确了以上两点,应该知道下步我要做什么了:

1、 在关闭数据库之前不要先关SQL*NET

2、 将trace files 和 logs妥善管理,比如删除或改名

3、 关闭数据库shutdown

二、启动数据库

1、 对于被破坏的数据库我们可以先增加一个控制文件,可用这个控制文件覆盖掉原控制文件,我们可以在SQLPLUS的环境下输入:alter database backup controlfile to trace;创建

2、 启动数据库后,我们要把系统和应用程序经常用到的包放到SGA区中,当Oracle从SGA区读数据时,我们会觉得速度明显加快,我们可以通过如下语句将包放到SGQ区:

alter package APPOWNER.ADD_CLIENT compile;

execute DBMS_SHARED_POOL.KEEP("APPOWNER.ADD_CLIENT","P");

三、其他

同时启动两个监听:在当一台机器同时装了两个数据库时(这样的情况很少见),我们可能要同时启动两个监听,当我们在启动第二个监听时,这是Oracle可能报TNS-01106的错误,其实引起这个错误的是LISTENER.ORA中IPC协议的KEY不同,我们只要将它修改成一致就可以了。

四、下面推荐一个比较好的停止和启动Oracle的好方法(包含C/S和B/S结构):

1、 停止所有应用程序;

2、 对于B/S结构(这里的中间件用的是WebLogic)应该停掉服务,C/S结构可以省略这一步;

3、 对trace files 和 logs进行改名处理,建议用时间作为文件名,比如20040801.trc;

4、 将Oracle的监听停止:$lsnrctl stop;

5、 为了防止我们在下次启动Oracle时出现以外,建议备份控制文件:SQL>alter database backup controlfile to trace;

6、 为了确保数据已保存到数据库,有必要切换日志文件:SQL>alter system switch logfile;对于B/S结构,我们应该先操作这步,再停掉监听;

7、 关闭数据库:SVRMGRL>shutdown immediate;

8、 启动数据库的监听:$lsnrctl start

9、 启动Oracle数据库:$svrmgrl ;SVRMGRL>connect internal;SVRMGRL>startup;

10、启动中间件(B/S结构,所用中间件为WebLogic);

11、启动应用程序。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134