分步启动数据库以重命名数据文件

数据库
数据库的名字并不是固定不变的,大家可以根据自己的需要,更改成您所喜欢的名字,下文就为大家介绍分步启动数据库以重命名数据文件。

导读:数据库在没有启动时,相信很多人都会为数据库更改名字,然而,由于数据文件平时在数据库运行的时候处于使用状态,故当数据库处于打开状态时,管理员是无法重命名数据文件名字的。那么一定要更改这个数据文件的名字时,他该如何处理这个“顽疾”呢?

一、 数据库启动分三步走。

启动一个Oracle数据库时,都需要经过三个步骤。每完成一个步骤,数据库就进入一个特定的模式,以便保证数据库处于某种一致性的操作状态。管理员可以通过在启动命令中加入参数的方式,来控制数据库的启动步骤。有时候出于管理方面的需要,数据库的启动过程经常需要分布来完成。如数据库管理员进行日常的维护工作,很多都只需要启动第一步或者第二步即可。

第一步:启动例程。

每一个启动的数据库至少要对应一个例程。例程是Oracle用来管理数据库的一个实体。它是由一组逻辑内存结构和一系列后台服务进程所组成。当启动数据库时,这些内存结构以及服务进程得到分配、初始化和启动,以便用户能够与数据库进行通信。

但是,此时启动的数据库例程还没有跟任何数据库进行关联。换句话说,即使数据库不存在也可以启动例程。启动例程主要是跟初始化参数有关,主要是用来初始化数据库的运行环境。如果数据库的初始化参数文件损坏的话,那么就无法正常启动数据库例程了。也就是说,数据库例程主要牵涉到的是内存中的东西,如分配逻辑内存结构,在内存中驻扎一些必要的程序等等。如果数据库只完成了第一步即指启动例程的话,那么数据库管理员可以维护的工作是非常少的。如数据库管理员此时需要更改数据文件的名字,也是不行的。因为此时数据库历程还没有装载数据库,没有对应到具体的数据文件,故此时管理员还无法访问数据文件,对其进行维护。

若数据库管理员出于管理方面的需要,只要求启动第一个步骤的话,那么可以通过参数来进行控制。只要在启动数据库时,输入startup nomount命令即可。此时数据库只启动例程,而不装载数据库。Oracle数据库系统只会读取参数文件中的内容,只是为历程创建各种逻辑内存结构和后台服务进程。此时数据库管理员还不能够使用数据库中的任何文件。

第二步:装载数据库。

在启动例程时所用到的参数文件中,记载了数据库控制文件的存储位置与相关信息。当数据库在启动过程中企图装载数据库时,数据库系统会根据初始化参数文件中记载的控制文件信息去找到这个控制文件,并打开它。在这个控制文件中则记录着数据库的名称、数据文件的位置名称等关于数据库物理结构方面的信息。这里要注意,此时数据库系统会去读取这些信息,但是不并会去代开这些数据文件。只是为下一步打开数据库做好准备。

在装载数据库时,系统不会去读取数据文件和重做日志文件的内容。也就是说,此时数据库仍然是出于关闭状态的。用户无法与数据库建立连接,无法访问数据库并对数据库进行更改。显然,如果只是装载数据库而没有打开数据库的话,对于普通用户来说是没有多大作用的。但是对于数据库管理员来说此时他发展的舞台就很大了。因为只装载数据库而没有打开它,数据库管理员已经可以通过命令来维护数据库。例如,装载数据库但是还没有打开数据文件的状态下修改数据文件的名字。

如果管理员需要装载数据库而不打开数据库,则可以利用startup mount命令。这个命令主要来告诉数据库系统,启动历程并装载数据库,但是不打开数据库。此时数据库系统会打开控制文件并读取数据库名称、数据文件的位置和名称以及其他的一些相关信息。在这个模式下,数据库管理员已经可以对数据库进行一些维护。而且值得注意的是,有些工作只有在这种状态下才能够进行。通常情况下,若只是装载数据库而没有启动数据库的情况下,可以进行如下的日常维护工作。一是上面提到的对数据库的数据文件进行重命名;二是维护重做日志,如添加、删除日志文件或者更改重做日志文件的名字;三是执行数据库的完全恢复操作;四是改变数据库的归档模式等等。

第三步:打开数据库。

通常情况下,只装载数据库但是还没有打开数据库的情况下,应用程序时无法连接到数据库系统的。只有利用Open选项将数据库设置为打开状态后,应用程序才能够正常访问后台数据库系统。用户才能够查询、更改数据库中的记录。在打开数据库的过程中,例程将会根据控制文件中的信息找到对应的重做日志文件、数据文件等等。也就是说,第一步启动的例程会打开所有联机状态的数据文件和重做日志文件。这里要注意,只要控制文件中列出的任何一个重做日志文件或者数据文件损坏无法正常打开的话,则数据库也将无法正常 打开。此时数据库管理员需要进行数据库恢复才能够让数据库重新运转。

从这里也可以看出,如果数据库系统可以正常装载数据库并不一定表示数据文件与重做日志文件是正常的。因为在装载数据库的过程中,只读取了这些文件到存储位置与名字等等,并不会去判断这些文件是否可以使用。只有在试图打开数据库的时候,系统才会去判断这些文件的可用性。此时数据文件、日志文件等等以处于打开状态,故管理员是无法在此时对这些文件进行维护操作的,如位置移动、删除、重新能命名等等。

 

若要打开数据库,则可以采用Startup Open命令。这个命令告诉数据库系统启动例程、装载数据库并且把数据库设置为打开状态。将数据库设置为打开状态后,任何具有Create Session权限的用户都能够连接到数据库并对数据库进行日常的访问。

这里要注意一点,以上这个三个步骤并不是每次启动数据库都要如此一步步的走。如可以直接使用Startup命令,让Oracle系统直接把数据库启动到打开状态。管理员也可以利用Startup Mount命令直接启动到装载数据库的状态。具体要如何启动,主要是要看管理员维护数据库的目的。如需要把重做日志移动到另外一个地方时,那么在启动数据库的时候就只能够启动到第二步,而不能够直接启动到第三步。

另外,数据库启动状态的不同,其对应的动态性能视图中的内容也有所差异。如数据库处于装载数据库的状态下,管理员可以访问那些与SGA区相关的数据字典视图,而且还可以访问那些与控制文件相关的数据字典视图。但是此时动态性能视图中是找不到数据文件或者重做日志文件相关的信息。

二、 分步启动数据库以重命名数据文件。

那么如果现在数据库处于打开状态,数据库管理员该如何来重命名数据文件呢?其实步骤比较简单。只需要简单三个步骤就可以完成。

一是利用Startup Nomount命令把数据库启动到数据库装载状态。由于现在数据库处于打开状态,数据文件正在使用中,为此管理员不能够更改数据文件的名字。所以此时数据库管理员需要先把数据库关闭然后启动到数据库装载状态。此时数据文件没有被使用,故可以对其进行重命名。除了重命名之外,还可以移动数据文件的位置。

二是修改数据文件的名字。注意数据文件名字更改之后,同时要更改控制文件中的内容。否则的话,在打开数据库的时候,就会因为找不到控制文件中所列出的数据文件而导致启动的错误。同理,如果要移动数据文件的位置也是做类似的操作。

三是重新打开数据库。然后数据库管理员重新使用Startup Open命令来打开数据库。此时就完成了数据文件的重命名工作了.

通过上文的步骤进行数据库的重命名就能很轻松的完成,相信现在数据库的重命名已经难不倒大家。

【编辑推荐】

  1. 网站整体优化之数据库优化
  2. 拒绝黑客巧设网站目录与数据库权限
  3. 浅析MySQL数据库授权原则
责任编辑:迎迎 来源: IT专家网
相关推荐

2017-04-01 09:00:00

数据库误删除案例及建议

2011-03-25 10:26:34

Oracle数据库管理表空间

2011-05-17 11:33:43

oracle数据库

2011-07-26 18:06:00

SQL Server数批量重命名

2011-06-27 13:19:36

OMF托管文件ASM

2011-08-29 16:41:14

OracleRMAN恢复数据文件的恢复

2010-02-05 09:23:38

C++连接SQL数据库

2019-11-22 08:05:01

数据库mysql分区

2010-07-13 14:09:07

SQL Server数

2010-11-19 13:48:18

2009-12-22 15:28:51

Linux批量重命名文

2011-03-04 09:48:21

PureFTPd

2015-02-26 09:09:04

2010-05-11 18:57:53

MYSQL数据库命名

2018-06-25 13:10:16

Linux复制重命名

2010-10-29 14:03:39

Oracle移动数据文

2010-10-13 14:02:01

MySQL数据文件

2017-08-25 17:41:17

Paradox数据文件格式

2011-08-09 17:48:54

Oracle参数文件

2011-10-11 17:07:12

数据库Internet文件数据库
点赞
收藏

51CTO技术栈公众号