哪些网站做的好,济宁建设信息网官网,wordpress图片变小,php网站开发视频教程下载-- --Oracle 数据库实例启动关闭过程 -- /* Oracle数据库实例的启动#xff0c;严格来说应该是实例的启动#xff0c;数据库仅仅是在实例启动后进行装载。Oracle数据启动的过程被划分为 几个不同的步骤#xff0c;在不同的启动过程中#xff0c;我们可以对其实现不同的…-- --Oracle 数据库实例启动关闭过程 -- /* Oracle数据库实例的启动严格来说应该是实例的启动数据库仅仅是在实例启动后进行装载。Oracle数据启动的过程被划分为 几个不同的步骤在不同的启动过程中我们可以对其实现不同的操作系统修复等等工作因此了解Oracle数据启动、关闭是非常 有必要的。下面详细了Oracle Database 10g 数据库启动及关闭的过程。 一、数据库实例的启动 启动命令starup [force][restrict] [pfile...] [nomount] [mount] [open] 启动过程nomount --- mount --- open (startup不带参数将逐步一一完成) 1.nomount阶段(即实例的启动) 实例的启动通常包含下列任务 a.按以下顺序在$ORACLE_HOME/dbs[win平台为database]目录下搜索下列文件,即如果第一个没找到就找下一个 spfileSID.ora --- spfile.ora --- initSID.ora b.分配SGA c.启动后台进程 d.打开并修改告警SID.log文件及跟踪文件 使用场景 多用于数据库创建、控制文件重建、特定的备份恢复等 注意 此阶段不打开任何的控制文件及数据文件。 2.mount阶段 mount阶段完成的任务 a.启动实例并打开控制文件将数据库与实例关联起来 b.利用参数文件中的说明打开并锁定控制文件 c.读取控制文件以获取数据文件和重做日志文件的名字和状态信息但不检查数据日志文件是否存在 使用场景 a.重命名数据文件移动数据文件位置等(数据库打开表空间脱机的情况下也可以重命名数据文件) b.启用或关闭重做日志文件的归档及非归档模式 c.实现数据库的完全恢复 注意 这一步会读控制文件如果这一步有一个控制文件损坏就无法启动 3.open阶段 mount阶段完成的任务 a.打开数据文件 b.打开联机日志文件 注意 a.在此期间Oracle服务器将校验所偶的数据文件和联机日志文件能否打开并对数据库作一致性检查 b.如果出现一致性错误SMON进程将启动实例恢复 c.如果任一数据文件或联机日志文件丢失Oracle服务器将报错 4.特殊的方式打开数据库 只读模式 startup open read only; 如果现在在mount alter database open read only; 受限模式 有时进行数据库维护护希望一般的用户不能登录。可以启动到该模式这样只有用户具有 restricted session 权限才可登录到数据库。 启动方法 startup restrict; 取消受限 alter system disable restricted session; 二、数据库实例的关闭 关闭命令shutdowm abort | immediate | transactional | normal (shutdown不带参数将缺省为normal) 关闭选项 normal ---不准许新的连接等待当前的session 结束等待当前的事务结束强制检查点并关闭文件 transactional ---不准许新的连接不等待当前的session结束等待当前的事务结束强制检查点并关闭文件。 immediate ---不准许新的连接不等待当前的session结束不等待当前的事务结束强制检查点并关闭文件。 abort ---不准许新的连接不等待当前的session结束不等待当前的事务结束不作强制检查点。 三、几类诊断文件 包含有重要意义时间的具体信息用于解决问题用于日常更好的管理数据库 a.alterSID.log 告警文件 记录了数据库启动、关闭时间和一些重要操作及错误警告信息,包含错误号ora-,由dba管理 位置由background_dump_dest 维护alertSID.log,定期转移系统会自动产生新的alert_sid.log b.后台进程跟踪文件 记录了后台进程的一些重要信息和警告、错误等 位置$ORACLE_BASE/admin/vvorcl/bdump/vvorcl_lgwr_15135.trc c.用户跟踪文件 由用户进程产生也能由服务器进程产生跟踪用户的SQL语句的统计信息也包括错误信息 文件位置由user_dump_dest 用户跟踪 会话级 alter session set sql_tracetrue; 实例级 alter system set set sql_tracetrue; 跟踪文件的大小由max_dump_file_size参数决定。跟踪时最好要限制他的大小 四、动态性能视图 记录当前数据库的活动并且不停的更新故不能保证读取数据的一致性 监控和调整数据库 所有者sys 以v$开头 DICT和DICT_COLUMNS视图包含了动态性能视图描述及其列的描述 v$FIXED_TALBE包含了所有视图的名字及相关信息 五、演示 */ [rootrobinson ~]# su - oracle --查看未启动实例前的进程情况 [oraclerobinson ~]$ ps -aef |grep oracle root 3332 3300 0 12:20 pts/1 00:00:00 su - oracle oracle 3333 3332 0 12:20 pts/1 00:00:00 -bash oracle 3365 3333 0 12:20 pts/1 00:00:00 ps -aef oracle 3366 3333 0 12:20 pts/1 00:00:00 grep oracle --使用ipcs查看当前进程间通讯所用到的共享资源内存段及信号量 --可以看出当前无任何通信设备及共享资源 [oraclerobinson ~]$ ipcs -a ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status ------ Semaphore Arrays -------- key semid owner perms nsems ------ Message Queues -------- key msqid owner perms used-bytes messages --登陆到sqlplus [oraclerobinson ~]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Thu Apr 29 13:07:29 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to an idle instance. --再次查看进程情况多出了进程 SQL !ps -aef | grep oracle root 3332 3300 0 12:20 pts/1 00:00:00 su - oracle oracle 3333 3332 0 12:20 pts/1 00:00:00 -bash oracle 3972 3333 0 13:07 pts/1 00:00:00 sqlplus as sysdba oracle 3973 3972 0 13:07 ? 00:00:00 oracleorcl (DESCRIPTION(LOCALYES)(ADDRESS(PROTOCOLbeq))) oracle 3974 3972 0 13:07 pts/1 00:00:00 /bin/bash -c ps -aef | grep oracle oracle 3975 3974 0 13:07 pts/1 00:00:00 ps -aef --再次查看进程间通讯资源同样是没有任何分配 SQL !ipcs -a ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status ------ Semaphore Arrays -------- key semid owner perms nsems ------ Message Queues -------- key msqid owner perms used-bytes messages --启动到nomount SQL startup nomount ORACLE instance started. Total System Global Area 398458880 bytes Fixed Size 1219640 bytes Variable Size 117441480 bytes Database Buffers 276824064 bytes Redo Buffers 2973696 bytes --可以看到多出了一些后台进程即为Oracle的后台进程。从开始。 SQL !ps -aef | grep oracle root 3332 3300 0 12:20 pts/1 00:00:00 su - oracle oracle 3333 3332 0 12:20 pts/1 00:00:00 -bash oracle 3972 3333 0 13:07 pts/1 00:00:00 sqlplus as sysdba oracle 3981 1 0 13:09 ? 00:00:00 ora_pmon_orcl oracle 3983 1 0 13:09 ? 00:00:00 ora_psp0_orcl oracle 3985 1 0 13:09 ? 00:00:00 ora_mman_orcl oracle 3987 1 0 13:09 ? 00:00:00 ora_dbw0_orcl oracle 3989 1 0 13:09 ? 00:00:00 ora_lgwr_orcl oracle 3991 1 0 13:09 ? 00:00:00 ora_ckpt_orcl oracle 3993 1 0 13:09 ? 00:00:00 ora_smon_orcl oracle 3995 1 0 13:09 ? 00:00:00 ora_reco_orcl oracle 3997 1 0 13:09 ? 00:00:00 ora_cjq0_orcl oracle 3999 1 0 13:09 ? 00:00:00 ora_mmon_orcl oracle 4001 1 0 13:09 ? 00:00:00 ora_mmnl_orcl oracle 4003 1 0 13:09 ? 00:00:00 ora_d000_orcl oracle 4005 1 0 13:09 ? 00:00:00 ora_s000_orcl oracle 4006 3972 0 13:09 ? 00:00:00 oracleorcl (DESCRIPTION(LOCALYES)(ADDRESS(PROTOCOLbeq))) oracle 4009 3972 0 13:10 pts/1 00:00:00 /bin/bash -c ps -aef | grep oracle oracle 4010 4009 0 13:10 pts/1 00:00:00 ps -aef --可以看到已经分配了SGA SQL !ipcs -a ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x99eb282c 65537 oracle 640 402653184 14 ------ Semaphore Arrays -------- key semid owner perms nsems 0x6df43ca0 98304 oracle 640 127 0x6df43ca1 131073 oracle 640 127 0x6df43ca2 163842 oracle 640 127 ------ Message Queues -------- key msqid owner perms used-bytes messages --查看控制文件没有任何数据因为此阶段控制文件并没有打开 SQL select * from v$controlfile; no rows selected --查看数据文件和日志文件提示database not mounted SQL select * from v$datafile; select * from v$datafile * ERROR at line 1: ORA-01507: database not mounted SQL select * from v$logfile; select * from v$logfile * ERROR at line 1: ORA-01507: database not mounted --切换到mount阶段 SQL alter database mount; Database altered. --可以查看控制文件的相关信息 SQL select * from v$controlfile; STATUS NAME IS_ BLOCK_SIZE FILE_SIZE_BLKS ------- -------------------------------------------------- --- ---------- -------------- /u01/app/oracle/oradata/orcl/control01.ctl NO 16384 430 /u01/app/oracle/oradata/orcl/control02.ctl NO 16384 430 /u01/app/oracle/oradata/orcl/control03.ctl NO 16384 430 --可以查看数据文件的相关信息 SQL select FILE#,STATUS,ENABLED,CHECKPOINT_CHANGE#,CHECKPOINT_TIME,ONLINE_TIME,NAME from v$datafile; FILE# STATUS ENABLED CHECKPOINT_CHANGE# CHECKPOIN ONLINE_TI NAME ---------- ------- ---------- ------------------ --------- --------- -------------------------------------------------- 1 SYSTEM READ WRITE 2027235 28-APR-10 06-APR-10 /u01/app/oracle/oradata/orcl/system01.dbf 2 ONLINE READ WRITE 2027235 28-APR-10 06-APR-10 /u01/app/oracle/oradata/orcl/undotbs01.dbf 3 ONLINE READ WRITE 2027235 28-APR-10 06-APR-10 /u01/app/oracle/oradata/orcl/sysaux01.dbf 4 ONLINE READ WRITE 2027235 28-APR-10 06-APR-10 /u01/app/oracle/oradata/orcl/users01.dbf 5 ONLINE READ WRITE 2027235 28-APR-10 /u01/app/oracle/oradata/orcl/example01.dbf 6 ONLINE READ WRITE 2027235 28-APR-10 /u01/app/oracle/oradata/orcl/Test.dbf 7 ONLINE READ WRITE 2027235 28-APR-10 /u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_s _5vrl1t7h_.dbf --可以查看日志文件的相关信息 SQL select * from v$logfile; GROUP# STATUS TYPE MEMBER IS_ ---------- ------- ------- ------------------------------------------------------------ --- 3 ONLINE /u01/app/oracle/oradata/orcl/redo03.log NO 2 ONLINE /u01/app/oracle/oradata/orcl/redo02.log NO 1 ONLINE /u01/app/oracle/oradata/orcl/redo01.log NO --数据不可访问因为在此阶段数据文件日志文件并没有打开 SQL select * from scott.emp; select * from scott.emp * ERROR at line 1: ORA-01219: database not open: queries allowed on fixed tables/views only --切换到open 阶段 SQL alter database open; Database altered. --再次查看进程信息多出了之后的相关进程 SQL !ps -aef | grep oracle oracle 3981 1 0 13:09 ? 00:00:00 ora_pmon_orcl oracle 3983 1 0 13:09 ? 00:00:00 ora_psp0_orcl oracle 3985 1 0 13:09 ? 00:00:00 ora_mman_orcl oracle 3987 1 0 13:09 ? 00:00:00 ora_dbw0_orcl oracle 3989 1 0 13:09 ? 00:00:00 ora_lgwr_orcl oracle 3991 1 0 13:09 ? 00:00:00 ora_ckpt_orcl oracle 3993 1 0 13:09 ? 00:00:00 ora_smon_orcl oracle 3995 1 0 13:09 ? 00:00:00 ora_reco_orcl oracle 3997 1 0 13:09 ? 00:00:00 ora_cjq0_orcl oracle 3999 1 0 13:09 ? 00:00:00 ora_mmon_orcl oracle 4001 1 0 13:09 ? 00:00:00 ora_mmnl_orcl oracle 4003 1 0 13:09 ? 00:00:00 ora_d000_orcl oracle 4005 1 0 13:09 ? 00:00:00 ora_s000_orcl root 4068 4036 0 13:29 pts/1 00:00:00 su - oracle oracle 4069 4068 0 13:29 pts/1 00:00:00 -bash oracle 4101 4069 0 13:29 pts/1 00:00:00 sqlplus oracle 4102 4101 0 13:29 ? 00:00:01 oracleorcl (DESCRIPTION(LOCALYES)(ADDRESS(PROTOCOLbeq))) oracle 4137 1 0 13:54 ? 00:00:00 ora_qmnc_orcl oracle 4139 1 0 13:54 ? 00:00:01 ora_j000_orcl oracle 4141 1 0 13:54 ? 00:00:00 ora_j001_orcl oracle 4143 1 0 13:54 ? 00:00:00 ora_j002_orcl oracle 4145 1 0 13:54 ? 00:00:00 ora_j003_orcl oracle 4147 1 0 13:54 ? 00:00:00 ora_j004_orcl oracle 4149 1 0 13:54 ? 00:00:00 ora_j005_orcl oracle 4159 1 0 13:54 ? 00:00:00 ora_q001_orcl oracle 4167 1 0 13:56 ? 00:00:00 ora_q002_orcl oracle 4169 1 0 13:57 ? 00:00:00 ora_q003_orcl oracle 4172 4101 0 13:58 pts/1 00:00:00 /bin/bash -c ps -aef | grep oracle oracle 4173 4172 0 13:58 pts/1 00:00:00 ps -aef --数据已可正常访问 SQL select * from scott.emp where ename SCOTT; EMPNO ENAME JOB MGR HIREDATE SAL COMM ---------- ---------- --------- ---------- --------- ---------- ---------- DEPTNO ---------- 7788 SCOTT ANALYST 7566 19-APR-87 3000 --查看告警日志文件路径 SQL show parameter background_dump_dest NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ background_dump_dest string /u01/app/oracle/admin/orcl/bdu mp --查看动态性能视图 SQL select sql_text,executions from v$sql where cpu_time 2000000; SQL_TEXT -------------------------------------------------------------------------------- EXECUTIONS ---------- select s.synonym_name object_name, o.object_type from all_synonyms s, sys.a ll_objects o where s.owner in (PUBLIC, :schema) and o.owner s.table_owner an d o.object_name s.table_name and o.object_type in (TABLE, VIEW, PACKAGE, TYPE, PROCEDURE, FUNCTION, SEQUENCE) 2 SQL select username,status,server,state from v$session where program plsqldev.exe; USERNAME STATUS SERVER STATE ------------------------------ -------- --------- ------------------- SYS INACTIVE DEDICATED WAITING SYS INACTIVE DEDICATED WAITING SQL select sid,ctime from v$lock where sid 275; SID CTIME ---------- ---------- 275 9607 275 9270 275 9243 /* 六、更多*/ SQL/PLSQL 基础 Oralce 10g 使用DBCA创建数据库 使用Uniread实现SQLplus翻页功能 Linux (RHEL 5.4)下安装Oracle 10g R2 VmWare6.5.2下安装RHEL 5.4配置Oracle安装环境 Oracle实例和Oracle数据库(Oracle体系结构) Oracle相关