在Oracle数据库中,创建新用户是常见的任务之一。对于管理员而言,它是管理资源和访问级别的一种方式。在这篇文章中,我们将学习如何在Oracle数据库中创建新用户。我们将涵盖以下内容:
1. 准备工作
2. 创建用户
3. 授权用户
4. 查看用户权限和角色
1. 准备工作
在创建新用户之前,我们需要检查是否有足够的权限。管理员权限是必需的,因为只有管理员才有权利创建用户和授予特定的权限。此外,我们需要知道新用户的用户名和密码,以及访问权限。
2. 创建用户
在Oracle数据库中创建用户需要使用CREATE USER语句。下面是一个例子:
CREATE USER david IDENTIFIED BY mypassword;
在这个例子中,我们创建了一个名为“david”的用户,并设置了密码“mypassword”。请注意,如果你使用的是Oracle 12c版本或更高版本,那么你需要设置一个默认表空间来存储用户的对象:
CREATE USER david IDENTIFIED BY mypassword DEFAULT TABLESPACE users;
在这个例子中,我们设置了默认表空间为“users”。
3. 授权用户
在创建一个用户之后,我们需要给他分配一些访问权限,以便他可以使用数据库中的资源。Oracle数据库中的权限可以通过GRANT语句来授予。下面是一个例子:
GRANT connect, resource TO david;
在这个例子中,我们授予了“connect”和“resource”权限给用户“david”。这将允许他连接到数据库并创建自己的对象。
授予权限到模式(schema)
在Oracle数据库中,每个用户都有自己的模式。模式用于隔离用户的对象,以便他们可以拥有自己的表、索引等。如果我们想要给某个用户授予访问权限,那么我们需要授予他可以访问的模式的权限。下面是一个例子:
GRANT select, insert, update, delete ON orders TO david;
在这个例子中,我们授予了用户“david”可以访问“orders”表的权限。
4. 查看用户权限和角色
在Oracle数据库中,用户可以拥有所谓的角色。角色是一组权限,可以授权给多个用户。要查看用户拥有的角色和权限,可以使用以下命令:
SELECT *
FROM dba_role_privs
WHERE grantee = 'david';
在这个例子中,我们使用了“dba_role_privs”视图来查看用户“david”拥有的角色和权限。