当前位置:文档之家› 第12章数据库的启动与关闭

第12章数据库的启动与关闭

第12章数据库的启动与关闭
第12章数据库的启动与关闭

第12章数据库的启动与关闭

数据库启动时会首先启动数据库实例(instance),在这个过程中数据库获得一些内存空间,并启动了必须的后台进程,而后会读取控制文件再进一步打开各种数据文件,最后完成数据库的启动任务。

在启动数据库时,涉及三种状态:nomount,mount,open,通常使用startup指令选择不同的参数就可以启动数据库到不同的状态来满足不同的业务需要。

关闭数据库和启动数据库正好相反,也涉及三个过程:close,dismount,shutdown。用户可以选择使用不同的参数normal,immediate,transactional,abort.在关闭数据库时,最好使用shutdown immediate方式,这种方式安全且相对较快。

12.1启动数据库

启动数据库需要以DBA用户的身份登录。

12.1数据库的启动过程

数据库的启动过程涉及到三个状态。

NOMOUNT状态:只打开了数据库实例。

NOUNT状态:打开控制文件。

OPEN状态:打开数据文件、日志文件等各类必须的数据库文件。

12.1数据库启动到NOMOUNT状态

搜索参数文件,如数据库缓冲区大小、重做日志缓冲区大小等。根据这些参数分配内存,即SGA,然后启动必须的五个后台进程。

数据库的启动过程记录在告警追踪文件中,存放在BACKGROUND_DUMP_DEST 定义的目录下,名字为aler_orcl.log。

SQL>show parameter background_dump_dest;

SQL>select *

SQL>from v$controlfile;_________会发现此时控制文件没有打开。

SQL>show parameter control_files;

12.1.3数据库启动到MOUNT状态

有两种方式,一是可以直接启动数据库到MOUNT状态;二是如果数据库已经启动到NOMOUNT状态,使用指令ALTER DATABASE MOUNT把数据库切换到MOUNT 状态。

SQL>select *

SQL>from scott.dept;__________会发现些时数据文件没有打开。

12.1.4数据库启动到OPEN状态

ORACLE需要检验数据文件的头信息,进行点计数器检查和SCN检查来完成实例恢复。

数据库启动到OPEN状态,有两种方式,一是直接启动到OPEN状态,使用指令startup open或startup来实现。二是如果数据库处于NOMOUNT或MOUNT状态,可以使用指令alter database open切换到OPEN状态。

12.2关闭数据库

也涉及到三个过程:CLOSE,DISMOUNT,SHUTDOWN。

SQL>Alter database close;

SQL>Alter database dismount;

SQL> shutdown;

关闭数据库时的重要参数解析

1.SHUTDOWN NORMAL

这种方式是SHUTDOWN数据库的默认方式,不允许新的数据库连接,只有当前的所有连接都退出时才会关闭数据库,这是一种安全地关闭数据库的方式,但是如果有大量用户连接,则需要较长时间关闭数据库。

2.SHUTDOWN IMMEDIATE

这种方式是可以较快且安全地关闭数据库,是经常采用的一种方式,些时数据库会做一些操作,如中断当前事务、回滚未提交的事务、强制断开所有用户连接、执行检查点把脏数据写到数据文件中等。

3.SHUTDOWN TRANSACTIONAL

数据库当前的连接继续执行,但不允许新的连接,一旦当前的所有事务执行完毕,则关闭数据库。如果当前的某些事务一直执行,或许会用几天时间关闭数据库。4.SHUTDOWN ABORT

这是一种不安全地关闭数据库的方法。数据库会断开当前的所有用户连接,拒绝新的连接,断开当前的所有执行事务,立即关闭数据库。当数据库重启时需要进行数据库恢复,因为它不会对未完成事务回滚,也不会执行检查点操作。

Oracle数据库系统紧急故障处理方法

Oracle数据库系统紧急故障处理方法 Oracle物理结构故障是指构成数据库的各个物理文件损坏而导致的各种数据库故障。这些故障可能是由于硬件故障造成的,也可能是人为误操作而引起。所以我们首先要判断问题的起因,如果是硬件故障则首先要解决硬件问题。在无硬件问题的前提下我们才能按照下面的处理方发来进一步处理。 控制文件损坏: 控制文件记录了关于oracle的重要配置信息,如数据库名、字符集名字、各个数据文件、日志文件的位置等等信息。控制文件的损坏,会导致数据库异常关闭。一旦缺少控制文件,数据库也无法启动,这是一种比较严重的错误。 损坏单个控制文件: 1. 确保数据库已经关闭,如果没有用下面的命令来关闭数据库: svrmgrl>shutdown immediate; 2. 查看初始化文件$ORACLE_BASE/admin/pfile/initORCL.ora,确定所有控制文件的路径。 3. 用操作系统命令将其它正确的控制文件覆盖错误的控制文件。 4. 用下面的命令重新启动数据库: svrmgrl>startup; 5. 用适当的方法进行数据库全备份。 损坏所有的控制文件: 1. 确保数据库已经关闭,如果没有用下面的命令来关闭数据库: svrmgrl>shutdown immediate; 2. 从相应的备份结果集中恢复最近的控制文件。对于没有采用带库备份的点可以直接从磁带上将最近的控制文件备份恢复到相应目录;对于采用带库备份的点用相应的rman脚本来恢复最近的控制文件。 3. 用下面的命令来创建产生数据库控制文件的脚本:

svrmgrl>startup mount; svrmgrl>alter database backup controlfile to trace noresetlogs; 4. 修改第三步产生的trace文件,将其中关于创建控制文件的一部分语句拷贝出来并做些修改,使得它能够体现最新的数据库结构。假设产生的sql文件名字为createcontrol.sql. 注意: Trace文件的具体路径可以在执行完第3)步操作后查看 $ORACLE_BASE/admin/bdump/alert_ORCL.ora文件来确定。 5. 用下面命令重新创建控制文件: svrmgrl>shutdown abort; svrmgrl>startup nomount; svrmgrl>@createcontrol.sql; 6. 用适当的方法进行数据库全备份。 重做日志文件损坏: 数据库的所有增、删、改都会记录入重做日志。如果当前激活的重做日志文件损坏,会导致数据库异常关闭。非激活的重做日志最终也会因为日志切换变为激活的重做日志,所以损坏的非激活的重做日志最终也会导致数据库的异常终止。在ipas/mSwitch中每组重做日志只有一个成员,所以在下面的分析中只考虑重做日志组损坏的情况,而不考虑单个重做日志成员损坏的情况。 确定损坏的重做日志的位置及其状态: 1. 如果数据库处于可用状态: select * from v$logfile; svrmgrl>select * from v$log; 2. 如果数据库处于已经异常终止: svrmlgr>startup mount; svrmgrl>select * from v$logfile;

数据库常用命令

oracle常用命令 命令解释 $Ps –ef|grep oracle 查看oracle进程是否启动 $ sqlplus "/as sysdba" 以sysdba角色登陆oracle数据库 SQL>startup 显示当前系统中已登录的人员。 SQL>shutdown immediate 关闭数据库 SQL>select * from v$version; 查看oracle数据库版本 SQL>select name from v$database; 查看数据库SID SQL>truncate table table_name 快速清空一个表 SQL>select * from all_users;查看数据库中所有用户 SQL>alter tablespacename offline;将表空间offline SQL> alter tablespacename online ;将表空间online $oerr ora 2236 查错误 alert_{ORACLE_SID}.log 数据库告警日志文件 *.TRC 数据库跟踪文件 Oracle说明 1、数文件:SPFILE不能直接阅读是二进制文件,需要转为文本 2、oracle数据库后,可以查看数据库状态是否open,如果open会显示open字样 SQL> select status, instance_role from v$instance; 3、PFILE:SQL> connect / as sysdba 从spfile创建pfile:SQL> create pfile from spfile; 从pfile创建spfile:CREA TE SPFILE FROM PFILE='/home/oracle/admin/pfile/init.ora'; 4、names是客户端或应用程序需要连接数据库时必须配置的,使用$tnsping service_aliasname可以测试出tns配置的是否正确 5、要文件listener.ora、Tnsnames.ora、Sqlnet.ora,这三个位置在$ORACLE_HOME/network/admin目录下。 6、库启动时要先启动listener Network配置:监听程序lsnrctl

Oracle数据库startup和shutdown方式

Oracle数据库startup和shutdown方式 昨天晚上,回去好好整理了下关于"Oracle数据库提供了几种不同数据库启动和关闭方 式",然后,自己就回去就写了个示例. 其中,就出现了1个问题: ORA-12528: TNS:listener: all appropriate instances are blocking new connections 于是到网上就大量的查阅资料,哈哈,好不错,解决方法找到了.其中红色的就是主要解决方法.下面就把我整理的东西给共享下. 一:注意事项 要启动和关闭数据库,必须要以具有Oracle 管理员权限用户登陆,通常也就是以具有SYSDBA 权限用户登陆。一般我们常用INTERNAL用户来启动和关闭数据库(INTERNAL用户实际上是SYS用户以SYSDBA连接同义词)。Oracle数据库新版本将逐步淘汰INTERNAL这个内部用户,所以我们最还是设置DBA用户具有SYSDBA权限。 二:启动一个数据库需要三个步骤 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 bytesu Redo Buffers 77824 bytes 2、STARTUP MOUNT 该命令创建实例并且安装数据库,但没有打开数据库。Oracle系统读取控制文件中关于数据文件和重作日志文件内容,但并不打开该文件。这种打开方式常在数据库维护操作中使用,如对数据文件更名、改变重作日志以及打开归档方式等。在这种打开方式下,除了可以看到SGA系统列表以外,系统还会给出"数据库装载完毕"提示。 3、STARTUP

Oracle数据库的启动与关闭

以下资料来自Oracle数据库精讲与疑难解析,仅供学习 一、Oracle数据库的启动 Oracle数据库的启动要经历3个阶段。 阶段一:启动实例 (Start An Instance)--nomount 阶段二:装载数据库 (Mount The Database)--mount 阶段三:打开数据库 (Open The Database)--open 1.启动实例 ①读取参数文件(Initialization Parameter File, PFILE 或者 Server Parameter Files, SPFILE) ②Oracle根据参数文件中的参数,分配系统全局区(System Global Area, SGA) ③启动后台进程(DBWR: 数据库写入进程,LGWR:日志写入进程,CKPT:检查点进程,SMON: 系统监控进程,PMON:进程监控进程,ARCH归档进程等)。 这些内存和后台进程组合起来组成实例(Oracle Instance)。 参数文件(PFILE或者SPFILE)还指定了控制文件(Control File)的位置。 2.装载数据库 打开控制文件(Control File),从控制文件中获得数据文件(Data File)和联机日志文件(Redo Log File)的名字和位置。这时候,Oracle已经把实例和数据库关联起来。对于普通用户,数据库 还是不可访问。 3.打开数据库 Oracle打开数据文件 (Data Files) 和联机日志文件 (Redo Log File) 。这时候,数据库可以使用。 普通可以登录数据库,对数据库进行操作。 4.分步启动Oracle STARTUP NOMOUNT; ALTER DATABASE MOUNT; ALTER DATABASE OPEN; 5.直接启动Oracle STARTUP (相当于上面三个过程依次进行) 6.使用特定初始化参数文件 (Initialization Parameter File, FILE) 启动数据库 STARTUP PFILE='C: \oracle\product\10.2.0\db_1\dbs\PFILEORCL.ORA'; 7.把数据库启动到限制模式(RESTRICT) 在限制模式下,只有CREATE SESSION 和RESTRICTED SESSION权限的用户可以访问数据库。 ①如果数据库是关闭的 STARTUP RESTRICT; ②如果数据库是开启的 ALTER SYSTEM enable restricted session; 8.以只读模式(Read Only)打开数据库 ①如果数据库是关闭的 STARTUP open read only; ②如果数据库是开启的 ALTER DATABASE OPEN read only; 在直读模式下,数据文件和日志文件都禁止写操作。整个数据库是只读的。 但是允许数据库恢复(Database Recovery)及其他不会产生回滚的操作。 9.把数据库启动到回复模式 (RECOVER) STARTUP OPEN RECOVER; 10.重启数据库(RESET) STARTUP FORCE

数据库原理及应用第7章课后习题答案

习题7 1、试述事务的概念及事务的四个特性。 事务(Transaction)是用户定义的一个数据库操作序列,这些操作是一个完整的工作单元,一个事务内的所有语句被作为一个整体,这些操作要么全做,要么全不做。事务是数据库环境的中的逻辑单元,相当于操作系统中的进程。 为了保证数据库中数据的正确性,一个事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability )。这四个特性简称ACID 特性。 2、试述事务的状态及转换。 3、在数据库中为什么要并发控制并发控制能保证事务的哪些特性 数据库的一个明显的特点是多个用户共享数据库资源,尤其是多用户可以同时存取相同的数据。在这样的系统中,在同一时刻并发运行的事务数可达数百个。若对事务的并发操作不加以控制,就会造成数据存、取的错误,破坏了数据的一致性和完整性。 并发控制可以防止数据不一致性出现。 4、并发操作可能会产生哪几类数据不一致用什么方法可以避免不一致性的情况 并发操作带来的数据不一致性分为四种情况:丢失数修改、读“脏”数据、不可重复读和产生“幽灵”数据。 在数据库环境下,进行并发控制的主要技术有封锁(Locking)、时间戳(Timestamp)和乐

观控制法。商用的DBMS一般都采用封锁方法。 5、什么是封锁基本的封锁类型有哪些试述它们的含义。 封锁机制,即加锁(Locking),是一种并发控制机制,是用来调整对共享目标的并行存取的技术。事务通过向封锁管理程序的系统组成部分发出请求而对事务加锁。 基本封锁类型有两种:共享锁(Share Locks,简记为S锁或读锁)和排它锁(Exclusive Locks,简记为X锁或写锁)。 6、如何用封锁机制保证数据的一致性 在运用X锁和S锁对数据对象加锁时,还需要约定一些规则,这些规则为封锁协议或加锁协议(Locking Protocol)。对封锁方式加不同的规则,就形成了各种不同级别的封锁协议。不同级别的封锁协议所能达到的一致性级别是不同的。 7、什么样的并发调度是正确的调度 可串行性(Serializability)是并发事务正确调度的准则。按照这个准则规定,一个给定的并发调度,当且仅当它是可串行化的,才认为是正确调度。 8、理解并解释下列术语的含义: 封锁、活锁、死锁、排他锁、共享锁、可串行化的调度、两段锁协议。 1)加锁就是事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,封锁其要使用的数据。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象。 2)活锁:如果事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待。T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待。然后T4又请求封锁R,当T3释放了R上的封锁之后系统又批准了T4的请求……,T2有可能永远等待,这就是活锁。 3)死锁:如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2,因T2已封锁了R2,于是T1等待T2释放R2上的锁,接着T2又申请封锁R1,因T1已封锁了R1,T2也只能等待T1释放R1上的锁。这样T1在等待T2,而T2又在等待T1,T1和T2两个事

数据库系统原理与设计万常选版第七章练习题和详细答案

第七章数据库恢复技术 一、选择题 1.一个事务的执行,要么全部完成,要么全部不做, 一个事务中对数据库的所有操作都是一个不可分割的操作序列的属性是()。 A. 原子性 B. 一致性 C. 独立性 D. 持久性 2.表示两个或多个事务可以同时运行而不互相影响的是()。 A. 原子性 B. 一致性 C. 独立性 D. 持久性 3. 事务的持续性是指() A.事务中包括的所有操作要么都做,要么都不做。 B.事务一旦提交,对数据库的改变是永久的。 C.一个事务内部的操作对并发的其他事务是隔离的。 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态。 4.SQL语言中的COMMIT语句的主要作用是()。 A. 结束程序 B. 返回系统 C. 提交事务 D. 存储数据 5.SQL语言中用()语句实现事务的回滚 A. CREATE TABLE B. ROLLBACK C. GRANT和REVOKE D. COMMIT 6.若系统在运行过程中,由于某种硬件故障, 使存储在外存上的数据部分损失或全部损失,这种情况称为()。 A. 介质故障 B. 运行故障 C. 系统故障 D. 事务故障 7.在DBMS中实现事务持久性的子系统是()。 A. 安全管理子系统 B. 完整性管理子系统 C. 并发控制子系统 D. 恢复管理子系统 8. 后援副本的作用是()。 A. 保障安全性 B. 一致性控制 C. 故障后的恢复 D. 数据的转储 9.事务日志用于保存()。 A. 程序运行过程 B. 程序的执行结果 C. 对数据的更新操作 D. 数据操作 10.数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包括()。 A. 数据字典、应用程序、审计档案、数据库后备副本 B. 数据字典、应用程序、审计档案、日志文件 C. 日志文件、数据库后备副本 D. 数据字典、应用程序、数据库后备副本 二、简答题 1.试述事务的概念及事务的四个特性。 答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。

服务器(ORACLE)启动与关闭

服务器(O R A C L E)启动 与关闭

一、重启服务器顺序: 关闭数据库(toppord/toptest)→重启设备(reboot)→开启数据 库(只需要开启toptest,topprod已设置自动启用) 二、Linux下启动 oracle 数据库 -- ssh连接上数据库主机,正式区DB(172.16.13.228) / 测试区DB(172.16.13.224) -- su – root/tiptop -- su – oracle -- echo $ORACLE_SID #检查当前实例 -- export ORACLE_SID=topprod(正式区)/ export ORACLE_SID=topprod(测试区) # 设置实例 -- lsnrctl start -- sqlplus / as sysdba -- startup 至此,已将数据库开启到OPEN状态。 三、Linux下关闭ORACLE数据库 -- ssh连接上正式区DB(172.16.13.228) / 测试区DB(172.16.13.224) -- su - root/root #切换至ROOT管理员用户 -- su – oracle #切换至oracle用户(oracle用户密码原为oracle,但不正 确) -- echo $ORACLE_SID #检查当前实例 -- export ORACLE_SID=topprod(正式区)/ export ORACLE_SID=topprod(测试区) #设置实例

-- sqlplus / as sysdba #以数据库管理员身份进入数据库 -- shutdown immediate #关闭数据库 -- su – root/root #切换回系统ROOT用户 -- reboot #重启服务器 检查服务器资源命令 AP:top DB:topas 备注: oracle数据库几种关闭方式: 1、shutdown normal 正常方式关闭数据库 关闭时间较长,等待事务完成才会关闭数据库。 2、shutdown immediate 立即方式关闭数据库(一般使用该方式) 会结束事务,将未提交的事务全部回滚。在SVRMGRL中执行shutdown immediate,数据库并不立即关闭,而是在Oracle执行某些清除工作后才关闭(终止会话、释放会话资源),当使用shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。 3、shutdown abort 直接关闭数据库 会造成数据库的不一致,再次启动数据库会自动执行恢复,会造成等待时间较长。正在访问数据库的会话会被突然终止,如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间。

数据库常用命令

命令结构 FoxPro的命令结构一般由命令动词、语句体和注释几部分构成。 如:LIST [范围] [[FIELDS 字段名列表] [FOR 条件][WHILE 条件] [OFF] [TO PRINT] 常用子句 范围:表示记录的执行范围,可以是下面几项其中之一: ALL 表示全部记录; NEXT n 表示从当前记录开始的以下n条记录; RECORD n 表示第n号记录; REST 表示从当前记录到最后一条记录。 FIELDS 字段名表:用于指定操作的字段,多个字段时用逗号分隔。 FOR条件:对满足条件的记录进行操作。 WHILE 条件:当遇到第一个不满足条件的记录时,停止命令执行。 以下命令中,大写的英文词为关键词,必须原样照写。 “常用子句”指以下几个可选子句: [范围] [FIELDS 字段名表] [FOR 条件] [WHILE 条件] 命令中的“列表”,指用“,”分隔的各项。如“字段名列表”就是将各个字段名用逗号分隔。 部分英文词的意义:Databasename 数据名tablename 数据表名filename 文件名Viewname 视图名arrayname 数组名 提示:加下划线的为本课程要求掌握的命令。 一、数据库的建立、打开、关闭和删除 建立数据库: CREATE DATABASE [databasename|?] 从磁盘中删除数据库: DELETE DATABASE databasename|? 打开数据库: OPEN DATABASE [EXCLUSIVE|SHARED][NOUPDATE] 打开数据库设计器(允许用户按交互方式编辑当前数据库): MODIFY DATABASE [databasename|?] 指定的数据库databasename为当前数据库。 指定当前的数据库: SET DATABASE TO [databasename] Databasename必须为已经打开的数据库。如果省略数据库名称databasename,则不指定当前数据库(没有当前数据库)。 关闭数据库:

Oracle 数据库启动过程各步骤详解

Oracle 数据库启动过程各步骤详解 Oracle数据库的完整启动过程包含以下3个步骤:简单地说,就是:启动实例-->加载数据库-->打开数据库.------------------------------------------------------------------------------------------------------------------ 1.创建并启动与数据库对应的实例。在启动实例时,将为实例创建一系列后台进程和服务进程,并且在内存中创建SGA 区等内存结构。在实例启动的过程中只会使用到初始化参数文件,数据库是否存在对实例的启动没有影响。如果初化参数设置有误,实例将无法启动。 2.为实例加载数据库。加载数据库时实例将打开数据库的控制文件,从控制文件中获取数据库名称、数据文件的位置和名称等有关数据库物理结构的信息,为打开数据库做好准备。如果控制文件损坏,则实例将无法加载数据库。在加载数据库阶段,实例并不会打开数据库的物理文件----数据文件和重做日志文件。 3.将数据库设置为打开状态。打开数据库时,实例将打开所有处于联机状态的数据文件和重做日志文件。控制文件中的任何一个数据文件或重做日志文件无法正常打开,数据库都将返回错误信息,这时需要进行数据库恢复。只有将数据库设置为打开状态后,数据库才处于正常状态,这时普通用户才能够访问数据库。在很多情况下,启动数据库时并不是直接完成上述

3个步骤,而是逐步完成的,然后执行必要的管理操作,最后才使数据库进入正常运行状态。所以,才有了各种不同的启动模式用于不同的数据库维护操作。 ============================================== ===============================Oracle 数据库启动与关闭各种方式详解整理 前言: 首先要知道,Oracle数据库的完整启动过程是分步骤完成的,包含以下3个步骤:启动实例-->加载数据库-->打开数据库详解看这里: https://www.doczj.com/doc/3f5206542.html,/lutinghuan/article/details/7484103因为Oracle数据库启动过程中不同的阶段可以对数据库进行不同的维护操作,对应我们不同的需求,所以就需不同的模式启动数据库。 小白:在启动实例之前,需要先启动SQL*Plus,并以一个用户身份连接到Oracle。启动模式详解1.NoMount 模式(启动实例不加载数据库)命令:startup nomount 讲解:这种启动模式只会创建实例,并不加载数据库,Oracle 仅为实例创建各种内存结构和服务进程,不会打开任何数据文件。在NoMount模式下,只能访问那些与SGA区相关的数据字典视图,包括V$PARAMETER、V$SGA、V$PROCESS 和V$SESSION等,这些视图中的信息都是从SGA区中获

Php中关闭数据库链接的时候注意

Php中关闭数据库链接的时候注意 没有错 search ( "id=" . $_POST ["mId"] ); if ($member->countnum < 1) { $member->close(); echo ""; exit (); } //判断用户名是不是已经被注册了 $thisResult = $admin->getCount ( "aName='" . $_POST ["aName"] . "'" ); if ($thisResult > 0) { echo ""; $admin->close (); exit (); } //添加记录 $admin->add (); $member->close(); $admin->close (); turntopage ( "admin_add.php", "您已经成功添加一条记录!",3); } //从用户权限组里查找全部数据 $admintype = new systemtype ( );

oracle启动的三个阶段

oracle启动的三个阶段 三个阶段: 1. 启动到nomount状态,这个阶段数据库读取spfile/pfile文件中的参数,启动数据库实例。 1-1读取初始化参数文件.注意读取顺序.主要是指定控制文件及数据库实例名1-2分配系统全局区 1-3启动后台进程 1-4打开alertSID.log文件和跟踪文件 补充说明: 在nomount阶段,oracle 会查找参数文件,启动实例,参数文件的查找顺序为spfile.ora,init.ora,init.ora如果以上三个文件均查找不到oracle在此时就会报错,同时在此阶段oracle会查找alter文件,如果没有找到alter文件会自动创建;启动相应的后台进程至少包括五个 pmon,DBWn,ckpt,smon,LGWn。总之,这个阶段主要就是启动一个实例,并为加载数据库确定必要的参数。 2. 启动到mount状态,这个阶段数据库打开控制文件,验证控制文件。 2.装载数据库--startup mount,读控制文件等 2-1将数据库与一个已打开的实例相关联 2-2打开控制文件 2-3获取数据文件和重做日志文件的名称和状态.

补充说明: 在mount阶段,oracle会打开控制文件,加载数据库,此时数据库的基本结构信息都能够查询了,但是还不能查询用户表的内容。 3. 启动到open状态,这个阶段数据库打开控制文件里描述的文件。 3.打开数据库--database open 3-1打开数据文件 3-2打开联机重做日志文件. 补充说明: 在open阶段,就是打开数据库,在这个阶段SMON会对数据文件的检查点进行一致性检查,不一致时smon会介入进行恢复。 Oracle中数据库实例和数据库是独立实体,可以独立存在。因此启动过程分成多个阶段:首先在内存中构建实例,然后通过安装数据库启用到数据库的连接,最后打开数据库来使用它。Oracle数据库有四种状态:SHUTDOWN:所有数据库文件都关闭,不存在实例 NOMOUNT:实例在内存中创建(SGA已经被创建,根据参数文件指定启动某些后台进程),但没有连接到任何数据库。 MOUNT:实例定位并读取数据库控制文件。 OPEN:所有的数据库文件都被定位和打开,终端用户可以使用数据库。 数据库的启动可分为三个阶段:

Oracle数据库重新启动的方法

Oracle数据库重新启动的方法 2010-11-15 10:02 佚名互联网我要评论(0)字号:T | T Oracle数据库是大家都非常熟悉的数据库系统,下文就将教您重新启动Oracle的详细步骤方法,希望可以对您能有所帮助。 AD: Oracle数据库重新启动应该如何实现呢?这是很多人都提到过的问题,下面就为您详细介绍Oracle数据库重新启动的方法,供您参考。 1. 停应用层的各种程序。 2. 停oralce的监听进程: $lsnrctl stop 3. 在独占的系统用户下,备份控制文件: SQL>alter database backup controlfile to trace; 4. 在独占的系统用户下,手工切换重作日志文件,确保当前已修改过的数据存入文件: SQL>alter system switch logfile; 5. 在独占的系统用户下,运行下面SQL语句,生成杀数据库用户连接的kill_all_session.sql文件: set head off; set feedback off; set newpage none; spool /oracle_backup/bin/kill_all_session.sql select 'alter system kill session '''||sid||', '||serial#||''';' from v$session where username is not null; spool off; 6. 在独占的系统用户下,执行杀数据库用户连接的kill_all_session.sql文件: SQL>@/oracle_backup/bin/kill_all_session.sql

ORACLE数据库启动过程祥解

ORACLE数据库启动过程祥解 本文目的 在ORACLE数据库治理中,启动数据库遇到问题较多。而且多数ORACLE的使用者在数据库启动过程中遇到错误提示,无从下手使用了错误的方法修改数据库的相关文件,而从造成了不必要的数据缺失。通过本文使读者对ORACLE数据库的启动过程有一个较为详细的了解,遇到启动过程的错误不至于手忙脚乱造成更大的缺失。 一、数据库启动方法 1、UNIX平台数据库启动方法 使用oracle用户登录服务器 $>sqlplus ‘/ as sysdba’(使用sys用户登录数据库) Sql>(系统提示连接到一个没有启动的实例) Sql>startup(正常启动数据库) 2、WINDOWS平台数据库启动方法 ●使用手工方式启动数据库。 ?打开DOS窗口 ?C:\>ordim –startup –sid ora9i(其中ora9i为实例的名称) 在WINDOWS平台启动ORACLE时经常遇到如下错误:

以上错误是由于,没有启动ORACLE数据库在WINDOWS平台中的服务。 正确启动过程如下: C:\>oradim -startup -sid ora9i C:\>lsnrctl start LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 28-7月-2006 22:24 :16 Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved. 启动tnslsnr:请稍候... TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production 系统参数文件为c:\oracle\ora92\network\admin\listener.ora 写入c:\oracle\ora92\network\log\listener.log的日志信息监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXT PROC0ipc)))监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dba)(PORT=1521)) )正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0))) LISTENER 的STATUS ------------------------ 别名LISTENER 版本TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc tion 启动日期28-7月-2006 22:24:16 正常运行时刻0 天0 小时0 分 4 秒 跟踪级别off 安全性OFF SNMP OFF 监听器参数文件c:\oracle\ora92\network\admin\listener.ora

数据库原理与应用教程第四版 第七章答案

免责声明:私人学习之余整理,如有错漏,概不负责 1.事务的概念以及四个特征 事务是用户定义的数据操作系列,这些操作可作为一个完整的工作单元,一个事务内的所有语句被作为一个整体,要么全部执行,要么全部不执行。 特征:原子性、一致性、永久性、隔离性。 2.事务处理的模型有哪两种 ISO、T-SQL 3.并发控制的措施是什么 封锁机制,即加锁 4.有如下三个事务: T1:B = A + 1; T2:B = B * 2; T3:A = B + 1; 1)A和B分别2和1,三个事务并发地执行,可能的执行结果有哪些 T123: 7,6 T132: 4,6 T213: 4,3 T231: 3,4 T312: 2,6 T321: 2,3 2)给出一种遵守两段锁协议的并发调度策略 T1 T2 T3 等待B+X锁A+X锁 等待 B = B * 2 等待 等待释放B的X锁B+S锁 等待 A = B + 1 等待释放A和B的锁 ……… 5.当某个事务对某段数据加S锁,在此事务释放锁之前,其他事务可以对此段数据加S锁 6.什么是死锁,怎样预防死锁? 死锁是指两个或两个以上的事务在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。 预防死锁常用的方法有一次封锁法和顺序封锁法 7.三级封锁协议分别是什么?每一级封锁协议能保证什么? 一级封锁协议:对事物要修改的数据加X锁。保证不丢失修改 二级封锁协议:增加事务对读取的数据加S锁,读取完后释放。保证不读脏数据 三级封锁协议:增加事务对读取的数据加的S锁到事务结束才释放。保证数据可重复读

8.什么是可串行化调度?如何判断一个并行执行的结果是否是正确的? 可串行化调度:多个事务的并发执行时正确的,当且仅当其结果与按某一顺序的串 行执行的结果相同 并行执行结果正确:多个事务在某个调度下的执行结果与这些事务在某个串行调度 下的执行结果相同 9.两段锁的含义是什么? 可以将每个事务分成两个时期:申请封锁期和释放封锁期。在申请期不允许释放任何锁,在释放期不允许申请任何锁。 10.数据库故障大致分为几类? 3类。事务内部故障、系统故障和其他故障 11.数据库备份的作用是什么? 在发生故障后可以将数据库恢复到相对正确的状态

AIX操作系统和数据库启动及关闭

AIX操作系统的关闭:shutdown –F AIX操作系统的重启动:shutdown -rF 开启ORACLE 1、等待操作系统正常启动结束 2、使用telnet工具(SecureCRT)登录到系统 3、使用lsvg查看当前卷组配置 P560B:/# lsvg rootvg datavg archvg 系统输出显示系统中总共有三个卷组 4、使用lsvg –o 查看当前已经加载的卷组 P560B:/# lsvg -o archvg rootvg 默认情况下由于datavg是一个同步卷,因此系统不能在启动时加载,所以使用lsvg –o时看不到这个卷组,必须要启动Cluster服务,系统才会加载同步卷 5、启动Cluster 服务命令:smitty cl_admin。输入命令后系统会显示一个字符界面的操作提示,询问是否要启动,直接回车即可。 6、启动过程会需要几十秒至几分钟。正常情况下都会顺利的完成,此时字符界面提示执行状态为:OK 7、按Esc+0回到命令行提示符,再使用lsvg –o 查看当前已加载的卷组。有些时候启动Cluster服务完成以后并不能马上看到datavg被加载。请耐心等待,也可以监控Cluster

服务启动的输出文件:tail –f /tmp/hacmp.out只有当/tmp/hacmp.out这个文件停止输出的时候,Cluster服务才算真正启动结束。 8、确认datavg已经被加载后,切换到oracle 用户:su – oracle 9、成功切换到oracle用户后,可以发现系统提示符已经改变 P560B:/# su - oracle [YOU HA VE NEW MAIL] [P560B]/home/oracle$ 10、检查oracle 的监听服务是否已经正常启动,输入命令:lsnrctl $ lsnrctl LSNRCTL for IBM/AIX RISC System/6000: Version 9.2.0.7.0 - Production on 28-APR-2007 10:18:14 Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved. Welcome to LSNRCTL, type "help" for information. LSNRCTL> 在命令行输入status查看当前监听的状态 LSNRCTL> status Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ZAP550A)(PORT=1521))) TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-00511: No listener IBM/AIX RISC System/6000 Error: 79: Connection refused LSNRCTL> 这表示监听尚未启动,启动监听:start LSNRCTL> start Starting /oracle/app/product/9.2/bin/tnslsnr: please wait... TNSLSNR for IBM/AIX RISC System/6000: Version 9.2.0.7.0 - Production System parameter file is /oracle/app/product/9.2/network/admin/listener.ora Log messages written to /oracle/app/product/9.2/network/log/listener.log

Linux平台下Oracle启动说明(多个数据库实例)

Linux平台Oracle多个实例启动说明: 环境说明:oracle实例1的SID为orcl(为默认启动的实例),第二个实例的SID为orcl2 启动步骤: 1)启动数据库实例完成后,启动数据库监听服务 #lsnrctl start 2)切换到需要启动的数据库实例下,如下表示启动的是orcl数据库实例,若要启动orcl2,则修改ORACLE_SID=orcl2 #export ORACLE_SID=orcl 3)使用oracle账号登陆Linux系统 #oracle #passwd:oraclepass 4)启动数据库实例 #sqlplus /nolog #conn /as sysdba #startup #exit 5)启动实例对应的管理控制台服务 #emctl start dbconsole oracle数据库启动和关闭方式 一、几种启动方式: 1、startup nomount 非安装启动,这种方式启动下可执行:重建控制文件、重建数据库 启动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 权限的用户使用

4、数据库启动与关闭

一、填空题 1、可通过在SQL*Plus中查询动态视图(V$INSTANCE)来查看实例的禁止操作状态. 2、数据库处于(关闭)状态的时候,用户就可以在没有I/O影响的情况下备份一个数据库. 3、启动数据库时,如果装载数据库但不打开数据库可执行(STARTUP MOUNT)命令. 二、选择题 1 将数据库启动到装载状态的命令 A: startup B: startup nomount C: startup mount D: startup open 答案: C 2 使用shutdown命令关闭数据库,发生的次序是 A: 先关闭实例进程 B: 先关闭数据库 C: 先卸载数据库 D: 没有先后次序 答案: B 3 执行shutdown transactional命令 A: 数据库仍然允许新的用户连接 B: 数据库马上关闭 C: 等待当前所有会话结束后关闭 D: 如果没有执行中的数据库事物,即马上关闭 答案: C 4 服务器断电,发生的现象是哪一个? A: 数据缓冲区的修改写入数据库 B: 没有提交的事物自动撤销 C: 数据文件、控制文件和日志文件处于不一致状态 D: 下次启动,需要进行手工恢复 答案: B 5 用户SCOTT正在执行UPDA TE语句,需要保证SCOTT的修改操作完成,理想的关闭实例方式是 A: SHUTDOWN ABORT B: SHUTDOWN IMMEDIA TE C: SHUTDOWN TRANSACTIONAL D: SHUTDOWN NORMAL 答案: C 6 在哪种关闭方式下,SMON进程要对数据库实例进行恢复 A: NORMAL B: TRANSACTIONAL C: IMMEDIA TE D: ABORT 答案: D 7 静态初始化参数文件的特点是

相关主题
文本预览
相关文档 最新文档