我的oracle 9i学习日志(6)--Starting Up and shutting down a Database

简介:
Starting Up a Database
1 
 
 
1、NOMOUNT
这个状态下oracle server完成下列任务:
    a.读取初始化参数文件;
    b.为SGA分配内存;
    c.启动后台进程;
    d.打开alertSID.log文件和跟踪文件
数据库必须被命名,即初始化文件或在startup命令里指定DB_NAME的值。
2、MOUNT
关联一个数据库与在nomount启动的instance;定位并打开按参数文件指定的control files;读取数据文件和重做日志文件的名字和状态。但在这个阶段不会确认数据文件和重做日志文件的存在。
在这个阶段只能做一些指定数据库维护工作,如:重命名数据文件、开启或关闭归档模式、数据恢复(这些操作只能在此状态下做)。
3、OPEN
打开数据库文件和重做日志文件。这时数据库就可以被正常访问。这个阶段会确认相关文件能否被打开和数据库记录的一致性,否则会报错。如果有必要SMON将开始恢复工作。
4、STARTUP Command
STARTUP [FORCE] [RESTRICT] [PFILE=filename][OPEN[RECOVER][database]|MOUNT|NOMOUNT]
    force:强制启动或关闭(相当于执行shutdown abort)正在运行的instance,并重新启动。常在数据库无法正常启动(可能是由于上次关闭instance后内存空间分配不正常所致)的情况下使用。?
    restrict:只允许有RESTRICTED SESSION特权的用户访问
    pfile:指定启动的pfile文件。
    open recover db0:启动时恢复数据。
     nomount/mount:启动数据库至nomount或mount状态。
5、将数据库从nomount状态转变成mount状态或从mount状态转变为open状态:ALTER DATABASE { MOUNT | OPEN }。注意:不能从nomount状态直接转变为open状态,启动顺序只能是这样:shutdown->nomount->mount->open->shutdown。
6、Restricted Mode
在限制模式下,只有拥有限制会话特权的用户可以登录。
进入限制模式有两种方式:STARTUP RESTRICT  或   ALTER SYSTEM ENABLE RESTRICTED SESSION;
启用或禁用restrict模式:ALTER SYSTEM [ {ENABLE|DISABLE} RESTRICTED SESSION ]。
7、终止一个会话
用于在将数据库置于restrict模式下时可能要终止其他用户的会话,或管理员主动终止某个用户的会话。
ALTER SYSTEM KILL SESSION 'integer1,integer2' 
    ? integer1: Value of the SID column in the V$SESSION view 
    ? integer2: Value of the SERIAL# column in the V$SESSION view
终止会话过程:
    a.回滚用户当前事务
    b.释放当前锁定的表或行
    c.释放保留给客户的资源
8、只读模式
在mount状态下用下面命令可以切换到只读模式:
ALTER DATABASE OPEN  READ ONLY;
在mount状态下用下面命令可以切换到一般模式:
ALTER DATABASE OPEN READ WRITE;
只读模式只是不产生redo log file,所以只要不涉及产生重做数据的操作都可以做,如:数据库恢复、数据库文件的offline和online 等。
注意:只读模式和一般模式不能互相切换。
问题:
SQL> alter database open read only; 
alter database open read only 

ERROR at line 1: 
ORA-16005: database requires recovery
ALTER DATABASE OPEN [READ WRITE| READ ONLY]
解决方案:SQL> startup open recover lty(数据库名字)
Shutting Down the Database
1 
注:A = ABORT     I = IMMEDIATE     T = TRANSACTIONAL     N = NORMAL
命令:SHUTDOWN [NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT ]
shutdown normal:不建立新连接;将redo buffers里的内容写入磁盘;关闭instance前必须所有等待用户主动断开连接;
查看未提交的事务:
SQL> select addr,status from v$transaction;
ADDR  STATUS
-------- ----------------
59AF4CF4 ACTIVE
shutdown immediate:不建立新连接;中断正在执行的sql语句;回滚未提交的事务;断开在线用户;将redo buffers里的内容写入磁盘;关闭instance。
shutdown transactional:不建立新连接;客户端无法发起新的事务;客户端事务处理完成后断开客户端连接;将redo buffers里的内容写入磁盘;关闭instance。
shutdown abort:立即关闭instance;redo buffers里的内容不会写入磁盘;下次启动会自动执行数据库恢复程序。









本文转自 d185740815 51CTO博客,原文链接:http://blog.51cto.com/luotaoyang/280377,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
3月前
|
存储 Go
Go 浅析主流日志库:从设计层学习如何集成日志轮转与切割功能
本文将探讨几个热门的 go 日志库如 logrus、zap 和官网的 slog,我将分析这些库的的关键设计元素,探讨它们是如何支持日志轮转与切割功能的配置。
101 0
Go 浅析主流日志库:从设计层学习如何集成日志轮转与切割功能
|
4月前
|
Kubernetes 容器
k8s学习-CKS真题-日志审计 log audit
k8s学习-CKS真题-日志审计 log audit
76 0
|
4月前
|
Kubernetes 监控 容器
k8s学习-CKA真题-监控Pod日志
k8s学习-CKA真题-监控Pod日志
78 0
|
2天前
|
监控 Docker 容器
Docker从入门到精通:Docker log 命令学习
了解 Docker 日志管理对容器监控至关重要。`docker logs` 命令用于查看和管理容器日志,例如,`docker logs <container_name>` 显示容器日志,`-f` 或 `--follow` 实时跟踪日志,`--tail` 显示指定行数,`--timestamps` 添加时间戳,`--since` 按日期筛选。Docker 支持多种日志驱动,如 `syslog`,可通过 `--log-driver` 配置。有效管理日志能提升应用程序的稳定性和可维护性。
4 0
|
6天前
|
运维 Oracle 关系型数据库
Oracle日志文件:数据王国的“记事本”
【4月更文挑战第19天】Oracle日志文件是数据库稳定运行的关键,记录数据变更历史,用于恢复和故障处理。它们协调并发操作,确保数据一致性和完整性。日志文件实时写入操作信息并定期刷新到磁盘,便于数据恢复。然而,日志文件需备份和归档以保证安全性,防止数据丢失。日志文件,数据王国的“记事本”,默默守护数据安全。
|
1月前
|
Oracle 关系型数据库 Linux
服务器Centos7 静默安装Oracle Database 12.2
服务器Centos7 静默安装Oracle Database 12.2
85 0
|
2月前
|
SQL 关系型数据库 MySQL
MySQL技能完整学习列表11、日志和备份——1、查看日志——2、数据备份和恢复(mysqldump, mysqlbinlog)
MySQL技能完整学习列表11、日志和备份——1、查看日志——2、数据备份和恢复(mysqldump, mysqlbinlog)
45 0
|
2月前
|
SQL 存储 关系型数据库
MySQL技能完整学习列表——1、数据库基础概念——1、关系型数据库(Relational Database)
MySQL技能完整学习列表——1、数据库基础概念——1、关系型数据库(Relational Database)
179 0
|
4月前
|
SQL 存储 关系型数据库
认真学习MySQL中的二进制日志(binlog)与中继日志(Relay log)
认真学习MySQL中的二进制日志(binlog)与中继日志(Relay log)
104 0
|
23天前
|
Java
使用Java代码打印log日志
使用Java代码打印log日志
77 1

推荐镜像

更多