通过查询语句:
select text from dba_views where view_name = 'GLOBAL_NAME';
select owner, object_name, object_type
from dba_objects
where object_name = 'GLOBAL_NAME';
可以发现global_name实际上是一个视图,来源于sys.props$表,而这个表是非常重要的一个关于数据库属性的表,不要随意更改此表的内容,否则将引起无可预料的、无法挽回的损失。例如:无法启动数据库。
关于golbal_names的一些属性和操作:
1)查看global_names属性是否开启
show parameter global_name;(这个语句要在sql plus里面执行,咋plsql中是没法执行的)
2)查看global_names的值:
select * from global_name;
3)修改global_Name
ALTER DATABASE RENAME GLOBAL_NAME TO NEW_NAME;
注意不要直接用update global_name set global_name=‘’将global_name设置为空,否则数据库不能启动,会报ORA-00600[18061]
或 ORA-00600[18062]这样的错误。 只有用备份进行恢复后才能打开。
在用alert
database rename global_name时,如果设置了global_name类似于”dmdb.com”这样的名称,则以后更改名称,则没有常规的办法去掉”.”分隔符了。要去掉点分隔符,只有用update:update
global_name set global_name=’DMDB’;
千万不要将global_name更新为空。因为很容易造成数据库无法启动的后果。