3.2.6 数据库体系结构

数据库体系结构涉及sys和system模式、数据库组件、数据字典及其他数据库对象。下面分别介绍这些内容。

1.sys和system模式

sys和system是每个Oracle数据库默认安装的两个账户。sys模式是所有内部数据库表、结构、供给包、过程等的拥有者,它还拥有所有的V$和数据字典视图,并创建所有封装的数据库角色(dba、connect、resource等)。sys是一个Oracle数据库的根用户或系统管理员。由于sys账户具有全能的性质,应尽量避免以sys账户注册和登录。当以sys账户注册和登录时,即使一个简单的输入错误,也有可能造成毁灭性的灾难。

sys账户是唯一能够访问特定内部数据字典表的用户,因为它拥有所有的数据字典结构。为了将数据字典对象明确地授权给其他模式,sys也是用户必须登录的账户。当用户使用数据字典视图和表编写存储过程或触发器时,也必须使用sys账户。当首次安装当数据库时,sys账户的默认口令是change_on_install,并且数据库系统管理员会立即更改这个口令。

system模式是在数据库创建时安装的,是用于dba任务的默认账户。system对所有的数据库对象拥有完全的权限,而且许多第三方工具软件依赖于system模式的存在及特权。system 账户的默认口令是MANAGER,并且像sys账户的口令一样,在数据库创建后应该立即更改。许多数据库系统管理员使用system模式执行数据库管理任务,但它更适于创建一个特殊的用户来完成数据库管理员的任务,这就确保了一个特殊的账户与一个特定的人相连,而那个特定的用户则对全部数据库的修改负责。

因为这些模式都存在于每个Oracle数据库中,所以在安装完数据库后立即更改它们的默认口令是很重要的,这样可以防止对账户未经授权的访问。如果安全性是一个主要的问题,用户或许还应该考虑使这些账户不可登录,只有在需要登录时,才设置合法的口令。

2.数据库组件

可以把数据库对象划分成两种不同的类型:一类是由 RDBMS内部使用的对象,称为系统数据库对象(system database object);另一类是可以通过任何程序访问的对象,称为用户数据库对象(user database object)。

1)系统数据库对象

当提到系统数据库对象时,指的是RDBMS用于支持内部数据库功能的数据库对象。这些对象是由数据库系统管理员或服务器本身配置和创建的,并且不显式地用于用户数据库事务。

系统数据库对象有初始化参数文件、控制文件、重做日志文件、数据文件、追踪文件、ROWID和Oracle块。下面分别详细介绍。

(1)初始化参数文件(initialization parameter file)。初始化参数文件或init.ora是RDBMS主要的配置点,它是配置键码和数值的集合,每一个配置键码与数值都控制或修改数据库和实例操作的某个方面。

初始化参数文件是一个ASCII文本文件,可以在UNIX服务器上的$ORACLE_HOME/dbs目录下和NT服务器上的$ORACLE_HOME/database下找到它。默认情况下,文件的名字为 initSID.ora,在这里,SID相当于它所控制的数据库的名称。在一个UNIX服务器上,如果在命令行上没有显式地指定一个init.ora文件,当启动一个数据库时,这就是Oracle服务器所要寻找的文件名(这里SID等于$ORACLE_SID环境变量的值)。每个Oracle数据库和实例都有自己唯一的init.ora文件。

当数据库启动时,在创建实例或读取控制文件之前,先读取init.ora文件。init.ora文件中的值决定着数据库和实例的特性,如共享池、缓存、重做日志缓存分配、后台进程的自动启动、控制文件的读取、自动联机回滚段等。直到数据库关闭并重新启动,对init.ora文件中参数的更改才被承认。

在Oracle RDBMS中,默认的init.ora文件位于$ORACLE_HOME/database目录下,带有针对小、中、大型数据库所预先设置的基本init.ora参数和不同的推荐(任意的)值。当用户创建新数据库和实例时,这个文件可复制和重命名。

通过查询V$PARAMETER视图,可以从数据库内部观察init.ora文件中的配置参数集。V$PARAMETER视图把所有的init.ora参数和它们的值都列出来,并且每一个值都有一个标记符,用于指明参数值是否为服务器默认值。

默认init.ora文件中的参数如表3-4所示。

(2)控制文件。控制文件以"ctl"或"ctrl"为扩展名。控制文件维护数据库的全局物理结构,记录数据库中所有文件的控制信息。每个数据库至少要有一个控制文件,建议用户使用两个或更多控制文件,并存放在不同的磁盘上。Oracle系统通过控制文件保持数据库的完整性,以及决定恢复数据时使用哪些重做日志。

……

扫码/点击阅读原文立即查看本章完整内容

END

10用户账户控制只有否_【新书连载】测试工程师核心开发技术(10)—数据库体系结构...相关推荐

  1. oracle查看数据库是否恢复成功_【新书连载】测试工程师核心开发技术(9)—数据库常用管理命令...

    3.2.4 确认安装 到目前为止,Oracle已经安装成功并且为其创建了数据库,现在就需要确认一下刚才安装的Oracle数据库管理系统能否正常工作.我们按照如下4个步骤来进行验证. 1.检查Oracl ...

  2. linux wenj 立即生效_【新书连载】测试工程师核心开发技术(3)—远程登录Linux系统...

    1.3.3  在线帮助命令下面对常用的在线帮助命令进行介绍.1.man命令man命令的作用是查看联机手册,命令格式如下.man [选项] 命令名称man后面的参数的含义如表1-1所示. 表1-1  m ...

  3. Windows7/10用户账户控制

    点击"开始菜单",选择"控制面板". 选择"用户账户和家庭安全". 点击选择"用户账户". 选择"更改用户账户 ...

  4. win2008r2用户账户控制什么意思_敏感信息泄露+IDOR+密码确认绕过=账户劫持

    今天分享的这篇Writeup是作者在HackerOne上某个邀请测试项目的发现,目标网站存在不安全的访问控制措施,可以利用其导致的敏感信息泄露(auth_token) +密码重置限制绕过,以越权(ID ...

  5. win2008r2用户账户控制什么意思_养老保险统筹账户是什么意思?有什么用?

    我国<社会保险法>规定:基本养老保险实行统筹账户和个人账户相结合的方式. 对于在职职工来说,养老保险费分为单位缴费和个人缴费两部分: 单位一般按照缴费基数的20%划入到统筹账户中,个人按照 ...

  6. 怎么关闭计算机用户账户控制面板,win7系统用户账户控制设置|win7关闭/取消用户账户控制的方法-系统城...

    2017-06-15 15:57:07 浏览量:2659 win7系统内置有用户账户控制功能,用户账户控制有什么作用呢 ?它是微软为提高系统安全而在Windows Vista中引入一组新的基础结构技术 ...

  7. Windows7用户账户控制(UAC)是什么

    用户帐户控制 (User Account Control) 是Windows Vista(及微软更高版本操作系统,比如Win7)中一组新的核心技术,可以帮助阻止恶意程序(有时也称为"恶意软件 ...

  8. win8 必须重新启动计算机才能关闭用户账户控制,Win8用户账户控制怎么取消?

    用户账户控制对于一些用户来说是很烦的,因为每次在安装软件的时候总是会弹出来,于是这些用户就想把用户账户控制取消掉,但是Win8用户账户控制怎么取消呢?不知道的朋友赶紧看看小编整理的以下教程吧! 方法一 ...

  9. win10系统彻底解决用户账户控制之你要允许来自未知发布者的此应用对你的设备进行更改吗?的方法

      很多win10用户在运行一些软件的时候都会弹出如下图所示的提示框,虽然可以选择"是"以便让应用正常运行,但是每次都这么做不免显得麻烦,这里笔者就提供给大家三种解决办法. 第一种 ...

最新文章

  1. 《C语言及程序设计》实践參考——分数的累加
  2. python爬虫项目-23个Python爬虫开源项目代码
  3. Learning OpenCV Lecture 4 (Transforming Images with Morphological Operations)
  4. UOJ - #117. 欧拉回路(模板)
  5. 开源开放 | 中文相对复杂词汇识别数据集RCWI-Dataset(CCKS2021)
  6. OSI七层、TCP/IP五层、UDP、TCP的socket编程(服务端及客户端)、字节序转换、多进程以及多线程服务端的实现
  7. 安装wordpress时候报错:Parse error: syntax error, unexpected '.', expecting '' or variable (T_VARIABLE)
  8. shopnc B2B2C商城 Nginx下开启伪静态
  9. (转)《Billions》第二季回归,现实中的SAC也回来了
  10. native2ascii转译HTML字符,native2ascii转字符
  11. 欧姆龙PLC的FinsTCP协议
  12. B站想破圈 UP主想恰饭
  13. Decorate 装饰器应用
  14. 企查查、天眼查、启信宝的产品调研分析
  15. 鸿蒙系统主页面斜纹,《中国美术欣赏》[精选].doc
  16. dbz用connector入hana报错Invalid Java object for schema type INT64: class java.util.Long for field “null“
  17. cad.net 依照旧样条曲线数据生成一条新样条曲线的代码段. spline生成
  18. 【Bug修复】Room数据库 The columns returned by the query does not have the fields......
  19. 新一年涨工资指南:AI薪资水平和就业前景分析(一定要看完!)
  20. 【Git学习】如何删除Git中的大文件

热门文章

  1. C语言结构体内存对齐问题
  2. 最大功率点跟踪_华北电力大学颜湘武团队特稿:基于变功率点跟踪和超级电容器储能协调控制的双馈风电机组一次调频策略...
  3. antd mysql_create-react-app使用antd按需加载的样式无效问题的解决
  4. vnpy怎么创建策略并回测_基于vnpy、rqdata的回测打通历程
  5. 简单的html5级联下拉菜单,什么是html5纯CSS的三级联动级联菜单
  6. java 流 中文_Java IO流之中文乱码
  7. java catch自定义异常_Laravel - 自定义处理程序中的Catch异常
  8. java安装好了打不开机_门套安装是45度拼接还是直角好?当初不懂行,没有半年就重装!...
  9. os x php,OS X 安装php7.0
  10. 服务器查内存型号,服务器怎样查内存型号