首页 > 数据库 >oracle startup命令及lsnrctl命令

oracle startup命令及lsnrctl命令

时间:2023-06-30 23:07:31浏览次数:47  
标签:数据文件 启动 STARTUP 数据库 startup 命令 实例 oracle 打开


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

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

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

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

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

 

 Oracle数据库的完整启动过程分为3个步骤完成的
启动实例–>加载数据库–>打开数据库; 数据库管理员可以根据实际情况的需求,不同的模式启动数据库。
Oracle启动需要经历四个状态:SHUTDOWN 、NOMOUNT、MOUNT 、OPEN

1.不装入数据库而启动事例
可以不装入数据库而启动事例,一般是在数据库才创建时才可以这样做:
STARTUP NOMOUNT

  • 启动实例,不加载数据库,无法访问数据库(实例被启动,但还没关联数据库);
  • 注意:仅仅通过初始化文件,分配出SGA区,启动数据库后台进程,没有打开控制文件和数据文件,只允许管理员连接;
  • 用途:创建数据库或重建控制文件。

2.启动事例并装入数据库
用户可以启动事例而并装入数据库但不打开数据库,允许用户执行特定的维护操作。例如:
l 重命名数据文件;
l 添加、撤消或重命名重做日志文件;
l 启动和禁止重做日志归档;
l 执行全部的数据库恢复。
STARTUP MOUNT
启动实例,加载数据库,可以访问数据库操作数据;
注意:仅仅只是当前实例的控制文件被打开,数据文件未打开,只允许管理员连接, 这一步会读控制文件,如果这一步有一个控制文件损坏就无法启动;
用途:重命名数据文件、添加、删除或重命名重做日志文件、执行数据库完全恢复操作、改变数据库的归档模式;

3.启动事例装入并打开数据库
正常情况是一个事例被启动,数据库装入并打开。这种模式允许任何有效用户连接到数据库并执行典型
的数据库访问操作。
STARTUP

该命令完成创建实例、安装实例和打开数据库的所有三个步骤。此时数据库使数据文件和重作日志文件在线,通常还会请求一个或者是多个回滚段。这时系统除了可以看到前面Startup Mount方式下的所有提示外,还会给出一个"数据库已经打开"的提示。此时,数据库系统处于正常工作状态,可以接受用户请求。

STARTUP

该命令完成创建实例、安装实例和打开数据库的所有三个步骤。此时数据库使数据文件和重作日志文件在线,通常还会请求一个或者是多个回滚段。这时系统除了可以看到前面Startup Mount方式下的所有提示外,还会给出一个"数据库已经打开"的提示。此时,数据库系统处于正常工作状态,可以接受用户请求。
如果采用STARTUP NOMOUNT 或者是STARTUP MOUNT的数据库打开命令方式,必须采用ALTER DATABASE命令来执行打开数据库的操作。例如,如果你以STARTUPNOMOUNT方式打开数据库,也就是说实例已经创建,但是数据库没有安装和打开。这是必须运行下面的两条命令,数据库才能正确启动。
ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;
而如果以STARTUPMOUNT方式启动数据库,只需要运行下面一条命令即可以打开数据库:

ALTER DATABASE OPEN.

 

4.限制在启动时对数据库的访问
用户可以在严格的模式下启动事例并装入数据库,这样的模式只允许DBA做以下的工作:
l 执行结构维护,如重建索引;
l 执行数据库文件的导入导出;
l 执行数据装载;
l 临时阻止典型用户使用数据
STARTUP RESTRICT

5.强制事例启动
可以用下面命令来强行启动事例,如果一个事例正在启动,则STARTUP FORCE 重新启动。
STARTUP FORCE;

6.启动一个事例,装入数据库,并启动全部的介质恢复
如果用户要求介质恢复,可以启动一个事例,装入指向事例的数据库,并自动地启动恢复程序。
STARTUP OPEN RECOVER;

7.启动独占或并行模式
如果用户的ORACLE服务器允许多个事例来并发的访问一个数据库(Oracle 并行服务器选项),应选择独
占或并行装入数据库。
例如:
STARTUP OPEN sale PFILE=initsale.ora PARALLEL;
如果用户指定独占(缺省),那么数据库只能由当前的事例装入并打开。下面是一个独占的模式的事例

STRARTUP OPEN sales PFILE=initsales.ora EXECLUSIVE RESTRICT
另外:
STARTUP [FORCE] [RESTRICT] [PFILE= filename] [OPEN [RECOVER][ database] | MOUNT | NOMOUNT]
STARTUP OPEN:STARTUP缺省的参数就是OPEN,打开数据库,允许数据库的访问。当前实例的控制文件中
所描述的所有文件都已经打开。

STARTUP MOUNT:MOUNT数据库,仅仅给DBA进行管理操作,不允许数据库的用户访问。仅仅只是当前实例
的控制文件被打开,数据文件未打开。

STARTUP NOMOUNT:仅仅通过初始化文件,分配出SGA区,启动数据库后台进程,没有打开控制文件和数
据文件。不能任何访问数据库。

STARTUP PFILE= filename:以filename为初始化文件启动数据库,不是采用缺省初始化文件。
STARTUP FORCE:中止当前数据库的运行,并开始重新正常的启动数据库。
STARTUP RESTRICT:只允许具有RESTRICTED SESSION权限的用户访问数据库。
STARTUP RECOVER:数据库启动,并开始介质恢复。
SHUTDOWN有四个参数:NORMAL、TRANSACTIONAL、IMMEDIATE、ABORT。缺省不带任何参数时表示是NORMAL

SHUTDOWN NORMAL:不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启
动时不需要实例恢复。

SHUTDOWN TRANSACTIONAL:不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数
据文件。启动时不需要实例恢复。

SHUTDOWN IMMEDIATE:不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据
文件。没有结束的事务是自动rollback的。启动时不需要实例恢复。

SHUTDOWN ABORT:不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文
件。启动时自动进行实例恢复。

另外,对于NORMAL、TRANSACTIONAL、IMMEDIATE,DB Buffer Cache的内容写入了数据文件,没有提交的
事务被回滚,所有的资源被释放,数据库被“干净”的关闭。

对于ABORT,DB Buffer Cache的内容没有写入数据文件,没有提交的事务也没有回滚。数据库没有
dismount和关闭,数据文件也没有关闭。当数据库启动时,需要通过redo log恢复数据,通过回滚段对
事务回滚,对资源进行释放。

 

二、


在启动、关闭或者重启oracle监听器之前确保使用lsnrctl status命令检查oracle监听器的状态:

1、$lsnrctl status:检查当前监听器的状态

2、$lsnrctl start [listener-name] 启动所有的监听器,可以指定名字来启动特定的监听器

3、$lsnrctl stop [listener-name]  关闭所有的监听器,可以指定名字来关闭特定的监听器

4、$lsnrctl reload  重启监听器,此命令可以代替lsnrctl stop,lsnrctl start

5、lsnrctl hep      可以显示所有可用的监听器命令

标签:数据文件,启动,STARTUP,数据库,startup,命令,实例,oracle,打开
From: https://blog.51cto.com/u_3369545/6595325

相关文章

  • oracle数据库重启命令
    1、oracle服务器重启命令是什么Oracle服务器是面向企业级应用的关系数据库管理系统。在日常使用中,由于各种原因可能需要进行服务器重启。下面是Oracle服务器重启命令的介绍。Oracle服务器重启命令步骤如下:1.先选择好登陆正常的Oracle用户,然后进入Oracle服务器对应的命令行。2.停......
  • Linux必学技能 | 17个案例带运维小白快速精通Awk命令,拿来即用
    awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行地读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有三个不同的版本:awk、nawk和gawk,未作特别说明,一般指gawk,gawk是awk的GNU版本。之......
  • find命令mtime,ctime,atime详解
    1.查找时间说明find./-name“*data*”-mtime+1当前目录下文件名包含data,而且修改时间在48小时以上的find./-name“*date*”-mtime+2当前目录下文件名包含data,而且修改时间在72小时以上的find./name“*data*”-mtime-1当前目录下文件名包含data,而且修改时间在24......
  • Linux系统用户、用户组以及权限管理常用命令
    记录Linux系统用户、组和相关设置。用户和用户组在 /etc/group存储当前系统中的用户组信息 注意:当该组内只有一个用户,并且用户名和组名相同时,在组列表中,包含用户一列可以为空2.系统中root分组的组编号一定为03.组号1~499为系统预留的组编号,一般是预留给系统安装的软件或者服......
  • Linux man命令手册使用方法,man和man5区别
    1.man手册页简介man手册页(manualpages,“手册”),是类UNIX系统最重要的手册工具。多数Linux发行版都预装了它。Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。man手册分了9个章节,每个章节都有它对应的作用,请看下表:章节名称描述1Standard......
  • linux存放history命令的文件
    当你在玩Linux的时候,如果你经常使用命令行来控制你的Linux系统,那么有效地使用命令历史机制将会使效率获得极大提升。事实上,一旦你掌握了我在下面给出的15个有关Linuxhistory历史命令的例子,你就会发现使用history历史命令行将更有乐趣。1、使用HISTTIMEFORMAT在历史中显示TIMESTAMP......
  • python调用cmd显示中文乱码及调用cmd命令
    os.system('dir')解决方法加上os.system('chcp65001')_____________________________________________________________#!/usr/bin/python3#-*-coding:UTF-8-*-importosos.system('chcp65001')result=os.system(r"dir")ss="......
  • Linux下mount命令出现Host is down的解决方法
    1、Linux下mount命令出现Hostisdown的解决方法https://jingyan.baidu.com/article/cb5d6105cec1a4005c2fe084.html当使用Linux中的mount命令挂载一个Windows的共享目录的时候有时会出现:mounterror(112):HostisdownRefertothemount.cifs(8)manualpage(e.g.manmount.c......
  • Oracle CONNECT BY根据特定字符拆分字符串
    1、一行SELECTT.ID,REGEXP_SUBSTR(T.VALS,'[^,]+',1,LEVEL)ASVALFROM(SELECT'101'ID,'A,B'VALSFROMDUAL)TCONNECTBYLEVEL<=REGEXP_COUNT(T.VALS,'[^,]+');2、多行2-1、如果ID唯一不重复:SELECTT.ID,REGEXP_SUBSTR......
  • oracle regexp_replace 去空白符
    1、去空白符SQL:SELECTregexp_replace(STR,'^\s*','*')AS"去掉左边空白符",regexp_replace(STR,'\s*$','*')AS"去掉右边空白符",regexp_replace(STR,'(^\s*)|(\s*$)','*')AS"去掉......