数据字典是由Oracle服务器通过访问基表来获得诸如用户,用户对象和存储结构等方面的信息并利用这些信息进行所需的数据库的管理和维护。
通常只有Oracle服务器可以修改数据字典中的数据。在Oracle数据库运行期间,如果数据库的结构发生了变化,Oracle服务器就及时的修改相应的数据字典以记录这种变化。
那么,哪些sql语句可以引起Oracle服务器修改数据字典呢?
首先是DDL语句,如增加或减少表空间,增加或减少用户。
其次是DCL语句,如授予用户权限,回收用户权限等。
当数据库管理员或用户发了DDL或DCL语句时,Oracle服务器都要将相关的信息季度到数据字典中。
另外,某些DML语句也可能间接地引起Oracle服务器修改数据字典,如引起表的磁盘存储空间的扩展的insert或者update语句。当这类DML语句被执行时,Oracle也要将相关磁盘存储空间变化的信息记录到数据字典上。
但是任何用户包括数据库管理员(DBA)都不能直接使用DML语句修改数据字典中的内容。所有用户和数据库管理员只能通过访问数据字典(视图)来得到数据库的相关信息。一些数据字典视图可以被所有用户访问,而另一些只能被数据库管理员访问。既然数据字典是表或视图,因此可以使用sql的查询语句从数据字典中获取信息。