数据库管理

一粒丿巧乐兹 / 2023-07-20 / 原文

1.数据库实例管理

  启动数据库 startup

  

  关闭数据库 shutdown

  

   关闭数据库三种语句

  shutdown immediate 

  shutdown normal

  shutdown transactional

  1.数据库高速缓冲区数据写入数据文件

  2.未提交的事务回滚

  3.释放资源

2.通过检查诊断文件查看实例运行过程中遇到的重要事件信息

  1.告警日志文件(alterSID.log)

    查看日志文件路径  select * from v$diag_info;

    记录了数据库运行过程中的一些操作命令和主要事件 结果

    被用来诊断日常数据库运行的错误信息

    每一条都有对应的时间戳

    路径定义在background_dump_desc

  2.后台跟踪文件

    后台进程文件检测到的错误信息

    进程错误时候才被创建  

    路径定义在background_dump_dest 

  3.用户跟踪文件

    当用户进程通过服务器进程连接到oracle服务器上时产生

    一个用户跟踪文件包含跟踪到的SQL执行语句或用户通讯错误信息

    用户会话信息遇到错误信息时产生

    路径定义user_demp_dest

    大小定义max_dump_file_size

3.oracle参数文件管理

  startup后先调用控制文件spfile(sid).ora启动数据库实例

  静态初始化参数文件pfile

   

  动态初始化参数文件spfile

    不用重启就能修改的二进制文件

    保存在oracle服务器端

    alter system 直接修改

    能指定临时在内存中生效还是从现在开始永久生效

    修改的值能被删除,并重置到实例缺省的值

  oracle启动时,查找顺序为spfile(sid).ora -- spfile.ora -- init(sid).ora

4.oracle控制文件管理

  较小的二进制文件,描述数据库结构,包括

  数据库建立日期

  数据库名

  数据库所有数据文件和日志文件的文件名路径

  恢复数据库时所需要的同步信息

  打开、存取数据库时都要访问该文件

  一套控制文件只能连接一个datebase

  分散放置,至少一份,最多八份

  记录控制文件名以及路径的参数control_files

5.oracle重做日志文件

   记录所有修改信息并提供一种数据库失败时的恢复机制

  重做日志文件分组管理

  一个oracle数据库要求只要有两组重做日志文件

  组中每个日志文件被称作一个组成员

  

  重做日志时如何工作的

    重做日志文件循环使用

    当一个重做日志文件充满的时候,LGWR将日志写入下一个重做日志组

      这个被称为日志切换

      检查点执行动作被触发

      相关信息写入控制文件

    重做日志文件手工切换

    alter system switch logfile;

    增加在线重做日志组

    alter database add logfile group 3('/oracle/oradata/fgedu/log3a.rdo','/oracle/oradata/fgedu/log3b.rdo') size 10M;

    增加在线重做日志组成员

    alter database add logfile member

    '/oracle/oradata/fgedu/log1c.rdo' to group 1

    '/oracle/oradata/fgedu/log1b.rdo' to group 2

    '/oracle/oradata/fgedu/log1a.rdo' to group 3;

    删除在线重做日志组成员

    alter database drop logfile member

    '/oracle/oradata/fgedu/log3c.rdo';

    通过数据字典查询日志组以及成员信息

   select * from v$log

    select * from v$logfile;

    在线重做日志文件发生切换以后,就需要被归档

    归档在线重做日志文件的两个优势:恢复,备份

6.oracle表空间与数据文件管理

  oracle系统表空间

    随着数据库创建而被建立

    包括数据字典信息

    包括系统回滚段

  非系统表空间

    不同的segments分开存放(回滚段、临时段、应用数据......)

    控制分配给用户对象的空间容量

    创建本地数据库表空间

    create tablespace fgsjk '/oracle/database/fgdba.dbf' size 100M

    extent management local;

    字典管理的表空间

    create tablespace fgdba

    datafile '/oracle/oradata/fgdba1.dbf' size 1024M

    extent management local

    default storage (inital 1M next  1M)

    extent在数据字典中管理

    每个存储在表空间的management都可以有不同的存储参数设置

    有邻近接合extents的要求

  undo回滚表空间

    存储回滚段信息

    不能包含其它

    extents本地管理

    在创建时仅仅能使用datafile and extents 条件

    create undo tablespace undo1'/oracle/oradata/undo1.dbf' size 1024M

  temp临时表空间

    用来排序操作

    不包含固定对象

    最好使用本地表空间管理

    create temporary tablespace temp1 '/oracle/oradata/temp1.dbf' size 1024M 

    extents mangement local;

  oracle删除表空间

    从数据字典中删除表空间信息

    通过and  datafiles 可在操作系统上删除表空间的数据文件

    drop tablespace fg01  including contents and datafiles;

  oracle修改表空间大小  

    增加数据文件

    改变数据文件大小

      自增

      手动

      alter database '/oracle/oradata/fg01.dbf' resize 1024M;    

    修改表空间位置

    表空间为下线状态

    目标必须存在

    alter tablespace fg01  rename datafile '/oracle/oradata/fg01.dbf' to '/oracle/oradata2/fg01.dbf';

7.数据库用户权限管理

  

   oracle创建用户需要准备的

    对象需要储存在哪个表空间

    每个表空间中该用户的使用配额

    指派缺省表空间和临时表空间

    创建用户

    赋权

    create user itpux identified by 123321

    default tablespace data

    temporary tablespace temp;

    删除用户

    drop user itpux caseade;   --caseade删除用户及其用户中所包含的所有对象

    oracle授权

    grant create session to itpux with admin option;

   grant update on ippux.user to itpux with grant option;

8.oracle监听命令

  配置文件

    listener.ora

    Tnsnames.ora

  配置图形命令

    netca

  启停命令

    lsnrctl status/start/stop 

  通过oracle client 配置tnsnames.ora连接数据库

9.oracle EM管理工具

  11g启动EM

     emctl start dbconsole

     emctl stop dbconsole

    https://192.168.1.61:1158/em/

  12c启动EM

     exec dbms_xdb_config.sethttpsport(5500);

     exec dbms_xdb_config.sethttpsport(5501);

    https://192.168.1.61:5500/em/