知识大全 手动创建Oracle数据库之前因后果

Posted 数据库

篇首语:会挽雕弓如满月,西北望,射天狼。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 手动创建Oracle数据库之前因后果相关的知识,希望对你有一定的参考价值。

手动创建Oracle数据库之前因后果  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  对于许多数据库管理员来说 Oracle究竟是不是一个难以管理和驾驭的怪兽级数据库 会不会让他们管理生涯饱受折磨?当看到其命令行界面时 很多人会问这么一个问题 如果你想通过一个应用程序操控使用这个数据库 那么你应当是一名终端用户;因此对这类人而言 界面越透明当然越好 而命令行界面显然不够理想 而如果你想成为精通数据库的技术员 成为排除数据库故障的检修员 成为当大家碰到数据库难题时会向他求助的万能先生的话 你就不能嫌脏怕累 而要不辞劳苦地深入了解数据库的结构和机理 这样你才能知道数据库到底怎么运作 发生了什么问题 命令行界面正是你需要适应并了解的东西

  为什么要手动创建数据库?

  创建数据库也应该是你要深入了解的内容之一 当然 Oracle本身提供有图形用户界面工具可以帮助用户出色地完成这项任务 但是如果失败了呢?如果你在创建的过程中出现了警告或错误信息呢?这时候你应当怎么办?你是否想知道在这些信息背后到底是哪里出了问题?你是否想要更进一步了解Oracle在数据库创建的过程中到底是怎么变的戏法吗?来手动创建一次数据库 相信就能为你阐明一切

  当你手动创建一个数据库时 你就要在sqlplus提示符下输入指令 通常情况下你需要将这些指令添加到一个sql脚本 随后从sqlplus调用这个脚本 假设所有的路径和选项都正确 设定的大小可用 而且在数据库创建过程中没有达到容量的极限的话 那么整个创建过程应当顺利运行 而且 如果你开发了一个想要部署到Oracle数据库商的应用程序 你的应用程序也可以提供一份数据库创建脚本 按照你设定的方式来运行

  什么时候使用手动方法创建数据库?

  显然 当你第一次学习Oracle时 你应当使用手动方法来创建数据库 一旦你完全理解其中的奥妙 你就可以考虑使用图形用户界面来简化你的工作 不过 如果你想控制文件的命名规范 建议你还是坚持使用手动方法 此外 当有新版本的Oracle数据库发布时 一定要通过手动方法检查一下有什么新选项添加到了创建数据库的语法当中 那如果你要创建一大堆特征相似的数据库呢?这种时候 手动创建的方法更具有吸引力 因为这样能够减少我们的工作量

  如何手动创建数据库

  首先我们把我们要创建的数据命名为DBJ 接着 至少你得给DBJ设置ORACLE_SID环境变量 编辑initDBJ ora 添加如下脚本

  db_name=DBJ

  然后启动sqlplus 发布如下指令

  SQL> startup nomount;

  SQL> create database;

  Oracle会为所需要的所有参数设置一些默认值 例如应当将数据文件 控制文件放在哪里 分配多少内存等 然后启动实例 不挂载任何文件 创建数据库指令(create database)将要求Oracle创建一个数据库 这个数据库带有最小系统和sysaux表空间等默认设置

  不过现实中 我们可能想要指定很多其他的选项 下面我们来看看现实中创建Oracle数据库脚本更真实的例子

        connect / as sysdba;  startup nomount;  CREATE DATABASE dbj   DATAFILE   /u /oradata/sysdbj dbf size M  SYSAUX DATAFILE   /u /oradata/auxdbj dbf size M  UNDO TABLESPACE dbjundo DATAFILE   /u /oradata/unddbj dbf size M  LOGFILE   /u /oradata/rdodbj dbf size M    /u /oradata/rdodbj dbf size M  CHARACTER SET WE ISO P   NATIONAL CHARACTER SET UTF   EXTENT MANAGEMENT LOCAL  DEFAULT TEMPORARY TABLESPACE mytemp TEMPFILE   /u /oradata/tmpdbj dbf SIZE M  NOARCHIVELOG  MAXDATAFILES   MAXLOGFILES ;  # create the rest of the data dictionary  @?/rdbms/admin/catalog sql  @?/rdbms/admin/catproc sql

     详解创建的各阶段

  当我们发布 startup nomount 的指令时 我们是让Oracle以一种不同于平常使用的方式启动 不同在哪里呢?我们让Oracle 其实 我们让Oracle只启动实例 而不安装数据库 也不打开数据库 并启动所有的后台进程 并为系统全局区域(SGA)分配内存 为什么不启动数据库?因为在现阶段我们还没有一个可以挂载的数据库 也就是以一个有效形式存在的数据文件集合

  当我们发出 create database 指令的时候 Oracle将创建系统表空间 sysaux表空间 undo表空间和临时表空间 并为该数据库设置字符集 也就是设置数据文件的头信息 表明我们想要创建本地管理表空间 还有就是设置归档或非归档模式 一旦这些都完成了 Oracle就会运行一个名为sql bsq的神奇文件 建议大家看看这个文件的内容 会很有趣且很有用 这是Oracle的自举代码(bootstrapping code) 可以供我们查看并了解其中内容 我们可以在$ORACLE_HOME/rdbms/adminsql bsq目录中找到这个sql bsq文件 注意 这个文件会随着版本的不同而有所改变 所以定期查看一下其中的变化很能说明一些问题

  这个运行之后 就是创建Oracle数据字典了 catalog sql和catproc sql只是在真正的数据字典上创建有用的视图以及每个Oracle数据库都需要有的各种存储过程 包和函数

  结论

cha138/Article/program/Oracle/201311/18920

相关参考

知识大全 Oracle9i 数据库管理实务讲座(五)-手动建立 Oracle9i 数据库

Oracle9i数据库管理实务讲座(五)-手动建立Oracle9i数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们

知识大全 Oracle创建数据库的手工方法

Oracle创建数据库的手工方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracle数据

知识大全 Oracle 10i数据库创建过程

Oracle10i数据库创建过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oraclei数

知识大全 Oracle10g手工创建数据库

个人经验总结:Oracle10g手工创建数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  创

知识大全 创建Oracle10gASM数据库

创建Oracle10gASM数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!概述  在真正的海

知识大全 多个Oracle数据库创建一个Excel报表

多个Oracle数据库创建一个Excel报表  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  微软

知识大全 在Oracle中合理创建数据库的索引

在Oracle中合理创建数据库的索引  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在Oracl

知识大全 在单机上创建物理Oracle数据库9istandby

在单机上创建物理Oracle数据库9istandby  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 Oracle DBA创建数据库试题精选

OracleDBA创建数据库试题精选  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Q:This

知识大全 Oracle Data Guard创建物理Standby数据库

OracleDataGuard创建物理Standby数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一