一、数据库名
什么是数据库名
数据库名就是一个数据库的标识,就像人的身份证号一样。他用参数db_name表示,如果一台机器上装了多全数据库,那么每一个数据库都有一个数据库名。在数据库安装或创建完成之后,参数db_name被写入参数文件之中。格式如下:
db_name=myorcl
...
在创建数据库时就应考虑好数据库名,并且在创建完数据库之后,数据库名不宜修改,即使要修改也会很麻烦。因为,数据库名还被写入控制文件中,控制文件是以二进制型式存储的,用户无法修改控制文件的内容。假设用户修改了参数文件中的数据库名,即修改db_name的值。但是在oracle启动时,由于参数文件中的db_name与控制文件中的数据库名不一致,导致数据库启动失败,将返回ora-01103错误。数据库名的作用
数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的。
有很多oracle安装文件目录是与数据库名相关的,如:
winnt: d:\oracle\product\10.1.0\oradata\db_name\...
unix: /home/app/oracle/product/10.1.0/oradata/db_name/...
pfile:
winnt: d:\oracle\product\10.1.0\admin\db_name\pfile\ini.ora
unix: /home/app/oracle/product/10.1.0/admin/db_name/pfile/init$oracle_sid.ora
跟踪文件目录:
winnt: /home/app/oracle/product/10.1.0/admin/db_name/bdump/...
另外,在创建数据时,careate database命令中的数据库名也要与参数文件中db_name参数的值一致,否则将产生错误。
同样,修改数据库结构的语句alter database,当然也要指出要修改的数据库的名称。
如果控制文件损坏或丢失,数据库将不能加载,这时要重新创建控制文件,方法是以nomount方式启动实例,然后以create controlfile命令创建控制文件,当然这个命令中也是指指db_name。
还有在备份或恢复数据库时,都需要用到数据库名。
总之,,数据库名很重要,要准确理解它的作用。查询当前数据名
方法一:select name from v$database;
方法二:show parameter db
方法三:查看参数文件。修改数据库名
