Oracle的启动过程

在Windows操作系统平台下,可以使用SQL*Plus、OEM和系统服务管理等方式进行数据库的启动与关闭操作。
数据库启动分为3个步骤:创建并启动数据库实例、装载数据库和打开数据库。
数据库的关闭过程与数据库启动过程正好相反:先关闭数据库,关闭数据文件和重做日志文件;然后卸载数据库,关闭
控制文件;最后关闭实例,释放内存空间和停后台进程的运行。
在数据库运行过程中,可以根据数据管理与维护的需要,将数据库转换为只读状态、受限状态、挂起状态等。


如果是shutdown,那你肯定不能用sqlplus进去进行任何查询了
如果不是shutdown,就可以使用SQL语句查询当前状态。
可以使用select open_mode from vdatabase;使selectstatusfromvinstance;来查看

sqlplus /nolog
conn / as sysdba
SQL> select status from v$instance
ORA-01034: ORACLE not available ------------shutdown
SQL> startup nomount            ------------startedshu
SQL> alter database mount       ------------mounted
SQL> alter database open        ------------open

 

查看数据库配置信息,好像只能在sql*plus窗口中执行如下语句,在PL/SQL中执行不成功,不知道为什么。
show parameters
如果想查看某个参数,可直接加上某参数的名称,如下:
show parameters spfile
show parameters control_files
show parameters db_name
show parameters db_files
show parameters instance_name

导出spfile文件里的内容。
create pfile='c:\pfile.txt' from spfile='C:\ORACLEXE\APP\ORACLE\PRODUCT\11.2.0\SERVER\DBS\SPFILEXE.ORA';
然后根据导出的pfile文件里的内容找到数据文件、日志文件等相关文件的路径信息。

以上信息都是根据自己在Oracle中的测试总结出来的------------36


Oracle命令(二):Oracle数据库几种启动和关闭方式

一、Oracle数据库几种启动方式

1、startup nomount

  非安装启动,这种方式下启动可执行:重建控制文件、重建数据库,读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。

2、startup mount (dbname)

  安装启动,这种方式启动下可执行:数据库日志归档、数据库介质恢复、使数据文件联机或脱机、重新定位数据文件、重做日志文件。

  执行“nomount”,然后打开控制文件,确认数据文件和联机日志文件的位置,但此时不对数据文件和日志文件进行校验检查。

3、startup open (dbname)

  先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,这种方式下可访问数据库中的数据。

4、startup 等于以下三个命令

  startup nomount

  alter database mount

  alter database open

5、startup restrict

  约束方式启动,这种方式能够启动数据库,但只允许具有一定特权的用户访问,非特权用户访问时,会出现以下提示:

  ERROR:ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用

6、startup force

  强制启动方式,当不能关闭数据库时,可以用startup force来完成数据库的关闭,先关闭数据库,再执行正常启动数据库命令

7、startup pfile=参数文件名

  带初始化参数文件的启动方式,先读取参数文件,再按参数文件中的设置启动数据库

  例:startup pfile=E:\Oracle\admin\oradb\pfile\init.ora

8、startup EXCLUSIVE

  独占和共享启动

 

二、Oracle三种关闭方式

1、shutdown normal
  正常方式关闭数据库

2、shutdown immediate

  立即方式关闭数据库,在SVRMGRL中执行shutdown immediate,数据库并不立即关闭,而是在Oracle执行某些清除工作后才关闭(终止会话、释放会话资源),当使用

  shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。

3、shutdown abort

  直接关闭数据库,正在访问数据库的会话会被突然终止,如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间。

 


 

三、详解

  Oracle数据库提供了几种不同的数据库启动和关闭方式,本文将具体介绍这些启动和关闭方式之间的区别以及它们各自不同的功能。

  一、启动和关闭Oracle数据库

    对于大多数Oracle DBA来说,启动和关闭Oracle数据库最常用的方式就是在命令行方式下的Server Manager。从Oracle 8i以后,系统将Server Manager的所有功能都

  集中到了SQL*Plus中,也就是说从8i以后对于数据库的启动和关闭可以直接通过SQL*Plus来完成,而不再另外需要Server Manager,但系统为了保持向下兼容,依旧保留了

  Server Manager工具。另外也可通过图形用户工具(GUI)的Oracle Enterprise Manager来完成系统的启动和关闭,图形用户界面Instance Manager非常简单,这里不再

  详述。要启动和关闭数据库,必须要以具有Oracle 治理员权限的用户登陆,通常也就是以具有SYSDBA权限的用户登陆。一般我们常用INTERNAL用户来启动和关闭数据库

  (INTERNAL用户实际上是SYS用户以SYSDBA连接的同义词)。Oracle数据库的新版本将逐步淘汰INTERNAL这个内部用户,所以我们最好还是设置DBA用户具有SYSDBA

  权限。

  二、数据库的启动(STARTUP)

  启动一个数据库需要三个步骤:

  1、 创建一个Oracle实例(非安装阶段)

  2、 由实例安装数据库(安装阶段)

  3、 打开数据库(打开阶段) 

  在Startup命令中,可以通过不同的选项来控制数据库的不同启动步骤。

  1、STARTUP NOMOUNT

  NONOUNT选项仅仅创建一个Oracle实例。读取init.ora初始化参数文件、启动后台进程、初始化系统全局区(SGA)。Init.ora 文件定义了实例的配置,包括内存结构的大小

  和启动后台进程的数量和类型等。实例名根据Oracle_SID设置,不一定要与打开的数据库名称相同。当实例打开后,系统将显示一个SGA内存结构和大小的列表,如下所示:

  SQL> startup nomount
    ORACLE 例程已经启动。
    Total System Global Area 35431692 bytes
    Fixed Size 70924 bytes
    Variable Size 18505728 bytes
    Database Buffers 16777216 bytes
    Redo Buffers 77824 bytes

  2、STARTUP MOUNT

  该命令创建实例并且安装数据库,但没有打开数据库。Oracle系统读取控制文件中关于数据文件和重作日志文件的内容,但并不打开该文件。这种打开方式常在数据库维护操

  作中使用,如对数据文件的更名、改变重作日志以及打开归档方式等。在这种打开方式下,除了可以看到SGA系统列表以外,系统还会给出\"数据库装载完毕\"的提示。

  3、STARTUP

  该命令完成创建实例、安装实例和打开数据库的所有三个步骤。此时数据库使数据文件和重作日志文件在线,通常还会请求一个或者是多个回滚段。这时系统除了可以看到前

  面Startup Mount方式下的所有提示外,还会给出一个\"数据库已经打开\"的提示。此时,数据库系统处于正常工作状态,可以接受用户请求。假如采用STARTUP NOMOUNT

  或者是STARTUP MOUNT的数据库打开命令方式,必须采用ALTER DATABASE命令来执行打开数据库的操作。例如,假如你以STARTUP NOMOUNT方式打开数据库,也就

  是说实例已经创建,但是数据库没有安装和打开。这是必须运行下面的两条命令,数据库才能正确启动。

    ALTER DATABASE MOUNT;
    ALTER DATABASE OPEN;

  而假如以STARTUP MOUNT方式启动数据库,只需要运行下面一条命令即可以打开数据库:

  ALTER DATABASE OPEN.

  4、其他打开方式

  除了前面介绍的三种数据库打开方式选项外,还有另外其他的一些选项。

  (1) STARTUP RESTRICT

  这种方式下,数据库将被成功打开,但仅仅答应一些特权用户(具有DBA角色的用户)才可以使用数据库。这种方式常用来对数据库进行维护,如数据的导入/导出操作时不希

  望有其他用户连接到数据库操作数据。

  (2) STARTUP FORCE

  该命令其实是强行关闭数据库(shutdown abort)和启动数据库(startup)两条命令的一个综合。该命令仅在关闭数据库碰到问题不能关闭数据库时采用。

  (3) ALTER DATABASE OPEN READ ONLY;

  该命令在创建实例以及安装数据库后,以只读方式打开数据库。对于那些仅仅提供查询功能的产品数据库可以采用这种方式打开。

 

出处:http://www.cnblogs.com/NaughtyBoy/p/3180947.html

posted on   jack_Meng  阅读(864)  评论(0编辑  收藏  举报

编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
历史上的今天:
2014-08-25 JS 正则表达式
2014-08-25 JS函数的定义与调用方法
2014-08-25 JS的数据类型
2014-08-25 JS瀑布流布局模式(2)
2014-08-25 JS瀑布流布局模式(1)
2014-08-25 JS移动客户端--触屏滑动事件

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏

主题色彩