"Oracle学习资料,包括9i与10g的区别、默认用户及权限管理、数据库服务和用户创建"
在Oracle数据库的学习过程中,了解不同版本之间的差异是非常重要的。Oracle 9i与10g的区别虽然不大,主要体现在性能提升和功能增强上。Oracle 10g在安全性方面进行了加强,例如,sys和system这两个权限极高的管理员用户的默认密码在安装时不再预设,需要用户自定义设置,从而增强了系统的安全性。
权限管理在Oracle中是核心部分。默认的三个用户是sys、system和scott。sys拥有最高的管理员权限,用于数据库的管理和维护;system则是一个普通的管理员用户,而scott是一个示例用户,通常用于教学和演示。在Oracle 10g中,scott用户出于安全考虑,默认是被锁定的,需要解锁后才能使用。解锁可以通过修改用户状态实现。
在Oracle环境中,要正常使用数据库,必须确保两个关键服务正常运行:监听服务和数据库实例。监听服务负责接收客户端的连接请求,而数据库实例则是实际存储和处理数据的地方。创建新用户是数据库管理的基础,可以使用SQL语句`CREATE USER`来完成。例如,创建一个名为lisi的用户并设置密码为lisi:`CREATE USER lisi IDENTIFIED BY lisi;`
然而,创建用户并不意味着立即拥有所有权限。新用户通常没有任何权限,甚至没有登录数据库的权限。要赋予用户登录权限,需要使用`GRANT CREATE SESSION`语句,如:`GRANT CREATE SESSION TO lisi;`接着,为了允许用户创建表,还需使用`GRANT CREATE TABLE`语句,如:`GRANT CREATE TABLE TO lisi;`
尽管授予了创建表的权限,但在实际操作中,还需要考虑表空间的权限。每个数据库表都需要在特定的表空间内,相当于文件需要存在于某个文件夹下。如果用户没有对表空间的使用权,即使有创建表的权限,也无法成功创建表。例如,lisi用户在尝试创建表时,可能会遇到“对表空间'USERS'无权限”的错误。因此,还需要通过`GRANT`命令分配对特定表空间的使用权限。
Oracle数据库的学习涉及版本差异、权限管理、用户创建及权限分配等多个方面。理解并熟练掌握这些概念对于数据库的日常管理和开发工作至关重要。在实践中不断练习,才能更好地理解和应用这些知识。