ORACLE数据库的启动和关闭

简介:
ORACLE数据库的启动和关闭
from:[url]http://bbs.51cto.com/thread-235286-1-1.html[/url]
对于DBA们来说,关闭和重新启动数据库以便优化、调整应用的运行是经常碰到的事情。如果用 
户已经log进如了数据库,你用SHUTDOWN IMMEDIATE 或SHUTDOWN ABORT命令来执行关闭数据库, 
那用户将不能连接,直到数据库重新启动,用户时常会抱怨:怎么又要重起。其实,每次这样的 
启动关闭都是为了数据库能更好的运做。这篇文章将具体介绍shutdown/startup操作时应想到的 
步骤和许多注意事项,或许这些能对你有所帮助。   
NOTE:在执行第一步前,SHUT DOWN 数据库,不要提前关闭SQL*NET,直到你确认关闭了SERVER上 
的数据库后再关闭SQL*NET。因为一旦你关闭了SQL*NET,用户将将失去和数据库的会话。  

第一步---存档或删除老的trace files 和 logs  
当你启动ORACLE的一个实例(INSTANCE)时,ORACLE把关于该实例的诊断信息写入指定的trace  
和 log文件。每个后台进程都增加一个TRACE文件,它被存储在指定的目录(该路径由INIT.ORA  
或CONFIG.ORA文件中的BACKGROUND_DUMP_DEST参数指定)。用户在数据库中遇到一个内部错误时 
也增加 USERS' TRACE文件,该文件的位置由INIT.ORA 或 CONFIG.ORA 文件中的USER_DUMP_DEST 
参数指定。  

TRACE文件的个数和名称形式由你的操作系统决定。例如在UNIX下,文件名是一个数字加下画线加 
后台进程号,类似3_12345.trc,当你下一次启动实例时,一个新的文件将被产生,因为进程号的 
不同,文件名可能是3_13245.trc 。  

由于每次启动和关闭数据库时,ORACLE并不自动删除TRACE文件,所以如果忽略这个步骤,那这些 
没有用的文件将占据大量的自由空间。所以DBA应该主动的管理这些文件,或删除或存档在别的指 
定目录下,如何管理主要是根据你自己的开发环境需要而订了。 SQL*NET也产生LOG文件,一般叫 
LISTENER.LOG,为了能知道他的位置,可以键入命令  
lsnrctl status  

LISTENER.LOG文件大小也随着启动的次数不断的变大,所以通过妥善管理它也能有效的利用空间。  

第二步---改名ALERT LOG文件  
ALERT LOG文件也是用来记录INSTANCE的诊断信息的。它的存放目录也通过BACKGROUND_DUMP_DEST 
参数来指定。一般情况下ALERT LOG文件命名方式为:ALERT_ .LOG。ALTER LOG文件包括了一些数 
据库主要事件信息,例如:startup,dhutdown, redo log 的使用,tablespace的改变,文件的改 
变,内部错误信息,tablespace-backup的状态的改变等。ALTER LOG文件是重要的,同时该文件 
的大小增长的速度也很惊人,如果你不检查他,一段时间后你想看看它将是很费劲,因为它已经 
很大了,查起来也费劲。  

为了既能留下这些有用的信息,同时不至于浪费很大的空间,可以用改名的方法。你可以在任何 
时候更改ALTER LOG文件名,甚至在DATABASE OPEN时。当ORACLE不能找到被BACKGROUND_DUMP_DESC 
指定的文件时,他将增加一个新的ALTER LOG文件。虽然改名不要求SHUTDOW,但选择在 
SHUTDOWN/STARTUP数据库时更改名字是一个好的主意。  

NOTE:下面的几步是在restart数据库时做的。  

第三步---产生一个增加控制文件(CREATE CONGROLFILE )命令的文件  
为了recover一个被破坏的数据库,你不得不用CREATE CONTROLFILE 命令来重建control files。 
CREATE CONTROLFILE命令有两个使用:  
1、在你的现有CONTROL FILES文件破化后重建它  
2、在ALTER DATABASE 级别的参数时,如:MAXDATAFILES  

你可以手输入命令,但最好在STARTUP前发送一命令,以便你拥有最新版本的CREATE CONTROLFILE命令。 
从进入SQLDBA,SERVER MANAGER或者SQL*PLUS,输入:  
alter database backup controlfile to trace;  

该命令在USER_DUMP_DESC参数指定的路径产生一个TRACE文件,名字可能是SIDNAME_PROCESSID.TRC, 
该文件将包含针对你的数据库的完整的CREATE CONTROLFILE 语法。  

第四步--把PACKAGES 和 PROCEDURES驻留SGA区  
众所周知,当PL/SQL OBJECTS被一个用户调用时,它将被存储在SGA区的SQL共享池中,当别人再度 
调用该OBJECT时直接从SGA区读取,能感受到明显的速度提升。所以,把常用的PACKAGES 和  
PROCEDURES在STARTUP时就载入并驻留SGA,将提高应用的整体性能。通过从新编译、调用等方法可以 
调用OBJECT(PROCEDURES 或 CURSORS)进SGA,然后用DBMS_SHARED_POOL.KEEP来驻留SGA。如下:  
alter package APPOWNER.ADD_CLIENT compile;  
execute DBMS_SHARED_POOL.KEEP('APPOWNER.ADD_CLIENT','P');  
(P代表PROCEDURES,C代表CURSORS)  

一般每个数据库包括两类驻留程序:  
1、数据库的核心PACKAGES  
2、用户自定义的PACKAGES  
核心PACKAGES包括SYS 所有的PACKAGES,STANDARD,DBMS_SQL, DBMS_UTILITY, DIUTIL,为了查看 
你的INSTANCE中那些被驻留了,查询DBA_OBJECT_SIZE,用下面的语句:  
select Owner,  
Name,  
Type,  
Source_Size+Code_Size+Parsed_Size+Error_Size Total_Bytes  
from DBA_OBJECT_SIZE  
where Type = 'PACKAGE BODY' order by 4 desc;  









本文转自 boyi55 51CTO博客,原文链接:http://blog.51cto.com/boyi55/38375,如需转载请自行联系原作者
目录
相关文章
|
19天前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
133 64
|
9天前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
19 7
|
9天前
|
Oracle 关系型数据库 数据库
oracle数据库技巧
【10月更文挑战第25天】oracle数据库技巧
13 6
|
9天前
|
存储 Oracle 关系型数据库
Oracle数据库优化策略
【10月更文挑战第25天】Oracle数据库优化策略
13 5
|
15天前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
18天前
|
监控 Oracle 关系型数据库
Oracle数据库性能优化
【10月更文挑战第16天】Oracle数据库性能优化是
15 1
|
24天前
|
存储 Oracle 关系型数据库
【数据库-Oracle】《Oracle 数据库探秘:基础知识点全攻略》
《Oracle 数据库探秘:基础知识点全攻略》深入介绍 Oracle 数据库的基础知识点,包括数据类型、表结构、查询语句等。通过详细讲解、代码示例和流程图,帮助读者快速掌握 Oracle 数据库的基本操作,为数据库开发和管理打下坚实基础。
27 0
|
3月前
|
监控 Oracle 关系型数据库
"深度剖析:Oracle SGA大小调整策略——从组件解析到动态优化,打造高效数据库性能"
【8月更文挑战第9天】在Oracle数据库性能优化中,系统全局区(SGA)的大小调整至关重要。SGA作为一组共享内存区域,直接影响数据库处理能力和响应速度。本文通过问答形式介绍SGA调整策略:包括SGA的组成(如数据缓冲区、共享池等),如何根据负载与物理内存确定初始大小,手动调整SGA的方法(如使用`ALTER SYSTEM`命令),以及利用自动内存管理(AMM)特性实现智能调整。调整过程中需注意监控与测试,确保稳定性和性能。
266 2
|
4月前
|
存储 缓存 Oracle
Oracle数据库可扩展性和性能
【7月更文挑战第6天】
80 7
|
存储 SQL 负载均衡
达梦数据库与Oracle数据库:功能、性能和适用场景对比
数据库在现代信息技术领域中扮演着至关重要的角色。在企业级应用中,选择正确的数据库管理系统对于数据存储、处理和查询效率至关重要。本文将对比两个备受关注的数据库管理系统——达梦数据库和Oracle数据库,从功能、性能和适用场景等方面进行深入探讨,以帮助读者在选择合适数据库时做出明智的决策。
2785 1

推荐镜像

更多