实例解析:Oracle中有没有系统数据库

  问:Oracle中有没有系统数据库?就像SQL Server里的master数据库,如果有的话,那么安装时默认的数据库实例是不是就是系统数据库? 如果没有,那么安装时默认的数据库实例能不能随便增删表?

  答:Oracle 没有像SQL Server里的master db那样的系统数据库。这两个数据库的结构是不相同的。在SQL Server里,在一个“INSTANCE”下,可以存在多个数据库。所以,除了master,msdb,model,tempdb这些系统数据库外,用户还可以创建一个或者多个用户数据库。可是,在Oracle里,在一个“INSTANCE”下,只能存在一个数据库。那些数据库系统信息,是储存在“SYSTEM”表空间里的,并且由系统用户“SYS”所拥有。

  安装Oracle时默认的数据库,实际上是一个范例数据库 (sample database)。你对它干什么都行,增删表格或者删除整个数据库。事实上,范例数据库通常是给人们学习用的。正规的大型数据库从来不用安装时默认的范例数据库。DBA必须根据实际要求,创建一个新的数据库。