目录

1 启动数据库

1.1 nomount模式

1.2 mount模式

1.3 open模式

1.4 force模式

2 关闭数据库

2.1 normal方式

2.2 transactional方式

2.3 immediate方式

2.4 abort方式


1 启动数据库

启动数据库三个步骤:启动实例、加载数据库、打开数据库

命令格式:

startup [nomount|mount|open|force][restrict][pfile=filename]
  • nomount:表示启动实例不加载数据库
  • mount:表示启动实例、加载数据库并保持数据库的关闭状态
  • open:表示启动实例、加载并打开数据库,这个是默认选项
  • force:表示终止实例并重新启动数据库
  • restrict:用于指定以受限制的会话方式启动数据库
  • pfile:用于指定启动实例时所使用的文本参数文件,filename就是文件名

附录:  在命令行中登录oracle数据库: 

sqlplus username/password  如:普通用户登录  sqlplus scott/tiger
    sqlplus username/password as sysdba 如:sqlplus sys/admin as sysdba
    sqlplus username/password@net_service_name 如: sqlplus scott/tiger@orcl
    sqlplus username/password@//host:port/sid

1.1 nomount模式

只会创建实例(oracle实例的各种内存结构和服务进程),并不加载数据库,也不会打开任何数据文件;

startup nomount

注意:用户要以sysdba的身份登录,才会有关闭和启动数据实例额权限

1.2 mount模式

这种模式将启动实例、加载数据库并保持数据库的关闭状态。

startup mount

1.3 open模式

这种模式将启动实例,加载并打开数据库,这就是常规的启动模式,如果用户想要对数据库进行多种操作,就必须使用open模式启动数据库实例。

startup

startup命令后面不带有任何参数,就表示以open模式启动数据库实例

1.4 force模式

这种模式将终止实例并重新启动数据库,这种启动模式具有一定的强制性。比如,在其他启动模式失效时,可以尝试使用这种启动模式

startup force

2 关闭数据库

与启动数据库实例相同,关闭数据库实例也有三个关闭步骤关闭数据库、卸载数据库、关闭实例

语法格式:

shutdown [normal|transactional|immediate|abort]
  • normal:表示以正常方式关闭数据库
  • transactional:表示在当前所有的活动事务被提交完毕之后,关闭数据库
  • immediate:表示在尽可能短的时间内立即关闭数据库
  • abort:表示以终止方式来关闭数据库

2.1 normal方式

这种方式称为正常的关闭方式,如果对关闭数据库的时间没有限制,通常会使用这种方式来关闭数据库:

shutdown normal

在执行以上代码后,oracle将会执行以下操作:

  • 阻止任何用户建立新的连接
  • 等待当前所有正在连接的用户主动断开连接
  • 当所有的用户都断开连接后,将立即关闭数据库

2.2 transactional方式

这种方式称为事务关闭方式,它的首要任务是能够保证当前所有的活动事物都可以被提交,并在尽可能短的时间内关闭数据库:

shutdown transactional

在执行以上代码后,oracle将会执行以下操作:

  • 阻止用户建立新连接和开始新事物
  • 等待所有活动事物提交后,再断开用户连接
  • 当所有的活动事物提交完毕,所有的用户都断开连接后,将关闭数据库

2.3 immediate方式

这种事立即关闭方式,这种方式能够在尽可能短的时间内关闭数据库:

shutdown immediate

在这种关闭方式下,oracle不但会立即中断当前用户的链接,而且会强行终止用户的当前活动事物,将未完成的事物回退,以立即关闭的方式关闭数据库时,oracle将会执行以下操作:

  • 阻止用户建立新连接和开始新事务
  • 将未提交的活动事务回退
  • 关闭数据库

2.4 abort方式

这种方式称为终止关闭方式,终止关闭方式具有一定的强制性和破坏性。使用这种方式会强转中断任何数据库操作,这样可能会丢失一部分数据信息,影响数据库的完整性

shutdown abort

在执行以上代码后,oracle将会执行以下操作:

  • 阻止用户建立新连接和开始新事物
  • 取消未提交的活动事物,而不是回退
  • 立即终止正在执行的任何SQL语句
  • 立即关闭数据库