首页  登陆  注册  博客集  下载频道  网络硬盘  学院论坛  家园
IT学院 网站地图 网站地图
收藏本站 收藏本站
高级搜索 高级搜索
 新闻IT新闻 互联网 微软 黑客新闻 网络网络协议 故障 网络管理 TCP/IP 无线技术 解决方案 黑客技术 漏洞 软件评测 安全资讯
 数据MSsql Oracle Mysql PL/SQL 备份 系统:Linux vista Windows FTP 防火墙 注册表 服务器行情 服务器应用 解决方案 WEB服务器
 墙纸风景壁纸 游戏壁纸 体育壁纸 汽车壁纸 人文壁纸 影视壁纸 广告壁纸 花卉壁纸 节日壁纸 动漫壁纸 明星壁纸 绘画壁纸 月历壁纸
当前位置: > 主页>数据库技术>Oracle>备份与恢复>ORACLE数据库的启动和关闭
热门文章排行
 
热门文章排行 Oracle 课程描述
Oracle数据库的灾难恢复
Oracle8i 概述
ORACLE 数据库备份技术
Oracle数据库系统使用经
在oracle中运行OS命令
Oracle dba 日常管理
ORACLE数据库的启动和关
如何在两个oracle服务器
关于恢复数据库的说明
精采文章推荐
 
精采文章推荐 Oracle数据库冷备份恢复
最新更新文章
 
最新更新文章 Oracle数据库冷备份恢复
ORACLE FOR SUN SOLARIS
Oracle 8.0使用技巧
其他数据库向Oracle8i的
Re: 紧急求救:oracle的
Re: 关于oracle的备份与
关于恢复数据库的说明
如何在两个oracle服务器
ORACLE数据库的启动和关
Oracle dba 日常管理

ORACLE数据库的启动和关闭

编辑:   来源:  日期:2008-02-06   我要投稿      家园

  对于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;


上一篇:Oracle dba 日常管理  
下一篇:如何在两个oracle服务器之间交换数据?
 关键字:  
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:

   文章评论:(0条)
  
 请留名: 匿名评论   点击查看所有评论
 

  责任编辑:IT学院  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。