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

 

 

目录

 

正文

 

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

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:通过v$parameter数据字段来查询oracle标准数据块的大小

Oracle DBA 必须掌握的 查询脚本:
  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
Oracle DBA 必须掌握的 查询脚本:

 

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

Oracle DBA 必须掌握的 查询脚本:
  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
Oracle DBA 必须掌握的 查询脚本:

 

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

Oracle DBA 必须掌握的 查询脚本:
  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
Oracle DBA 必须掌握的 查询脚本:

 

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

Oracle DBA 必须掌握的 查询脚本:
  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>
Oracle DBA 必须掌握的 查询脚本:

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

  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
  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

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

  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

相关文章:

  • 2022-12-23
  • 2021-12-18
  • 2021-12-05
  • 2021-07-22
  • 2021-06-07
  • 2021-05-28
  • 2021-12-27
  • 2022-12-23
猜你喜欢
  • 2021-04-18
  • 2022-12-23
  • 2022-12-23
  • 2021-08-17
  • 2021-07-23
  • 2021-08-31
  • 2021-04-16
相关资源
相似解决方案