Oracle学习笔记: 启动和关闭数据库& 管理网络 -

系统 1560 0

■监听程序

  #lsnrctl start  ---> 启动
  #lsnrctl stop   ---> 停止
  #lsnrctl status ---> 状态
  #lsnrctl help   ---> 帮助

■一个例程只能访问一个数据库,而一个数据库可以由多个例程同时访问.
  例程由一组逻辑内存结构和一系列后台服务进程组成.
  在启动数据库的过程中,文件的使用顺序是:参数文件、控制文件、数据文件和重做日志文件.

■启动模式 
  nomount模式  启动例程,但不装载数据库,即只完成启动步骤的第1步。(读取参数文件)
  mount模式  启动例程,并装载数据库,但不打开数据库。即,只完成启动步骤的第1和第2步。
  open模式   启动例程,装载数据、打开数据库、即完成全部3个启动步骤.

  启动语法
  startup [nomount|mount|open|force] [restrict] [PFILE=filename];

■NOMOUNT选项
  只创建例程,不装数据库,读取参数文件,为例程创建各种内存结构和后台服务进程,用户能与数据库进行通信,
  但不能使用数据库中的任何文件.

  如果要执行下列维护工作,就必须用NOMOUNT选项启动数据库
  ◆ 运行一个创建新数据的脚本
  ◆ 重建控制文件 

  在NOMOUNT启动模式下,只能访问那些与SGA区相关的数据库字典视图,如V$PARAMETER,V$SGA,V$OPTION,
  V$PROCESS,V$VERSION,V$INSTANCE等.这些视图中的信息都是从SGA区中获取的,与数据库无关.

■MOUNT选项
  MOUNT选项不仅创建例程,还装载数据库,但却不打开数据库.读取控制文件.管理员可以通过部分命令修改数据库,
  用户还无法与数据库建立连接或会话.

  如果要执行下列维护工作,就必须用MOUNT选项启动数据库
  ◆ 重命名数据文件
  ◆ 添加、删除或重命名重做日志文件
  ◆ 执行数据库完全恢复操作
  ◆ 改变数据库的归档模式

  在MOUNT启动模式下,除了可以访问那些与SGA区相关的数据字典视图之外,还可以访问到那些与控制文件相关的数据字典
  视图,如V$THREAD,V$CONTROLFILE,V$DATABASE,V$DATAFILE,V$LOGFILE等,这些视图中的信息是从控制文件中获取的.

■OPEN选项
  OPEN选项不仅创建例程,还装载数据库,并且打开数据库.这是正常启动模式.如果startup命令行上没有指定任何
  模式,默认就是start open选项启动数据库.

■FORCE选项
  如果在正常启动数据库遇到困难,可以使用force启动选项.例如服务器突然断电.
  FORCE选项与正常启动选项之间的差别还在于,无论数据库处于什么模式,都是先异常关闭数据库,然后再重新启动.
  而不需要事先用SHUTDOWN语句关闭数据库.

■RESTRICT选项
  RESTRICT选项启动数据库并把它置入OPEN模式,但些时只有拥有RESTRICTED SESSION权限的用户才能访问数据库.
 
  如果需要在数据库处于OPEN模式下执行维护任何,又要保证此时其他用户不能在数据库上建立连接和执行任何,则应该
  使用RESTRICT选项来打开数据库,以便完成如下任务:
  ◆ 执行数据库数据的导出或导入操作.
  ◆ 执行数据装载操作(用SQL*Loader)
  ◆ 暂时阻止一般的用户使用数据.
  ◆ 进行数据库移植或升级

  当工作完成后,可以用如下语句禁用RESTRICT SESSION权限,即:
  alter system disable restricted session

■关闭选项
■NORMAL选项
  按NORMAL选项关闭数据库时,Oracle将执行如下操作:
  ◆ 阻止任何用户建立新的连接
  ◆ 等待当前所有正在连接的用户主动断开连接.正在连接的用户能够继续他们当前的工作,甚至能够提交新的事务.
  ◆ 一旦所有的用户都断开连接,才进行关闭、制裁数据库,并终止例程。
   注意:
   按NORMAL选项关闭数据库时,Oracle并不会断开当前用户的连接,而是等待当前用户主动断开连接。在这个过程中,连接的用
   户甚至可以建立新的事务。此选项关闭数据库,在下次启动数据库时不需要任何恢复操作。关闭数据库所耗费的时间完全取决
   于用户主动断开连接的时间.
   
■TRANSACTIONAL选项
  TRANSACTIONAL选项比NORMAL选项稍微主动些。它能在尽可能短的时间内关闭数据库。
  按NORMAL选项关闭数据库时,Oracle将执行如下操作:
  ◆ 阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务
  ◆ 等待所有当前未提交的活动事务提交完后,然后立即断开用户的连接
  ◆ 一旦所有的用户都断开连接,立即进行关闭、制裁数据库,并终止例程
  注意:
  按TRANSACTIONAL选项关闭数据库,既能保证用户不会丢失当前工作的信息,又可以尽可能快地关闭数据库,此选项关闭数据库,在下次
  启动数据库时不需要任何恢复操作。

■IMMEDIATE选项
  IMMEDIATE选项关闭数据库,就能够在尽可能短的时间内关闭数据库。

  按IMMEDIATE选项关闭数据库时,Oracle将执行如下操作:
  ◆ 阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务
  ◆ 任何当前未提交的事务均被回退
  ◆ Oracle不再等待用户主动断开连接,而是直接关闭、制裁数据库,并终止例程
  注意:
  如果存在很多未提交的事务,则按IMMEDIATE选项关闭数据库仍然会耗费很长时间。此选项关闭数据库,在下次启动数据库时不需要任何
  恢复操作。

■ABORT选项
  如果上述三种选项都无法成功关闭数据库,就说明数据库存在严重错误。这时只能使用ABORT选项来关闭数据库。
  在下面几种特殊情况中,可以考虑按ABORT选项来关闭数据库。
  ◆ 数据库本身或某个数据库应用程序发生异常,并且使用其他选项均无效
  ◆ 出现紧急情况,需要立刻关闭数据库(比如得到通知将在一分钟内发生停电)
  ◆ 在启动数据库例程的过程中产生错误。

  按IMMEDIATE选项关闭数据库时,Oracle将执行如下操作:
  ◆ 阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务
  ◆ 立即结束当前正在执行的SQL语句
  ◆ 任何未提交的事务均不被回退
  ◆ 立即断开所有用户的连接,关闭、缺氧数据库,并终止全程.
  注意:
  按ABORT选项关闭数据库时,由于当前未完成的事务并不会被回退,所以可能会丢失一部分数据信息。这样数据库的完整性遭到损害,在下一次启动时需要
  进行恢复。因此建议尽量避免按ABORT选项来关闭数据库.

■在WINDOWS中启动和关闭数据库所使用的服务名称及说明
  Oracle<ORACLE_HOME_NAME>TNSListener  对应于数据库监听程序
  OracleService<SID>     对应于数据库例程
  OracleDBConsole<sid>    对应于Oracle Enterprise Manager 或 OEM
  Oracle<ORACLE_HOME_NAME>iSQL*Plus  对应于iSQL*Plus
  这几个服务之间的关系是:
  ◆ 首先启动Oracle<ORACLE_HOME_NAME>TNSListener服务,然后再启动其他服务。
  ◆ 如果不启动Oracle<ORACLE_HOME_NAME>TNSListener,则可以使用SQL*Plus,但不能使用OEM和iSQL*Plus。
  ◆ 因为OracleDBConsole<sid>依赖于OracleService<SID>,所以必须先启动OracleService<SID>,之后再启动
    OracleDBConsole<sid>.关闭反之。

============================

■提示:全局数据库名是数据库的默认服务名,由初始化参数文件中的SERVICE_NAMES参数指定.

■Oracle网络配置分为服务器端配置和客户机端配置,服务器端配置的目的就是配置监听程序的配置文件(listener.ora).
  客户机端配置的目的就是配置网络服务名的配置文件(tnsnames.ora).服务器端本身也有一个网络服务名的配置文件(
  tnsnames.ora),在服务器端,一般不需要配置tnsnames.ora文件,但如果服务器要与其他服务器连接时(如在分布式网
  络环境中),同样需要配置tnsnames.ora文件。根据网络连接的实际情况,每个listener.ora和tnsnames.ora内容都可能
  不同,以便监听不同的连接请求信息或连接到不同的数据库.

Oracle学习笔记: 启动和关闭数据库& 管理网络 ----摘自《Oracle10g 宝典》


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论