五、管理数据库实例概述

1. 管理数据库实例概述
描述:使用管理工具对数据库进行管理,要操作数据库必须要把数据库加载到实例中,在启动数据库过程中,有参数文件,spfile、pfile,就可以启动数据库,停止数据库,数据库启动成功后,它就是一直运行状态,要通过告警日志和跟踪文件去了解信息系统信息,SQL语句执行的过程,监控数据库的实时的运行状态,oracle提供动态的性能视图

 

 

2. 管理框架
- oracle 11g R2版本管理框架的组件,包括
  OEM(oracle enterprise manager)
  sql developer
  sql*plus
- oracle database 10g和9i中,还包括:iSQL*PLUS(基于网页,默认端口是5560)

如:http://192.168.201.22:5560/isqlplus (默认情况下使用普通用户登录)

a. sqlplus

在oracle11g的项目中,由于ASM加入oracle数据库,要操作数据库
[oracle@oracledemo ~]$ . oraenv   #设置对应环境变量,以下的操作都是针对oracle数据库
ORACLE_SID = [orcl] ? orcl
The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 is /u01/app/oracle
有三种数据库连接:本地、远程、分布式
[oracle@oracledemo ~]$ sqlplus scott/tiger@localhost:1521/orcl.example.com        本地,@后面可以省略
[oracle@oracledemo ~]$ sqlplus scott/tiger@192.168.201.93:1521/orcl.example.com   远程

执行脚本(导入脚本)

[oracle@oracledemo ~]$ cat a.sql   #登录时,会自动执行
select * from dept;
quit
[oracle@oracledemo ~]$ sqlplus scott/tiger @a.sql
SQL*Plus: Release 11.2.0.1.0 Production on Thu Jul 19 10:18:12 2018
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
    DEPTNO DNAME	  LOC
---------- -------------- -------------
	10 ACCOUNTING	  NEW YORK
	20 RESEARCH	  DALLAS
	30 SALES	  CHICAGO
	40 OPERATIONS	  BOSTON

b. sql developer: JAVA语言(有数据库的Jar包和驱动就可以连接) oracle11g R2自带

[oracle@oracledemo ~]$ . oraenv
ORACLE_SID = [oracle] ? orcl
The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 is /u01/app/oracle
[oracle@oracledemo ~]$ cd /u01/app/oracle/product/11.2.0/dbhome_1/
[oracle@oracledemo dbhome_1]$ ls
apex         deinstall            jdbc     ons              relnotes
assistants   demo                 jdev     OPatch           root.sh
bin          diagnostics          jdk      opmn             scheduler
ccr          dv                   jlib     oracledemo_orcl  slax
cdata        emcli                ldap     oracore          sqldeveloper  #####
cfgtoollogs  EMStagePatches_orcl  lib      oraInst.loc      sqlj
clone        has                  log      ord              sqlplus
config       hs                   md       oui              srvm
crs          ide                  mesg     owb              sysman
csmig        install              mgw      owm              timingframework
css          install.platform     network  perl             ucp
ctx          instantclient        nls      plsql            uix
cv           inventory            oc4j     precomp          utl
dbs          j2ee                 odbc     racg             wwg
dc_ocm       javavm               olap     rdbms            xdk
[oracle@oracledemo dbhome_1]$ cd sqldeveloper/
[oracle@oracledemo sqldeveloper]$ ls
BC4J                 j2ee  otn_new.css         sqlcli.bat
BugsFixed_v155.html  jdbc  raptor_image.jpg    sqldeveloper
dvt                  jdev  rdbms               sqldeveloper.exe
icon.png             jlib  relnotes_v155.html  sqldeveloper.sh
ide                  lib   sqlcli              timingframework
[oracle@oracledemo sqldeveloper]$ sh sqldeveloper.sh 

c. OEM: oracle enterprise manager

默认端口:1158  要使用管理员:sys
普通用户登录要授权:select_catalog_role
[oracle@oracledemo ~]$ sqlplus / as sysdba
SQL> grant select_catalog_role to scott

管理命令:emctl status/start/stop dbconsole

[oracle@oracledemo ~]$ emctl status dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0 
Copyright (c) 1996, 2009 Oracle Corporation.  All rights reserved.
https://oracledemo:1158/em/console/aboutApplication
Oracle Enterprise Manager 11g is running. 
------------------------------------------------------------------
Logs are generated in directory /u01/app/oracle/product/11.2.0/dbhome_1/oracledemo_orcl/sysman/log 

  

3. 初始化参数文件
- 初始化参数文件的类型
  pfile(文本) 9i前
  spfile(二进制)

SQL> show parameter spfile;  #oracle启动时,会读取这个参数文件中的值
NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
spfile				     string	 /u01/app/oracle/product/11.2.0/dbhome_1/dbs/spfileorcl.ora
[oracle@oracledemo ~]$ ls /u01/app/oracle/product/11.2.0/dbhome_1/dbs
hc_DBUA0.dat  hc_orcl.dat  init.ora  lkORCL  orapworcl  peshm_DBUA0_0  peshm_orcl_0  spfileorcl.ora

pfile和spfile转换: create pfile='/home/oracle/pfile_orcl.ora' from spfile;

pfile和spfile转换: create pfile='/home/oracle/pfile_orcl.ora' from spfile;

[oracle@oracledemo ~]$ ll
total 16
-rw-r--r-- 1 oracle oinstall   25 Jul 19 10:17 a.sql
drwxr-xr-x 2 oracle oinstall 4096 Jul 17 09:27 Desktop
drwxr-x--- 3 oracle oinstall 4096 Jul 12 19:34 oradiag_oracle
-rw-r--r-- 1 oracle oinstall  972 Jul 19 11:27 pfile_orcl.ora
[oracle@oracledemo ~]$ cat pfile_orcl.ora 
*.audit_trail='db'   审计信息
SGA和PGA内存值的大小:大部分是oracle自动分配
orcl.__db_cache_size=318767104
orcl.__java_pool_size=16777216
orcl.__large_pool_size=16777216
orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=436207616
orcl.__sga_target=822083584
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=436207616
orcl.__streams_pool_size=16777216
*.db_block_size=8192          数据块的大小
*.db_domain='example.com'     数据库的名称
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'  分发器
*.open_cursors=300   会话中可以打开洲标的数量

参数类型:静态参数(需要重启)和动态参数

修改方式:alter system set open_cursors=400 scope=spfile;  #如果是静态参数,scope必须写spfile
scope取值:spfile(静态参数)  memory(动态参数)  both(前两者)
SQL> show parameter cursor;
NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
open_cursors			     integer	 300
SQL> alter system set open_cursors=400 scope=both;
SQL> show parameter cursor;
NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
open_cursors			     integer	 400

- 管理初始化参数文件
描述:参数文件中是记录控制文件位置,控制文件中记录日志文件和数据文件

*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/flash_recovery_area/orcl/control02.ctl'

oracle启动过程中读取文件的顺序:
参数文件spfile --> 控制文件 --> 日志文件和数据文件

 

4. Oracle数据库的启动过程
描述:把数据库文件加载到内存中形成实例,才能操作数据库

关机:
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
启动:
SQL> startup
ORACLE instance started.
Total System Global Area  820236288 bytes
Fixed Size		    1339628 bytes
Variable Size		  486543124 bytes
Database Buffers	  327155712 bytes
Redo Buffers		    5197824 bytes
Database mounted.
Database opened.

oracle启动过程中读取文件的顺序
参数文件spfile --> 控制文件 --> 日志文件和数据文件
描述:如果spfile有问题(丢失或者损坏),可以通过pfile进行启动,前提是对spfile做好备份

使用pfile来启动数据库

SQL> startup pfile='/home/oracle/pfile_orcl.ora'
ORACLE instance started.
Total System Global Area  820236288 bytes
Fixed Size		    1339628 bytes
Variable Size		  486543124 bytes
Database Buffers	  327155712 bytes
Redo Buffers		    5197824 bytes
Database mounted.

Oracle数据库的启动过程
- 包括四个阶段:shutdown nomount mount open

shutdown: 释放内存、停止oracle的进程
nomount: startup nomount 实现通过记取参数文件找到控制文件,主要作用是恢复控制文件
mount: startup mount  记取控制文件找到日志文件和数据文件,
                      主要作用是恢复日志和数据文件,
                      还能切换日志模式,oracle默认的日志模式是非归档模式,如果要在归档模式必须要在mount阶段,
                      设置数据库闪回
startup: 不写open,默认就是open,作用是读取数据文件和日志文件,打开数据库

重启数据库: startup force = shutdown immediate + startup

  

5. 停止Oracle数据库
命令: shutdown [option]
option: abort 相当于拨电源,这是最快关数据库的,但是很容易丢失数据,重新启动数据库时,要通过实例把内存中丢失的数据恢复
建议使用immediate[默认]: 触发一个完全检查点(如果触发会把内存中的dirty数据写到数据文件中,再关闭事务,没有提交的事务会全部回滚)
normal: 回滚没有提交的事务,等待所有的连接退出,然后关闭数据库(因为要等待所有的连接退出,所以一般是关不掉)
shutdown transactional: 禁止所有新的连接,等待所有事务结束,关闭数据库(只有有一个事务没结束,就无法关闭)

OEM操作:https://192.168.201.93:1158/em/ 主目录下有"启动"按钮

 

6.告警日志和动态性能视图
- 告警日志:

SQL> show parameter dump;
NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
background_core_dump		     string	 partial
background_dump_dest		     string	 /u01/app/oracle/diag/rdbms/orcl/orcl/trace
core_dump_dest			     string	 /u01/app/oracle/diag/rdbms/orcl/orcl/cdump
max_dump_file_size		     string	 unlimited
shadow_core_dump		     string	 partial
user_dump_dest			     string	 /u01/app/oracle/diag/rdbms/orcl/orcl/trace

日志内容
(*)启动和停止和过程
(*)死锁
(*)强制审计的内容

[oracle@oracledemo ~]$ cd /u01/app/oracle/diag/rdbms/orcl/orcl/trace
[oracle@oracledemo trace]$ vim alert_orcl.log 
Thu Jul 12 19:37:55 2018
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Shared memory segment for instance monitoring created
Picked latch-free SCN scheme 2
Using LOG_ARCHIVE_DEST_1 parameter default value as USE_DB_RECOVERY_FILE_DEST
Autotune of undo retention is turned on.
IMODE=BR
ILAT =27
LICENSE_MAX_USERS = 0
SYS auditing is disabled

- trc和trm的文件,trc是跟踪文件,trm跟踪文件是元信息文件

- v$数据字典
描述:v$开头的都可以反映内存的信息,了解到数据库的运行状态,从而对数据库进行性能的优化

    v$database   数据库实例的信息
    v$session    会话的信息
    v$lock       锁的信息
    v$lock_enqueue 锁队列
SQL> select * from v$database;

  

转载于:https://www.cnblogs.com/reid21/articles/9660406.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值