Oracle数据库的启动与关闭方法

Oracle数据库的启动与关闭方法,第1张

这篇文章主要介绍了Oracle数据库的启动与关闭方法 需要的朋友可以参考下  

一 启动数据 $sqlplus "sys/pass as sysdba" sql>startup

二 启动监听器 数据库启动后 如果未启动监听进程 则客户端无法与数据库连接 监听进程的启动方法为 $lsnrctl start 在widnows中 可以从服务列表中启动监听器 监听里程配置文件为listener ora 位于目录/home/app/oracle/product/ /db /neork/admin/ 此配置文件分为两部分 一部分为监听程序本身的配置 包括协议 地址 端口号等 另一部分为监听程序所连接的数据库的实例信息 包括 实例名 全局数据库名 oracle主目录等 监听器可以利用oracle net config 向导来配置 要显示监听器的运行状态 $lsnrctl status要停止监听器 $lsnrctl stop

三 数据库的启动过程 分为三个阶段 启动实例 包括以下 *** 作 ) 读取参数文件 ) 分配SGA ) 启动后台进程 2.装载数据库 装载数据库是将数据库与已启动的实例相联系 数据库装载后 数据库保持关闭状态 3.打开数据库 此步骤使用数据库可以进行正常的 *** 作的处理 主要是打开控制文件 数据库文件和日志文件

四 数据库启动参数 NOMOUNT:只启动实例 不装载数据库 sql>startup nomount MOUNT:启动实例 并装载数据 但不打开数据库 sql>startup mount READ ONLY:将数据库置为只读 sql>startup mount sql>alter database open read only READ WRITE:以可读写方式打开数据 这是默认方式 sql>startup mount sql>alter database open read write OPEN:打开数据库 这是默认方式 sql>startup mount sql>alter database openRESTRICT:以受限方式打开 只有具有RESTRICTED SESSION权限的用户才可以连接数据库 sql>startup restrict PFILE:启时指定参数文件 sql>startup pfile=/u /user/mypfile ora FORCE:以强制方式启动数据库 sql>startup pfile=/u /user/mypfile ora open restrict force

五 数据库的关闭 与启动过程相对应 关闭包括三个过程 1).关闭数据库 2).卸载数据库 3).关闭数据库实例

1.NORMAL关闭方式 NORMAL关闭方式是正常关闭方式 是默认关闭方式 在这种关机方式下 数据库服务器必须等待所有客户端从Oracle中正常退出时 才可以关闭数据库 SQL>SHUTDOWN NORMAL 2.IMMEDIATE关闭方式 使用这种方式关闭数据库时 系统将连接到数据库的所有用户尚未提交的事务全部回退 中断连接 然后关闭数据库 SQL>SHUTDOWN IMMEDIATE 3.ABORT关闭方式 ABORT关闭方式为异常方式 使用这种方式关闭数据库时 系统立即将数据库实例关闭 对事务膛数据完整性不作检查 是最快的关机方式 sql>shutdown abort4.TRANSACTIONAL关闭方式 在这种关机方式中 数据库必须等待所有的客户运行的事务结束 提交或回退 sql>shutdown transactional

sql>startup force 强制启动

lishixinzhi/Article/program/Oracle/201311/19075

问题一:数据库实例如何理解呢 实例(instance):一组Oracle 后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享。这里可以维护易失的、非持久性内容(有些可以刷新输出到磁盘)。就算没有磁盘存储,数据库实例也能存在。也许实例不能算是世界上最有用的事物,不过你完全可以把它想成是最有用的事物,这有助于对实例和数据库划清界线。

实例和数据库之间的关系是:数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。实际上,准确地讲,实例在其整个生存期中最多能装载和打开一个数据库!

一般来说,我们的一个数据库对应一个实例,但在集群RAC情况下,共享数据库文件时,一个数据库是可以被多个实例同时使用的。

问题二:oracle数据库的实例,其中“实例”是什么意思? 实例指的是内存,数据库指的是物理文件。通过实例指向的数据库,来访问数据库中的数据。

问题三:数据库实例是什么意思 多个 SQL Server 实例 ,Microsoft SQL Server 2000 支持在同一台计算机上同时运行多个 SQL Server 数据库引擎实例。每个 SQL Server 数据库引擎实例各有一套不为其它实例共享的系统及用户数据库。

问题四:数据库实例 问这个问题说明你对数据库的概念还不太了解,这是最基本的概念。

数据库是什么?数据库是一个逻辑上的概念,简单的说就是相互关联的一会数据。而对应到实际的物理概念上,就是磁盘上的一个或者一堆文件,里边包含着数据。但是光有数据不行,数据库有很多功能,比如可以接受用户连接,给用户提供数据,这样就需要有“程序”。所以说关闭状态的数据库,就是磁盘上的程序文件,加上数据文件。

想要使用数据库,就要把它打开,让上边说的“程序”运行起来。实例就是指计算机内存中处于运行状态的数据库程序,以及为这些程序分配的一些内存空间。实例是位于内存中的,只在数据库处于运行状态时才存在。实例负责实现给用户提供网络连接、读写数据文件等等各种功能。

不同的数据库产海有些不同,Oracle中一个实例只能连接一个逻辑上的“数据库”,甚至是不同机器上运行着的不同实例同时连接一个数据库(RAC)。SQL Server和My SQL中的“实例”则比较独立,可以随时打开或者关闭某一个数据库。

问题五:什么是数据库的实例instance 首先说说,数据库是做什么?数据库是用来长久存储数据的,而我们大家都知道内存只能临时存储,磁盘等才能真正存储数据.那你说数据库会放那里呢?肯定是存放在磁盘上,其实数据库就是磁盘上的一个文件。

从上面我们得出结论:数据库==磁盘上的文件.

既然数据库可以看成磁盘上文件,我们怎么使用数据库呢?

如果说我们可以直接使用数据库,那就等价与直接使用磁盘上的文件.我们知道这样的一个常识:必须把磁盘上的文件读入内存才能使用.这就与我们以前所知道的一个常识相违背了.

那正确的流程是不是应该这样呢?把磁盘上文件先读入内存,然后再使用呢.

对了,这个才是使用数据库的正确流程.

数据库如何读入内存呢?

这个时候,就是我们要介绍的instance(实例)了.实例就是内存结构和一组后台进程.

实际上,正常的数据库读入内存的过程是,由实例中一组后台进程从磁盘上将数据文件读入到实例的内存中,然后经过在内存中对数据的 *** 作再从实例的内存中经过一组后台进程写到数据库中.

那实例相对与数据库而言,应该就是数据库的运行环境(随不准确但也很贴切).

我们知道了instance和database的区别后.下面我们做一个Oracle的例子,一块深刻的理解下这两个概念.

在Oracle中打开一个数据库,这个时候我们要使用sqlplus了.sqlplus是oracle的一个连接工具,相当于sql server中的查询分析器.

使用

用户名:system

密码:manger(自己在装Oracle时设定的)

点登录进入sqlplus.

登录sqlplus以后,system这个用户是没有权限启动实例的,所以我们这时要更换登录用户.

使用sys用户连接

的命令如下 :

conn sys as dba

密码:

输入完后.可以再输入如下命令查看当前用户:

show user

一:下面就可以打开数据库了

1.启动实例(instance)

startup nomount

2.将数据库装载到实例(instance)中

alter database mount

3.打开数据库

alter database open

二:关闭数据库:

1.shutdown immediate(包括三个步骤如下所述:)

首先关闭数据库

然后从实例上卸载数据库

最后关闭实例

通过Oracle打开以及关闭一个数据库的例子我们可以清楚的区分.数据库(database)和实例(instance)的概念.

问题六:在数据库中,添加一个用户实例是什么意思,请问用户实例怎么理解? 就是一个用户专用的数据库引擎。

问题七:什么是oracle实例,什么是oracle数据库,二者有什么区别? 这个问题如果回答得形象点就是:

一个数据库可以包含一个或者多个实例

实例的定义:由 *** 作系统后台进程和分配的内存区域构成。说

得简单点就是oracle在nomou骸t状态就分配了内存区域,一个实

例也就差不多快形成了。

问题八:什么是数据库的实例 所谓“数据库实例”,实际上就是数据库服务器引擎。每个SQL Server数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。

在一台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为是一个实例。

有两种类型的 SQL Server 实例:

1)默认实例:默认实例仅由运行该实例的计算机的名称唯一标识,它没有单独的实例名。如果应用程序在请求连接 SQL Server 时只指定了计算机名,则 SQL Server 客户端组件将尝试连接这台计算机上的数据库引擎默认实例。

2)命名实例:除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。应用程序必须提供准备连接的计算机的名称和命名实例的实例名。

计算机名和实例名以格式puter_name\instance_name指定。 一台计算机上可以运行多个命名实例。

问题九:什么是数据库实例? 所谓的“实例”,就是一个 SQL Server 数据库引擎

一个 数据库引擎 下面,又可以建立 多个数据库

例如我的计算机,SQL Server 实例的名字是 SQLEXPRESS

这个实例下面,有好几个数据库。

为什么要命名。就是我机器上,很有可能安装了 SQL Server 2005, 又安装了 SQL Server 2008。 2个服务器, 需要不同的名字来区分。

对于 网络请求来说

如果我要访问一个 SQL 数据库

必须提供 机器名 + 实例的名字,才能访问

例如:

C:\Documents and Settings\wzq>sqlcmd -S localhost\SQLEXPRESS

1>use stock

2>go

已将数据库上下文更改为 'Stock'。

问题十: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

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

三、数据库的关闭(SHUTDOWN)

对于数据库的关闭,有四种不同的关闭选项,下面对其进行一一介绍。

1、SHUTDOWN NORMAL

这是数据库关闭SHUTDOWN命令的确省选项。也就是说假如您发出SHUTDOWN这样的命令,也即是SHUTDOWN NORNAL的意思。

发出该命令后,任何新的连接都将再不允许连接到数据库。在数据库关闭之前,Oracle将等待现在连接的任何用户都从数据库中退出后才开始关闭数据库。采用这种方式关闭数据库,在下一次启动时无需进行任何的实例恢复。但需要注意一点的是,采用这种方式,也许关闭一个数据库需要几天时间,也许更长。

2、SHUTDOWN IMMEDIATE

这是我们常用的一种关闭数据库的方式,想很快地关闭数据库,但又想让数据库干净的关闭,常采用这种方式。

当前正在被Oracle处理的SQL语句立即中断,系统中任何没有提交的事务全部回滚。假如系统中存在一个很长的未提交的事务,采用这种方式关闭数据库也需要一段时间(该事务回滚时间)。系统不等待连接到数据库的任何用户退出系统,强行回滚当前任何的活动事务,然后断开任何的连接用户。

3、SHUTDOWN TRANSACTIONAL

该选项仅在Oracle 8i后才能够使用。该命令常用来计划关闭数据库,他使当前连接到系统且正在活动的事务执行完毕,运行该命令后,任何新的连接和事务都是不允许的。在任何活动的事务完成后,数据库将和SHUTDOWN IMMEDIATE同样的方式关闭数据库。

4、SHUTDOWN ABORT

这是关闭数据库的最后一招,也是在没有任何办法关闭数据库的情况下才不得不采用的方式,一般不要采用。假如下列情况出现时能够考虑采用这种方式关闭数据库。

1、 数据库处于一种非正常工作状态,不能用shutdown normal或shutdown immediate这样的命令关闭数据库

2、 需要立即关闭数据库;

3、 在启动数据库实例时碰到问题;

任何正在运行的SQL语句都将立即中止。任何未提交的事务将不回滚。Oracle也不等待现在连接到数据库的用户退出系统。下一次启动数据库时需要实例恢复,因此,下一次启动可能比平时需要更多的时间。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9928869.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存