图片 11

Oracle 11g调控文件全部风行一时从零伊始重新创立调控文件_oracle_脚本之家

介绍

启动数据库时
先要找到初始化文件(spfile或pfile),此时数据库处在nomount状态(初始阶段);
其次根据初始文件找到控制文件(Control
File),此时数据库处在mount状态;
然后根据控制文件找到数据库文件(Data File)、重做日志文件(Redo
File);
此时数据库处在open状态,可以让用户访问数据库了。

控制文件是一个相当小的文件,其中包含Oracle需要的其他文件的一个目录。参数文件告知实例控制文件的位置,控制文件则告知示例数据库和在线重做日志文件的位置。控制文件还告知了Oracle其他一些事情,如已发生检查点的有关信息、数据库名、创建数据库的时间戳、归档重做日志的历史、RMAN信息等。

Oracle  DBA 必须掌握的 查询脚本:

一、关闭数据库的四个不同命令
1、用SQLplus登录到数据库
sys/123456 as sysdba
查看当前数据库的状态:
select instance_name,status from v$instance;
可以查看到实例名和当前状态:

控制文件应该通过硬件多路保存,如果不支持镜像,则要通过Oracle多路保存。应该有不止一个副本,而且它们应该保存在不同的磁盘上,以防止万一出现磁盘故障而丢失控制文件。丢失控制文件并不是致命的,但是会使恢复变得困难很多。

0:启动与关闭

                       orcle 数据库的启动与关闭
1:连接数据库

  2:数据库开启状态的实现步骤:
       2-1:启动数据库
          2-1-1正常启动数据库: SQL> startup
           
         
特点:启动数据库,分配内存,打开实例,启动后台进程,数据库处于open状态
         2-1-2:进入nomount状态 SQL> startup nomount
                 
             特点: 打开实例,分配内存,启动后台进程
             装载数据库:SQL> alter database mount;
             
             特点:
            查询数据库状态:SQL> select status  from v$instance;

             特点:数据库处于mounted 状态
                     打开数据库 SQL>  alter database open;
             
              特点:数据库处于打开状态
              查看数据库状态:SQL> select status  from
v$instance;
              
   startup nomount —> alter database mount –>alter database
open
   数据库进入nomount状态           
数据库进入mount状态                       数据库进入open状态
   
     
                                 |  
参数文件(读取控制文件的物理位置)
  即:数据库打开的三个过程用到了 |  
控制文件(读取数据文件、日志文件的物理位置)
数据库启动过程
                                 |   数据文件、日志文件
 
3:关闭数据库  SQL> shutdown immediate
  
       
        数据库关闭过程:

   强制的关闭然后在打开数据库         sql>startup force
    执行命令时不会进行检查点的监控
    在重启时要进行实例的恢复操作;

 

            
                              立即          事务            常规
  数据库关闭类型           abort       immediate    transactional  
(shutdown )normal
不允许用于一个新的连接       No           No             
No             No
等待当前会话结束             No           No             
No             Yes
等待当前事务的结束           No           No             
Yes            Yes
执行检查点并关闭打开的文件   No           Yes            
Yes            Yes

描述:何为“执行检查点并关闭打开的文件”的操作?《即:一致性关闭数据库》
  
即:当数据库在执行关闭命令时,数据库会去检查日志文件、数据文件、控制文件的数据保持一致后才进行数据库的相应文件的关闭操作;
该写入磁盘的数据都写入磁盘。

在用shutdown abort
命令进行关闭数据时,没有执行数据库的监测点的一致性操作;当再一次打开数据库时,当数据库再一次启动时候调用了smo系统进程进行了一次最近操作的实例恢复的操作。
查看smo 后台进程
[root@localhost orcl]# ps -ef|grep ora_smo
  

    4:数据库启动操作:示例
 
      查看如何打开nomoun状态的参数文件的操作步骤:
  1:打开环境变量  cat .bash_profile
  2:打开oracle 安装的dbs目录
 

当oracle数据库的参数文件丢失,oracle数据库不能进入nomoun状态;
当oracle数据库的控制文件丢失,oracle数据库不能进入moun状态;
当oracle数据库的数据文件或日志文件丢失,oracle数据库不能进入open状态;

练习一:当丢失参数文件,orcle数据库不能进入nomoun状态时,参数文件如何恢复:
  一:创建丢失场景
   1:先关闭数据库
      
  2:修改配置文件的名称,造成配置文件丢失额场景;
      2-1:造成文件丢失的假象
   
     2-2:启动数据库,显示错误信息的状态
     
二:处理相对应的问题的方法
二-1:如果只是文件名被修改了,而且该文件的参数没有被修改,则则需要把文件名
       以正确的命名修改回来即可启动数据库;
   操作:1:进入linux系统的dbs文件中:
          [root@localhost app]# cd
oracle/product/11.2.0/db_1/dbs/
      
                2:修改文件名:
                  [root@localhost dbs]# mv pfileorcl.ora.bak   
pfileorcl.ora
                
                3:启动数据库:SQL> startup nomount
                  
        
二-2:整个文件丢失或则损坏,在没有备份情况下怎么恢复?在有备份情况下如何恢复?

      
练习二:丢失控制文件,oracle数据库不能进入moun状态,控制文件如何恢复?
         一:创建丢失场景:
          1:先关闭数据库
      
  2:修改配置文件的名称,造成配置文件丢失额场景;
    2-1:造成文件丢失的假象
    操作:进入系统中对应的文件位置
    
   修改文件名
   
  启动数据库
             
            二:处理相对应的问题的方法
           
二-1:如果只是文件名被修改了,而且该文件的参数没有被修改,则则需要把文件名
       以正确的命名修改回来即可启动数据库;
             操作:1:进入linux系统的dbs文件中:
          [root@localhost app]# cd
/u01/app/oracle/fast_recovery_area/orcl/
       
                2:修改文件名:
                  [root@localhost dbs]# mv control02.ctl.bak 
control02.ctl
                 
                3:启动数据库:SQL> startup nomount
                   
    
二-2:整个控制文件丢失或则损坏,在没有备份情况下怎么恢复?在有备份情况下如何恢复?

         
练习场景三:数据文件(日志文件)丢失,oracle数据库不能进入open状态,
                  数据文件(日志文件)如何恢复?
           
三-1:如果只是文件名被修改了,而且该文件的参数没有被修改,则则需要把文件                  
名 以正确的命名修改回来即可启动数据库;
           
操作:1:进入linux系统的/u01/app/oracle/oradata/orcl/文件中,并修改文件名称
                     
                
2:启动数据库后,数据库将不会进入open状态,并提示oracle的数据文件丢失
                     
        
二-1:如果只是文件名被修改了,而且该文件的参数没有被修改,则则需要把文件名
        以正确的命名修改回来即可启动数据库;
           
操作:1:进入linux系统的/u01/app/oracle/oradata/orcl/文件中,并修改文件名称
                
                2:重新启动数据库;
                
         同理,日志文件也是这样练习修改的;
二-2:整个数据文件或日志文件丢失或则损坏,在没有备份情况下怎么恢复?
      在有备份情况下如何恢复?

图片 1

如果丢失了所有的控制文件并且没有任何的备份,我们可以通过重建控制文件来打开数据库。其中,重建控制文件至少需要以下信息:

1:通过v$parameter数据字段来查询oracle标准数据块的大小

  1 ----通过 v$parameter数据字典来查询oracle标准数据块的大小。
  2 SYS@orcl> startup
  3 ORACLE instance started.
  4 
  5 Total System Global Area 1221992448 bytes
  6 Fixed Size                  1344596 bytes
  7 Variable Size             771754924 bytes
  8 Database Buffers          436207616 bytes
  9 Redo Buffers               12685312 bytes
 10 Database mounted.
 11 Database opened.
 12 SYS@orcl> col name format a30;
 13 SYS@orcl> col value format a20;
 14 SYS@orcl> select name,value from v$parameter where name='db_block_size';
 15 
 16 NAME                           VALUE
 17 ------------------------------ --------------------
 18 db_block_size                  8192
 19 
 20 SYS@orcl> show parameter db_block
 21 
 22 NAME                                 TYPE        VALUE
 23 ------------------------------------ ----------- ------------------------------
 24 db_block_buffers                     integer     0
 25 db_block_checking                    string      FALSE
 26 db_block_checksum                    string      TYPICAL
 27 db_block_size                        integer     8192

2、关闭数据库

4.初始化参数,包括MAXLOGFILES、MAXLOGMEMBERS、MAXDATAFILES、MAXINSTANCES、MAXLOGHISTORY等;

2:通过 dict 查看数据库中数据字典的信息

  1 SYS@orcl> col table_name for a30;
  2 SYS@orcl> col comments for a30;
  3 SYS@orcl> select * from dict;
  4 
  5 TABLE_NAME                     COMMENTS
  6 ------------------------------ ------------------------------
  7 DBA_CONS_COLUMNS               Information about accessible c
  8                                olumns in constraint definitio
  9                                ns
 10 
 11 DBA_LOG_GROUP_COLUMNS          Information about columns in l
 12                                og group definitions
 13 
 14 DBA_LOBS                       Description of LOBs contained
 15                                in all tables
 16 
 17 DBA_CATALOG                    All database Tables, Views, Sy

shutdown immediate

一、环境准备

3 : 通过 v$fixed_view_definition 查看数据库中内部系统表的信息

  1 SYS@orcl> col view_name format a15;
  2 SYS@orcl> col view_definition format a30000;
  3 SYS@orcl>  select * from v$fixed_view_definition where rownum<=10;
  4 
  5 VIEW_NAME              VIEW_DEFINITION
  6 ----------------------------------------------------------------------------------------------
  7 GV$WAITSTAT             select inst_id,decode(indx,1,'data block',2,'sort block',3,'save undo block', 4,
  8 'segment header',5,'save undo header',6,'free list',7,'extent map', 8,'1st level
  9  bmb',9,'2nd level bmb',10,'3rd level bmb', 11,'bitmap block',12,'bitmap index b
 10 lock',13,'file header block',14,'unused', 15,'system undo header',16,'system und
 11 o block', 17,'undo header',18,'undo block'), count,time from x$kcbwait where ind
 12 x!=0

图片 2

数据库版本

4:通过查询 dba_data_files  数据来了解Oracle系统的数据文件信息

  1 [oracle@localhost ~]$ sqlplus / as sysdba;
  2 
  3 SQL*Plus: Release 11.2.0.3.0 Production on Thu Dec 8 23:27:12 2016
  4 
  5 Copyright (c) 1982, 2011, Oracle.  All rights reserved.
  6 
  7 
  8 Connected to:
  9 Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
 10 With the Partitioning, OLAP, Data Mining and Real Application Testing options
 11 
 12 SYS@orcl> col file_name format a50;
 13 SYS@orcl> set linesize3000;
 14 SYS@orcl> select

file_name,tablespace_name

from

dba_data_files

where

rownum<=10;

 15 
 16 FILE_NAME                                          TABLESPACE_NAME
 17 -------------------------------------------------- ------------------------------
 18 /u01/app/oracle/oradata/orcl/users01.dbf           USERS
 19 /u01/app/oracle/oradata/orcl/undotbs01.dbf         UNDOTBS1
 20 /u01/app/oracle/oradata/orcl/sysaux01.dbf          SYSAUX
 21 /u01/app/oracle/oradata/orcl/system01.dbf          SYSTEM
 22 /u01/app/oracle/oradata/orcl/example01.dbf         EXAMPLE
 23 
 24 SYS@orcl>

其实是关闭了实例(Instance),实例已经不在内存中,则显示Oracle数据库处在不能用的状态。

我们在Oracle11g中进行测试。

5:查看 临时文件信息:  dba_temp_files 、v$tempfile;

图片 3图片 4

  1 SYS@orcl> col file_name format a50;
  2 SYS@orcl> col tablespace_name format a20;
  3 SYS@orcl> select file_name,tablespace_name from dba_temp_files;
  4 
  5 FILE_NAME                                          TABLESPACE_NAME
  6 -------------------------------------------------- --------------------
  7 /u01/app/oracle/oradata/orcl/temp01.dbf            TEMP
  8 
  9 SYS@orcl> 4:

View Code

图片 5图片 6

  1 
  2 SYS@orcl> select * from  v$tempfile;
  3 
  4      FILE# CREATION_CHANGE# CREATION_        TS#     RFILE# STATUS  ENABLED         BYTES     BLOCKS CREATE_BYTES BLOCK_SIZE NAME
  5 ---------- ---------------- --------- ---------- ---------- ------- ---------- ---------- ---------- ------------ ---------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  6          1           788143 30-NOV-16          3          1 ONLINE  READ WRITE   30408704       3712     20971520       8192 /u01/app/oracle/oradata/orcl/temp01.dbf
  7 
  8 SYS@orcl>

View Code

关闭数据库的4个命令如下:
shutdown immediate
:不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事物自动rollback。启动时不需要对数据库进行实例恢复,最常用的命令,即使还有事务在运行,还有用户停留在数据库上,都可以关闭数据库。
shutdown
abort:不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件。启动时数据库将自动进行实例恢复。很少用,一般数据库在运行复杂业务时,shutdown
immediate 命令不能关闭数据库,并且需要快速关闭数据库是使用。
shurdown
transactional:不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。启动时数据库不需要实例恢复,这个命令也很少使用,在数据库的业务很重要时,需要等到事务处理完成以后才能关闭。
shutdown
normal(等于shutdown):不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时数据库不需要实例恢复。这个命令很少使用,只有还有用户停留在数据库上,都不能正常关闭时使用。

SQL> SQL> select * from v$version;BANNER--------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - ProductionPL/SQL Release 11.2.0.3.0 - ProductionCORE 11.2.0.3.0 ProductionTNS for Linux: Version 11.2.0.3.0 - ProductionNLSRTL Version 11.2.0.3.0 - ProductionSQL>

6:获取控制文件信息: v$controlfile 数据字典

图片 7图片 8

  1 SYS@orcl> col name fromat a60;
  2 SYS@orcl> col name format a60;
  3 SYS@orcl> col status format a20;
  4 SYS@orcl> col block_size format a60;
  5 SYS@orcl> col is_recoveris_recover format a60 ;
  6 SYS@orcl> col block_size format a150 ;
  7 SYS@orcl> select * from v$controlfile;
  8 
  9 STATUS               NAME                                                         IS_ BLOCK_SIZE FILE_SIZE_BLKS
 10 -------------------- ------------------------------------------------------------ --- ---------- --------------
 11                      /u01/app/oracle/oradata/orcl/control01.ctl                   NO  ##########            594
 12                      /u01/app/oracle/fast_recovery_area/orcl/control02.ctl        NO  ##########            594

View Code

二、启动数据库到nomonunt状态
startup nomount
nomount状态是数据库进程刚运行到初始化文件(spfile或pfile文件)
pfile文件是文本文件,可以手工编辑
spfile是二进制文件,不能手工修改里面的参数,只能用数据库命令进行修改,还能在数据库运行是修改spfile里面的参数,提高了该文件的安全性。数据库默认使用spfile启动数据库。
nomount状态一般是在维护数据库是需要用到,如修改数据库重要参数,恢复数据库的控制文件以及数据时都需要用到该状态。
查看spfile文件的操作:
SQL>show parameter spfile

删除控制文件

7:查看日志文件信息: v$logfile;

图片 9图片 10

  1 SYS@orcl> col member for a50;
  2 SYS@orcl> select * from v$logfile;
  3 
  4     GROUP# STATUS               TYPE    MEMBER                                             IS_
  5 ---------- -------------------- ------- -------------------------------------------------- ---
  6          3                      ONLINE  /u01/app/oracle/oradata/orcl/redo03.log            NO
  7          2                      ONLINE  /u01/app/oracle/oradata/orcl/redo02.log            NO
  8          1                      ONLINE  /u01/app/oracle/oradata/orcl/redo01.log            NO
  9 
 10 SYS@orcl>
 11 

View Code

图片 11

1.通过查询control_files初始化参数,获取控制文件路径;

8: 查看oacle 系统是否采用归档模式: v$database

图片 12图片 13

  1 
  2 SYS@orcl> col name format a30;
  3 SYS@orcl> select dbid,name,log_mode from v$database;
  4 
  5       DBID NAME                           LOG_MODE
  6 ---------- ------------------------------ ------------
  7 1457025880 ORCL                           ARCHIVELOG

View Code

F:\APP11G\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\SPFILEORCL11G.ORA

SQL> SQL> show parameter control_filesNAME TYPE VALUE------------------------------------ ----------- ------------------------------control_files string /u01/app/oracle/oradata/HOEGH/ control01.ctl, /u01/app/oracle /oradata/HOEGH/control02.ctlSQL>

9:查询归档日志文件的所在路劲信息: show parameter log_archive_desc

图片 14图片 15

  1 
  2 SYS@orcl> set pagesize 30;
  3 SYS@orcl> show parameter log_archive_dest;
  4 
  5 NAME                                 TYPE        VALUE
  6 ------------------------------------ ----------- ------------------------------
  7 log_archive_dest                     string
  8 log_archive_dest_1                   string
  9 log_archive_dest_10                  string
 10 log_archive_dest_11                  string
 11 log_archive_dest_12                  string
 12 log_archive_dest_13                  string
 13 log_archive_dest_14                  string
 14 log_archive_dest_15                  string
 15 log_archive_dest_16                  string
 16 log_archive_dest_17                  string
 17 log_archive_dest_18                  string
 18 log_archive_dest_19                  string
 19 log_archive_dest_2                   string
 20 log_archive_dest_20                  string
 21 log_archive_dest_21                  string
 22 log_archive_dest_22                  string
 23 log_archive_dest_23                  string
 24 log_archive_dest_24                  string
 25 log_archive_dest_25                  string
 26 log_archive_dest_26                  string
 27 log_archive_dest_27                  string
 28 log_archive_dest_28                  string
 29 log_archive_dest_29                  string
 30 log_archive_dest_3                   string
 31 log_archive_dest_30                  string
 32 log_archive_dest_31                  string
 33 log_archive_dest_4                   string
 34 
 35 NAME                                 TYPE        VALUE
 36 ------------------------------------ ----------- ------------------------------
 37 log_archive_dest_5                   string
 38 log_archive_dest_6                   string
 39 log_archive_dest_7                   string
 40 log_archive_dest_8                   string
 41 log_archive_dest_9                   string
 42 log_archive_dest_state_1             string      enable
 43 log_archive_dest_state_10            string      enable
 44 log_archive_dest_state_11            string      enable
 45 log_archive_dest_state_12            string      enable
 46 log_archive_dest_state_13            string      enable
 47 log_archive_dest_state_14            string      enable
 48 log_archive_dest_state_15            string      enable
 49 log_archive_dest_state_16            string      enable
 50 log_archive_dest_state_17            string      enable
 51 log_archive_dest_state_18            string      enable
 52 log_archive_dest_state_19            string      enable
 53 log_archive_dest_state_2             string      enable
 54 log_archive_dest_state_20            string      enable
 55 log_archive_dest_state_21            string      enable
 56 log_archive_dest_state_22            string      enable
 57 log_archive_dest_state_23            string      enable
 58 log_archive_dest_state_24            string      enable
 59 log_archive_dest_state_25            string      enable
 60 log_archive_dest_state_26            string      enable
 61 log_archive_dest_state_27            string      enable
 62 log_archive_dest_state_28            string      enable
 63 log_archive_dest_state_29            string      enable
 64 
 65 NAME                                 TYPE        VALUE
 66 ------------------------------------ ----------- ------------------------------
 67 log_archive_dest_state_3             string      enable
 68 log_archive_dest_state_30            string      enable
 69 log_archive_dest_state_31            string      enable
 70 log_archive_dest_state_4             string      enable
 71 log_archive_dest_state_5             string      enable
 72 log_archive_dest_state_6             string      enable
 73 log_archive_dest_state_7             string      enable
 74 log_archive_dest_state_8             string      enable
 75 log_archive_dest_state_9             string      enable
 76 SYS@orcl>

View Code

根据spfile文件创建pfile文件
SQL>create pfile=’D:\app\pfile.ora’ from spfile;
打开pfile文件即可查看到数据库的重要参数
orcl11g.__db_cache_size=1509949440
orcl11g.__java_pool_size=16777216
orcl11g.__large_pool_size=16777216
orcl11g.__oracle_base=’F:\app11G\Administrator’#ORACLE_BASE set
from environment
orcl11g.__pga_aggregate_target=1358954496
orcl11g.__sga_target=2030043136
orcl11g.__shared_io_pool_size=0
orcl11g.__shared_pool_size=452984832
orcl11g.__streams_pool_size=0
*.audit_file_dest=’F:\app11G\Administrator\admin\orcl11G\adump’
*.audit_trail=’db’
*.compatible=’11.2.0.0.0′
*.control_files=’F:\app11G\Administrator\oradata\orcl11G\control01.ctl’,’F:\app11G\Administrator\flash_recovery_area\orcl11G\control02.ctl’
*.db_block_size=8192
*.db_domain=”
*.db_name=’orcl11G’
*.db_recovery_file_dest=’F:\app11G\Administrator\flash_recovery_area’
*.db_recovery_file_dest_size=4102029312
*.diagnostic_dest=’F:\app11G\Administrator’
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orcl11GXDB)’
*.memory_target=3382706176
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile=’EXCLUSIVE’
*.undo_tablespace=’UNDOTBS1′

2.然后,使用rm命令删除控制文件;

10:查询视图v$parameter 进行确定参数的默认值是否修改过

图片 16图片 17

  1 SYS@orcl> col name for a30;
  2 SYS@orcl> col value for a30;
  3 SYS@orcl> select name ,value,ismodified from v$parameter where rownum <=20;
  4 
  5 NAME                           VALUE                          ISMODIFIED
  6 ------------------------------ ------------------------------ ----------
  7 lock_name_space                                               FALSE
  8 processes                      150                            FALSE
  9 sessions                       248                            FALSE
 10 timed_statistics               TRUE                           FALSE
 11 timed_os_statistics            0                              FALSE
 12 resource_limit                 FALSE                          FALSE
 13 license_max_sessions           0                              FALSE
 14 license_sessions_warning       0                              FALSE
 15 cpu_count                      4                              FALSE
 16 instance_groups                                               FALSE
 17 event                                                         FALSE
 18 sga_max_size                   1224736768                     FALSE
 19 use_large_pages                TRUE                           FALSE
 20 pre_page_sga                   FALSE                          FALSE
 21 shared_memory_address          0                              FALSE
 22 hi_shared_memory_address       0                              FALSE
 23 use_indirect_data_buffers      FALSE                          FALSE
 24 lock_sga                       FALSE                          FALSE
 25 processor_group_name                                          FALSE
 26 shared_pool_size               0                              FALSE
 27 
 28 20 rows selected.
 29 
 30 SYS@orcl>

View Code

图片 18图片 19

  1 SYS@orcl> select name ,value,ismodified from v$parameter where  ismodified = 'true' ;
  2 
  3 no rows selected
  4 
  5 SYS@orcl>

View Code

shutdown immediate 以后重新使用pfile 文件启动数据库到nomount状态

[oracle@HOEGH ~]$ rm /u01/app/oracle/oradata/HOEGH/control01.ctl[oracle@HOEGH ~]$ rm /u01/app/oracle/oradata/HOEGH/control02.ctl[oracle@HOEGH ~]$

11:修改系统参数:

图片 20图片 21

  1 --查看Cursor相关参数
  2 SYS@orcl> show parameter cursor;
  3 
  4 NAME                                 TYPE        VALUE
  5 ------------------------------------ ----------- ------------------------------
  6 cursor_bind_capture_destination      string      memory+disk
  7 cursor_sharing                       string      EXACT
  8 cursor_space_for_time                boolean     FALSE
  9 open_cursors                         integer     300
 10 session_cached_cursors               integer     50
 11 
 12 ---修改相关参数 
 13 SYS@orcl> alter system set open_cursors=350 scope=both;
 14 
 15 System altered.
 16 
 17 SYS@orcl> alter system set session_cached_cursors=100 scope=spfile;
 18 
 19 System altered.
 20 
 21 SYS@orcl> alter system set cursor_space_for_time=true scope=spfile;
 22 
 23 System altered.
 24 /*
 25 scope 参数值有三个选项。
 26 scope=memory: 只改变当前实例运行,亦即初始化参数改变了只对当前实例有效,当实例重启之后,初始化参数值还原。
 27 scope=spfile:只改变spfile的设置。亦即改变初始化参数文件内容。实例重启后参数生效。
 28 scope=both:既改变实例也改变spfile。需要注意的是,如果修改静态参数,必须指定SPFILE参数(scope=spfile),否则会报错。
 29 */

View Code

startup nomount pflie=’D:\app\pfile.ora’;

3.此时,强制关闭数据库,然后重启数据库,报ORA-00205错误。需要注意的是,此时执行shutdown
immediate命令,数据库无法正常关闭,只能关闭到mounted状态;需要使用shutdown
abort命令强制关闭数据库。

12:创建 一个密码文件 其sys 口令为:oracle

图片 22图片 23

  1 [oracle@localhost dbs]$ ls
  2 hc_orcl.dat  init.ora  initPROD1.ora  lkORCL  orapworcl  spfileorcl.ora
  3 [oracle@localhost dbs]$ pwd
  4 /u01/app/oracle/product/11.2.0/db_1/dbs
  5 [oracle@localhost dbs]$ orapwd file=dbsorapwPROD1 entries=30
  6 
  7 Enter password for SYS:  ---oracle
  8 [oracle@localhost dbs]$
  9 

View Code

启动到nomount状态以后,输入查询语句
select name from v$controlfile;
报错,说明数据库在nomount 状态下不能查看控制文件的路径。
Oracle数据库启动时,进程先读取到初始化spfile文件,可见该文件是数据库重要文件之一。

SQL> SQL> shutdown immediateDatabase closed.ORA-00210: cannot open the specified control fileORA-00202: control file: \'/u01/app/oracle/oradata/HOEGH/control01.ctl\'ORA-27041: unable to open fileLinux Error: 2: No such file or directoryAdditional information: 3SQL> select status from v$instance;STATUS------------MOUNTEDSQL> SQL> shutdown abortORACLE instance shut down.SQL>SQL> SQL> startupORACLE instance started.Total System Global Area 941600768 bytesFixed Size 1348860 bytesVariable Size 515902212 bytesDatabase Buffers 419430400 bytesRedo Buffers 4919296 bytesORA-00205: error in identifying control file, check alert log for more infoSQL>

13:查询 警告文件位置

图片 24图片 25

  1 SYS@orcl> show parameter backg
  2 
  3 NAME                                 TYPE        VALUE
  4 ------------------------------------ ----------- ------------------------------
  5 background_core_dump                 string      partial
  6 background_dump_dest                 string      /u01/app/oracle/diag/rdbms/orc
  7                                                  l/orcl/trace

View Code

三、数据库的mount状态
数据库的mount状态中,Oracle进程会读取到控制文件中的参数;该状态在数据库恢复时需用到,儿数据库在配置数据库的备库(Dataguard)时,数据库的备库是处于mount的状态。
alter database mount;
select instance_name,status from v$instance;