Oracle数据库实例的创建删除与修改_第1页
Oracle数据库实例的创建删除与修改_第2页
Oracle数据库实例的创建删除与修改_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Oracle数据库实例的创建、删除、修改为例。Oracle10gR2 以 SUSE10SP2、本文中的数据库实例这一称谓应该换做数据库更为准确,数据库可以理解为是一个物理的静态概念,主要包括一些 物理存在的数据库文件,而数据库实例则是一个动态概念,包括一些内存区域以及若干进程,修改)20090714数据库实例是对数据库进行操作的执行者。( 数据库服务。数据库系统的安装后,需要创建数据库实例才能真正开始使用Oracle 安装完 Oracle有三种创建数据库实例的方法。总结起来,Oracle第一种,最常用也最简单,那就是通过 DBCA(Database Configuration Assistan

2、t),这是Oralce提供的一个图形界面 的数据库实例配置工具,通过它可以创建、删除和修改数据库实例,它的使用也比较简单、易懂,交互式的图形界面操作,非常准确有效的提示与配置,是一个比较方便的创建数据库实例的方式。给出的提示,很容易创建一个新数据库实例。DBCA 按照 在创建数据库的时候,DBCA还提供了两个选项,让你可以根据刚刚设置好的参数生成一个 数据库实例模板和一份数据库实例创建脚本。这两个东西是非常好,非常有用的东西,数据库模板由Oracle自己管理维护,已经创建好的数据库实例模板可以在DBCA图形程序新建数据库实例时作为模板来使用,另外在 DBCA使用responseFile文件或者

3、命令行参数创建数据库时也需要用到(见后面介绍);数据库创建脚本是一组脚本,包括shell脚本 和sql脚本,这些脚本共同实现一个功能,那就是按照你之前在DBCA中设置好的那样创建一个数据库实例(后面也会有介绍),你需要做的只是将这些脚本在你的代码中调用起来。当然,。你也可以选择只生成数据库模板或者数据库脚本,而不用去创建一个真的数据库(这通常很费时间)DBCA 是一个非常强大的工具,上面看到的只是 DBCA 最常用的创建一个数据库实例的使用,其实 DBCA 和命令行 带参调用。还提供另外两种使用方法,分别是responseFile 先说DBCA的responseFile使用方法,respons

4、eFile这个东东并不陌生,前文讲的Oracle自动安装就是使用responseFile完成的,DBCA的responseFile使用方法和Oracle安装程 序的responseFile使用方法基本一致。但DBCA的responseFile的来源只能是Oracle安装包中提供的模板文件,而不能 向Oracle安装程序的responseFile样,先自己record一个,然后再用这个record去指导Oracle的自动安装。从 Oracle 安装包中获取到DBCA的responseFile模板文件后,你可以根据自己的需要编辑修改该模板文件,以完成对数据库实例 的某些参数设置(DBCA图形界面所

5、提供的参数设置,responseFile中都可以设置,而且该responseFile模板文件的注释 写的很好,你完全不用担心无法搞定那些繁杂的数据库实例参数设置,赞 Oralce 目录下。安装包中的位置一般在 $ORACLE_PACKAGE/respons。该模板文件在Oracle 个!的位置和另外一些参数:responseFile之后,你只需在调 用 DBCA 的时候指定有了 responseFile 名称 dbca -silent|-progressOnly -responseFile responseFile其中-silent|-progressOnly选项意义和Oracle安装程序命令

6、行参数中的同名选项一样,表示完全字符界面自动安装或者带图形 提示界面的半自动化安装。的具体位置了。responseFile名称当然就是 responseFile但是,有一点不是很好,那就是使用DBCA的responseFile方式创建Oracle数据库实例,需要事先已经存在一个数据库实例模板了,在responseFile中再指定该数据库实例模板名,然后 DBCA 再依据这个已有的数据库实例模板完成新数据库实例的创建,所以就会有前 面讲到的DBCA图形界面创建数据库实例时就是在这要用到的。,(数据库实例模板也可以从一个已有数据库实例生成) 提供生成数据库实例模板的选项从上面调用DBCA使用res

7、ponseFile的命令中,应该已经看到了 DBCA是提供一些命令行参数选项的,其实DBCA提供的命令行参数选项远比你想象的强大,甚至可以这么说,所有DBCA图形界面和responseFile能够办到的事,通过DBCA丰富的命令行参数选项都可以办到。你在DBCA图形界面上设置的参数或者在responseFile中指定的参数值都可以通过DBCA的命令行参数选项来进行设置,所以你完全可以只通过DBCA的命令行带参调用来完成一个数据库实例的创建(当然也包括删除、修改数据库实例等所有DBCA图形界面所能提供的功能)。其实,我更愿意这样认为,DBCA的responseFile应用也是一种DBCA命令行带

8、参调用的使用。需要注意的是,当DBCA的命令行参数和responseFile同时设置一个参数时,命令行参数的优先级是比responseFile要高的。另外,使用DBCA命令行带参调用新建数据库实例和使用responseFile新建数据库实例一样,也是需要事先已经存在一个数据库实例模板,才能完成新数据库实例的创建。一 份 获得。所有命令行参数选项列表,你可以通过执行 dbca -help 非常详细的 DBCA 到现在你可能已经发现, DBCA 图形界面、 DBCA 的 responseFile 使用以及 DBCA 的命令行带参调用,其实是三个分别具备完全数据库实例设置功能的 工具或者接口,分别对

9、应不同的应用场景,它们可以满足你几乎所有的应用需求(使用这样的工具来帮助构建自己的软 件真是非常惬意的一件事情,再赞 Oracle 。个!)第二种是通过脚本(是否称为命令行方式更合适,下文描述的脚本方式其实都是命令行方式的非交互式方法,或者说命令行的自动化方式,但其实所有脚本方式都可以将shell脚本或sql脚本中的shell命令、sqlplus命令拆分出来,手工在shell中或者sqlplus界面中进行交互式的输入执行,这可以称为命令行的手工方式)来完成数据库实例的代码中自 动创建。这里说的脚本包括shell脚本和sql脚本,这种方式可以说是最适合与编程结合的,因为这些shell脚本或者sq

10、l脚本都可以直接在shell命令中调用执行,所以可以很好与 shell编程相结合。而这其实是基于一个非常重要的事实,即Oracle提供了一个交互式的命令行工具 sqlplus (类似与DB2的db2cmd),这个工具可以认为是一个 Oracle数据库管理工 具,通过它可以执行一些 Oracle的数据库管理命令,来完成一些数据库管理工作(这当然就包括数据库实例的创建),同时你也可以把它当作一个 SQL语句执行器,直接在里边执行你想要执行的SQL语句或者存储过程等,并获取执行结果。并且,更重要的是,sqlplus可以直接在shell命令行中进行非交互式的调用执行 (通常是调用执行一段sqlplus

11、语句, 或者是一个由一些sqlplus语句组成的sql脚本,我所说的sqlplus语句包括Oracle数据库管理维护命 完成数据库实例自 动创建工作提供了可能。sqlplus这就为在shell编程中使用语句和存储过程等)令、SQL,shell命令行中非交互式调用sqlplus执行一段sqlplus语句是利用shell编程中重定向命令的一个特性,即分隔符重定向输入。一般用法如下: 任意自定义分隔符 command<< (换行)内容 >(换行)内容 > 自定义分隔符 > shell中遇到<<则会自动将下一个单词认作分隔符,并将分隔符后面的文本当作 comm

12、and 命令执行的内容传递给 command 依次全部执行直至遇到下一个分隔符单词才结束。这里的分隔符可以 是任意自定义的单 ,举例:词,通常使用 EOF sqlplus / as sysdba<<EOF startup nomount; select * from v$version; shutdown immediate; exit; EOF 这段 shell程序调用 sqlplus执行了若干 sqlplus语句,用来启 动数据库实例,查询数据库版本信息,然。sqlplus后关闭数据库实例,退出shell 命令行中非交互式调用 sqlplus 执行一个 sql 脚本是利用 sq

13、lplus 本身提供的命令行参数。在 sqlplus 脚本,两者 功效相同,用法如下:sql令来执行一个界面中可以通过 start命令和 脚本绝对路径; SQL>start sql脚本绝对路 径;SQL>sql 脚本的调用执行,举例:对sql命令行中可以使用 来完成sqlplusshell 而在 sqlplus / as sysdba ./MySQL.sql 脚本。执行当前目录下的 MySQL.sql 以上命令会调用 sqlplus使用脚本来完成数据库实例的创建工作,也分为两种情况。一种是诚如前文所述的那样,在使用 DBCA 图形工具创建数据库实例的同时生成一份数据库实例创建脚本(

14、包括若 干shell脚本和sql脚本),那么你就可以使用这份脚本,在 shell中进行调用,完成数据库实例的代码自动创建。使用这 份数据库实例创建脚本创建的新数据库实例和原数据库实例是完全一样,当然,你可以将生成的脚本进行修改,以完成 你对数据库实例的某些设置,但是请在你对脚本内容已经足够了解,并且知道你自己在干什么的情况下修改脚本,否则 你很有可能使用修改后的脚本无法正确创建数据库实例。这种方法中shell脚本对sqlplus的使用,更多的是使用sqlplus来执行一些Oracle生成的sql脚本(这些sql。语句的集合,它们的任务就是完成数据库实例的创建以及设置)脚本的 内容是就是一些sq

15、lplus脚本,在脚本中你可以调shell生成的脚本,完全由自己来编写实现一份DBCA另一种情况则是不依靠 用sqlplus执行一段sqlplus语句或者其它一些sql脚本,以完成数据库实例的创建和设置,这完全取决于你的实现;而最常用的用来创建数据库实例的一个方法就是在sqlplus中使用create database语句,createdatabase语句提供了许多丰富的选项和参数设置,确保你能完全创建一个自己所需要的数据库实例。当然,提供某些存储过程等。还有一些其它方法可以创建数据库实例,比如调用执行oracle。的sql referencecreate database语句的详细介绍可以参

16、考 oracle 至于第三种严格来说不能算作一种创建 Oracle数据库实例的方法,它是通过已有的数据库实例为基础来完成新数据库实 例的创建的。这种方法是首先通过第一种或者第二种方法来创建好一个数据库实例,然后将该数据库实例的物理文件进 行备份,然后直接使用备份的物理文件恢复出一个与原数据库实例完全一样新的数据库实例, 所以这种方法需要和第一、 二种方法相配合才能使用。这种方法其实已经属于Oracle数据备份与恢复的范畴了,就是Oracle数据备份恢复方式中的 物理备份恢复,所以这种方法可以叫做物理恢复 法。 简单介绍物理恢复法,首先将一个已经存在数据库实例(最 好已关闭)进行物理备份, 所谓

17、物理备份其实就是复制该数据库实例所使用的操作系统文件, 这些文件主要包括 DataFiles、 RedoLogs、ControlFiles和UndoFiles (这些文件一般存在于$ORACLE_HOME/oradata目录下),进行数据库实例恢复的时 候只需将备份的操作系统文件复制到新的oradata目录下即可,可以直接启动使用恢复后的该数据库实例。不难看出,这种备份恢复是依赖于操作系统平台的。详细的物理备份和恢复介绍可以参考 oracle的backup and recovery basics以及 backup and recoveryadvanced user's guide 。说

18、完了数据库实例的创建,现在来说说数据库实例的删除和修改。其实介绍完了数据库实例的创建,数据库实例的删除和修改就非常简单了。 基本和前文数据库实例创建的内容相一致, 且比较而言更简单。 工具和命令行方式。 DBCA 数据库实例的删除从上文中数据库实例的创建不难得到,大致有两种方法,DBCA 工具除了能够用来创建数据库实例,当然也能够用来删除数据库实例了,且同样可以用使用 或者命令行带参调用等方法来完成数据库实例的删除,请 参考数据库实例创建部分。responseFile命令行删除数据库实例的方式,严格来讲,是使用一组sqlplus命令来完成数据库实例的删除,这组sqlplus命令可以组织在一个sql脚本中,然后在shell命令行中调用sqlplus程序来执行该sql 脚本,或者直接在shell命令行中利用shell程序重定向特性调用sqlplu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论