目录
-
Oracle DBA 必须掌握的 查询脚本:
- 0:启动与关闭
- 1:通过v$parameter数据字段来查询oracle标准数据块的大小
- 2:通过 dict 查看数据库中数据字典的信息
- 3 : 通过 v$fixed_view_definition 查看数据库中内部系统表的信息
- 4:通过查询 dba_data_files 数据来了解Oracle系统的数据文件信息
- 5:查看 临时文件信息: dba_temp_files 、v$tempfile;
- 6:获取控制文件信息: v$controlfile 数据字典
- 7:查看日志文件信息: v$logfile;
- 8: 查看oacle 系统是否采用归档模式: v$database
- 9:查询归档日志文件的所在路劲信息: show parameter log_archive_desc
- 10:查询视图v$parameter 进行确定参数的默认值是否修改过
- 11:修改系统参数:
- 12:创建 一个密码文件 其sys 口令为:oracle
- 13:查询 警告文件位置
- 14:查看 跟踪文件的位置:
- 15:查看 并修改共享池大小
- 16:查看并修改大池的大小;
- 17:查看Java 池信息
- 18:显示当前用户进程PGA 信息:
- 19:查看当前实例数据库进程
- `20: 所有常用字典表
- 21:如何查询oracle数据库中的各种角色
- 22:oracle 增加控制文件的方法:
- 23:Oracle 查看表空间的大小及使用情况sql语句
- 查看表空间使用情况:
- oracle 表空间不足解决办法大全
- 查看system和sysaux表空间是否是自动扩展的。
- 开启或者关闭 :表空间 是否 自动扩展
- 新增 表空间
- 创建表空间
- 增加多个表空间
- 删除表空间
- 24: 因:审计 表占用了大量资源 导致————》system表空间爆满解决方法
- 25:oracle删除(释放)数据文件/表空间流程
- oracle删除(释放)数据文件/表空间流程
正文
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标准数据块的大小
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:通过 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
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
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> selectfile_name,tablespace_name
fromdba_data_files
whererownum<=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>
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:
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>
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