首页 > Linux操作系统 > Linux操作系统 > 1、创建Oracle数据库
创建Oracle数据库
1、Oracle服务器的体系结构
实例(instance)和数据库(database)
先创建实例,再创建数据库。
a、实例:存储结构与进程
SGA:共享池、数据库高速缓存区和日志缓存区;大池、JAVA池和流池。
不能频繁改变内存配置。
共享池:库缓存区(library cache)与数据字典缓存区。
库缓存区:一个内存区域,用于存储最近执行的解析后的代码。
数据字典缓存区:存储最近使用的对象定义,包括表、index、用户等。
数据库高速缓存区:Oracle执行sql的工作区域。
日志缓存区(log buffer):
大池(large pool):
Java池(JAVA POOL):用于实例化Java对象所需的堆空间。
流池(stream pool):
进程:系统监视进程(SMON)、进程监视进程(PMON)、数据库写入器进程(DBWn,最多10个)、日志写入器进程(LGWR)、检查点进程(CKPT)。
SMON:打开数据库,从而支持实例与数据库的连接
PMON:管理用户会话。
DBWn:数据文件的所有写入。没有任何会话能过不断地更新磁盘上的数据。会话只更新数据库高速缓存区中的数据。
LGWR:应用于数据库高速缓存区中数据的所有变化写入磁盘上的联机重做日志文件。接近于实时完成。
CKPT:确保实例不时地与数据库同步。
b、数据库:物理结构
数据库必需的文件:控制文件、联机重做日志文件和数据文件。
外部文件:初始化参数文件、口令文件与归档重做日志文件。
控制文件(controlfile):大小只有几兆,不过很重要;包括指向联机重做日志文件和数据文件位置的指针,存储维护数据库完整性所需的信息(比方:各种重要的序列号与时间标志);控制文件的维护是自动的,我们只能控制副本的数量及存放位置。
联机重做日志文件:每个数据库至少有2个;由进程LGWR操纵。
数据文件(datafile):在数据库创建阶段,必须至少创建2个数据文件;数据文件是数据的存储仓库,数据大小与数量不受限制(剔除主操作系统和硬件性能的影响);数据文件是系统管理员可视的物理结构。
参数文件:定义了实例。DB_NAME不存在默认值;DB_BLOCK_SIZE参数在数据库创建之后不能被改变。需要设置20多个基本参数。参数文件分为旧式的静态参数文件(init
口令文件:是一个操作系统文件,该文件独立于数据库而存在,并且具有用户名与加密的口令。
归档日志文件:是已填满的联机重做日志文件的副本,也就是说联机日志填满变化时应当作为归档的日志被复制至一个或多个目的地,从而提供应用于数据库的所有变化的完整历史记录。
c、数据库的逻辑结构:表空间与段
段(segment):主要为表段、索引段和撤销段。
表段:包含信息记录。
索引段:是一种用于快速访问任意特定记录的机制。
撤销段(undo segment):是一种数据结构,这种数据结构被用于存储颠倒或回滚不希望持久的事务可能需要的信息; 把未提交的事务进行返回操作的相关数据存放的位置(ITPUB上的解释); 恢复时先rollforward,前滚,就是把日志文件中的更新到数据库,然后rollback,后滚,把未提交的撤销掉,这时用的是undo段中的信息。
表空间(tablespace):从逻辑上看,是一个或多个段的集合;从物理上看,是一个或者多个数据文件的集合。在创建数据库时必须创建SYSTEM和SYSAUX表空间,用于存储数据字典。
d、数据字典
数据字典:是元数据,从逻辑上和物理上描述了数据库及其内容。主要为:用户定义、安全性信息、完整性约束和性能监视信息。被存储为SYSTEM和SYSAUX表空间内的若干段。数据字典表在数据库创建阶段生成,并且不允许被直接访问。查询数据字典,Oracle提供了“ALL_”、“DBA_”和“USER_”三种视图,其中显示数据库中所有表的视图是DBA_TABLES,而不是ALL_TABLES。
e、管理工具:Database Control与Grid Control
Database Control在数据库创建阶段生产,并且被实现为数据库内的一组表和过程。
2、创建数据库
步骤:参数文件和口令文件——实例——create database创建数据库——运行SQL脚本生成一些其他需要的选项。在windows系统还需要用ORADIM.EXE来创建ORACLE服务。
使用DBCA来完成。
3、数据库创建脚本
init.ora
DB_BLOCK_SIZE:创建数据库后,此参数再也不会变化。
CONTROL_FILES:允许实例查找数据库控制文件(包括控制文件的所有副本)的指示器。
ocp10g.bat
ocp10g.sql 执行完后,会调用ORAPWD.EXE实用程序创建一个外部口令文件。
CreateDB.sql:创建一个数据库。
CreateDBfiles.sql:创建一个表空间,这个表空间被用为用户数据的默认存储位置。
CreateDBcatalog.sql:生成数据字典视图与补充的PL/SQL程序包。
emRepository.sql:生成 Database Control 工具。
postDBcreation.sql:进行数据库创建整理工作。
声明:本博文章允许署名转载。(山上的树)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9537053/viewspace-548829/ ,如需转载,请注明出处,否则将追究法律责任。