第五章:管理数据库实例

Posted ios9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第五章:管理数据库实例相关的知识,希望对你有一定的参考价值。



一:大纲


    • 启动和关闭数据库
    • 启动和关闭pdb
    • 管理cdb 和pdb
    • cdb体系结构


二:启动和关闭数据库


1:数据库的几种模式


  • 四种

技术分享图片




2:startup 几种模式


    ?NOMOUNT - 在不安装数据库的情况下启动实例。这不允许访问数据库,通常创建数据库或重新创建控制文件
    ?MOUNT      - 启动实例并挂载数据库,但保持关闭状态。此状态允许某些DBA活动,但不允许对数据库的一般访问
    ?OPEN          - 启动实例,然后挂载并打开数据库
    ?FORCE        - 在强制关闭之后启动实例
    ?OPEN RECOVER- 启动实例并立即开始完整的介质恢复

3:nomount


    ?  参数文件顺序
    1.
    srvctl config database
    2.spfileORACLE_SID.ora
    3.spfile.ora
    4.initORACLE_SID.ora
    STARTUP NOMOUNT;
    STARTUP PFILE = /u01/oracle/dbs/init.ora


4:nomount

?在默认位置找服务器参数文件,如果未找到,则搜索文本初始化参数文件(除指定SPFILE或PFILE参数);
?读取参数文件以确定初始化参数的值;
?根据初始化参数设置分配SGA;
?启动Oracle后台进程;
?打开警报日志和跟踪文件,并将所有显式参数设置写入警报日志。





5:mount

?实例将从CONTROL_FILES初始化参数中指定的控制文件的名称中打开文件。Oracle数据库读取控制文件以便打开数据库时访问数据文件的名称和联机重做日志文件

?启用和禁用归档模式
?执行完整的数据库恢复
?强制完全数据库缓存模式:
?在默认缓存模式下,当用户查询大型表时,Oracle数据库并不会缓存基础数据,因为这样做可能会从缓冲区缓存中删除更多有用的数据。从Oracle Database 12 c第1版(12.1.0.2)开始,如果Oracle数据库实例确定有足够的空间来将整个数据库缓存在缓冲区缓存中且对数据库没有什么负面影响,那么实例会自动缓存缓冲区缓存中的完整数据库。
?ALTER DATABASE FORCE FULL DATABASE CACHING;




6:open

?除UNDO表空间以外的表空间中打开在线数据文件
         如果关闭数据库时表空间处于脱机状态,则在重新打开数据库时,表空间及其相应的数据文件将处于脱机状态;
?获取UNDO表空间
        如果存在多个撤消表空间,则由UNDO_TABLESPACE初始化参数指定。未设置此参数,则选择第一个可用的;
?打开在线重做日志



7:修改数据库可用性

?ALTER DATABASE MOUNT;
?ALTER DATABASE OPEN;
具有CREATE SESSION系统特权的任何有效Oracle数据库用户都可以连接到数据库
?ALTER DATABASE OPEN READ ONLY/ READ WRITE;
                                        READ ONLY(只读)
                                        READ WRITE(读写)


?ALTER SYSTEM DISABLE RESTRICTED SESSION;
?执行数据导出或导入
?执行数据加载(使用SQL * Loader)
?暂时阻止典型用户使用数据
?执行某些迁移或升级操作
        以RESTRICTED模式打开数据库只允许数据库访问具有CREATE SESSION和RESTRICTED SESSION系统权限的用户。只有数据库管理员才具有RESTRICTED SESSION系统特权。此外,当实例处于受限模式时,数据库管理员无法通过Oracle Net侦听器远程访问实例,但只能从运行该实例的系统本地访问该实例。




8:SHUTDOWN


?NORMAL
        1.不允许新的连接(不需要实例恢复)
        2.在关闭之前会等待所有当前连接的用户断开连接
?ABORT
       1.不允许新连接,也不允许启动新事务,未回滚未提交的事务
       2.Oracle Database正在处理的当前客户端SQL语句将立即终止。
?Oracle数据库不会等待当前连接到数据库的用户断开,数据库隐式断开所有连接的用户。(需要实例恢复)

?TRANSACTIONAL
       1. 不允许新连接,也不允许启动新事务(不需要实例恢复)
       2.完成所有事务后,任何仍连接到实例的客户端都将断开连接。(?immediate)防止客户端丢失事务,不需要用户注销。
?IMMEDIATE
      1.不允许新的连接(不需要实例恢复)
      2.终止所有正在执行的SQL语句并断开用户连接活动事务将终止,并且将回滚未提交的事务。(长事务会影响)

技术分享图片





三:启动和关闭PDB


1:SHUTDOWN

?TRANSACTIONAL
     1. 不允许新连接,也不允许启动新事务(不需要实例恢复)
     2.完成所有事务后,任何仍连接到实例的客户端都将断开连接。(?immediate)防止客户端丢失事务,不需要用户注销。
?IMMEDIATE
    1.不允许新的连接(不需要实例恢复)
    2.终止所有正在执行的SQL语句并断开用户连接活动事务将终止,并且将回滚未提交的事务。(长事务会影响)





四:管理CDB和PDB


1:CDB组件


?CDB$ROOT
       存储Oracle提供的元数据和普通用户。示例:Oracle提供的PL / SQL包的源代码。普通用户是每个容器中已知的数据库用户。
?PDB$SEED:
      用于创建新的PDB模板。不能在种子中添加对象或修改对象,CDB只有一个SEED。
?PDBS:
     一个CDB可以用多个PDB(非CDB相同)
?每个CDB只包含一个root,一个seed,零个或者多个用户创建的PDBS



2:CDB

技术分享图片


技术分享图片



3:管理CDB

?SELECT SYS_CONTEXT(‘USERENV‘,‘CON_NAME‘)FROM DUAL;
?ALTER SESSION SET CONTAINER = container_name [SERVICE = service_name ]
?conn [email protected]
?select CON_ID,NAME,OPEN_MODE from v$containers;
?show pdbs
?ALTER SYSTEM SET OPEN_CURSORS = 200 CONTAINER = CURRENT;##修改参数


4:管理PDB

?– Alter pluggable database xxx close;
?– Alter pluggable database xxx open;
?– Alter session set container=xx;
?– Shutdown imemdiate
?– Alter database open
?ALTER PLUGGABLE DATABASE salespdb SAVE/ DISCARD STATE;(保存状态)
?drop pluggable database pdb1 including datafiles;


5:PDB




技术分享图片







五: 查看运行日志文件


[[email protected] ~]$ cd /u01/app/oracle/diag/rdbms/orcl/orcl/trace/
[[email protected] trace]$ ls
alert_orcl.log      orcl_dbrm_6772.trm  orcl_gen0_6874.trm  orcl_lgwr_6890.trm  orcl_mmon_6906.trm  orcl_ora_6835.trm  orcl_ora_7317.trm   orcl_vkrm_6721.trm
orcl_aqpc_7003.trc  orcl_dbrm_6882.trc  orcl_lg00_6731.trc  orcl_lgwr_7407.trc  orcl_mmon_7423.trc  orcl_ora_6844.trc  orcl_ora_7378.trc   orcl_vkrm_6774.trc
orcl_aqpc_7003.trm  orcl_dbrm_6882.trm  orcl_lg00_6731.trm  orcl_lgwr_7407.trm  orcl_mmon_7423.trm  orcl_ora_6844.trm  orcl_ora_7378.trm   orcl_vkrm_6774.trm
orcl_aqpc_7451.trc  orcl_dbrm_7399.trc  orcl_lg00_6784.trc  orcl_m000_6681.trc  orcl_ora_6603.trc   orcl_ora_6856.trc  orcl_ora_7430.trc   orcl_vkrm_6884.trc
orcl_aqpc_7451.trm  orcl_dbrm_7399.trm  orcl_lg00_6784.trm  orcl_m000_6681.trm  orcl_ora_6603.trm   orcl_ora_6856.trm  orcl_ora_7430.trm   orcl_vkrm_6884.trm
orcl_cjq0_6934.trc  orcl_dbw0_6631.trc  orcl_lg00_6894.trc  orcl_m000_6694.trc  orcl_ora_6656.trc   orcl_ora_6859.trc  orcl_ora_7439.trc   orcl_vkrm_7401.trc
orcl_cjq0_6934.trm  orcl_dbw0_6631.trm  orcl_lg00_6894.trm  orcl_m000_6694.trm  orcl_ora_6656.trm   orcl_ora_6859.trm  orcl_ora_7439.trm   orcl_vkrm_7401.trm
orcl_cjq0_7453.trc  orcl_dbw0_6725.trc  orcl_lg01_6735.trc  orcl_m000_6813.trc  orcl_ora_6675.trc   orcl_ora_6862.trc  orcl_ora_7456.trc   orcl_vktm_6613.trc
orcl_cjq0_7453.trm  orcl_dbw0_6725.trm  orcl_lg01_6735.trm  orcl_m000_6813.trm  orcl_ora_6675.trm   orcl_ora_6862.trm  orcl_ora_7456.trm   orcl_vktm_6613.trm
orcl_ckpt_6635.trc  orcl_dbw0_6778.trc  orcl_lg01_6788.trc  orcl_m000_7344.trc  orcl_ora_6698.trc   orcl_ora_6913.trc  orcl_ora_7786.trc   orcl_vktm_6707.trc
orcl_ckpt_6635.trm  orcl_dbw0_6778.trm  orcl_lg01_6788.trm  orcl_m000_7344.trm  orcl_ora_6698.trm   orcl_ora_6913.trm  orcl_ora_7786.trm   orcl_vktm_6707.trm
orcl_ckpt_6729.trc  orcl_dbw0_6888.trc  orcl_lg01_6898.trc  orcl_m000_7784.trc  orcl_ora_6699.trc   orcl_ora_6922.trc  orcl_tt00_6823.trc  orcl_vktm_6760.trc
orcl_ckpt_6729.trm  orcl_dbw0_6888.trm  orcl_lg01_6898.trm  orcl_m000_7784.trm  orcl_ora_6699.trm   orcl_ora_6922.trm  orcl_tt00_6823.trm  orcl_vktm_6760.trm
orcl_ckpt_6782.trc  orcl_dbw0_7405.trc  orcl_lgwr_6633.trc  orcl_mmon_6743.trc  orcl_ora_6750.trc   orcl_ora_7004.trc  orcl_tt00_6926.trc  orcl_vktm_6870.trc
orcl_ckpt_6782.trm  orcl_dbw0_7405.trm  orcl_lgwr_6633.trm  orcl_mmon_6743.trm  orcl_ora_6750.trm   orcl_ora_7004.trm  orcl_tt00_6926.trm  orcl_vktm_6870.trm
orcl_ckpt_6892.trc  orcl_gen0_6711.trc  orcl_lgwr_6727.trc  orcl_mmon_6796.trc  orcl_ora_6752.trc   orcl_ora_7156.trc  orcl_tt00_7443.trc  orcl_vktm_7387.trc
orcl_ckpt_6892.trm  orcl_gen0_6711.trm  orcl_lgwr_6727.trm  orcl_mmon_6796.trm  orcl_ora_6752.trm   orcl_ora_7156.trm  orcl_tt00_7443.trm  orcl_vktm_7387.trm
orcl_ckpt_7409.trc  orcl_gen0_6764.trc  orcl_lgwr_6780.trc  orcl_mmon_6805.trc  orcl_ora_6803.trc   orcl_ora_7290.trc  orcl_vkrm_6627.trc
orcl_ckpt_7409.trm  orcl_gen0_6764.trm  orcl_lgwr_6780.trm  orcl_mmon_6805.trm  orcl_ora_6803.trm   orcl_ora_7290.trm  orcl_vkrm_6627.trm
orcl_dbrm_6772.trc  orcl_gen0_6874.trc  orcl_lgwr_6890.trc  orcl_mmon_6906.trc  orcl_ora_6835.trc   orcl_ora_7317.trc  orcl_vkrm_6721.trc
[[email protected] trace]$







==========================================================================================================================================================






























































































































以上是关于第五章:管理数据库实例的主要内容,如果未能解决你的问题,请参考以下文章

《JVM系列》 第五章 -- 堆空间与对象分配

数据库管理与高可用 第五章 SQL高阶语句

第五章 文件管理

JavaScript第五章

第五章 Flask——实例化Flask的参数及对app的配置

第五章 Python 函数