Oracle数据库里头怎么一步步弄出用户和方案,简单实用的操作指南分享
- 问答
- 2026-01-10 07:24:40
- 1
在Oracle数据库中,“用户”和“方案”在大多数情况下可以看作是同一个东西,当你创建一个新用户时,系统会自动创建一个与该用户同名的空方案,方案就像是这个用户的私人储物间,里面可以放他拥有的所有数据库对象,比如表、视图、索引等,我们通常说的“创建用户”,其实就等同于“创建了一个同名的方案”。
要执行这些操作,你需要使用一个有足够权限的账户登录数据库,我们会使用最高权限的账户SYS或者拥有DBA角色的账户,比如SYSTEM。
第一步:用高权限账户连接数据库
打开你的数据库操作工具,比如SQL*Plus、SQL Developer或者其他图形化工具,然后使用类似下面的命令登录:
CONNECT sys AS SYSDBA;
然后输入密码,这里以命令行为例,图形化工具就是填写连接信息。
第二步:创建新用户
创建用户的基本命令是CREATE USER,这里的关键是你要给用户起个名字,并设置一个密码。
假设我们要创建一个叫xiaoming的用户,密码是password123,最基本的命令是这样的:

CREATE USER xiaoming IDENTIFIED BY password123;
光这样创建的用户只是个空壳子,几乎什么都做不了,它连登录数据库的权限都没有,我们创建后需要立刻给它一些最基本的权限。
第三步:授予用户基本权限
为了让新用户能够正常使用,至少需要授予它两个基本权限:
CREATE SESSION:允许用户连接到数据库,没有这个权限,用户连门都进不去。RESOURCE:这是一个角色(可以理解为一组权限的打包),它允许用户在属于自己的方案里创建表、视图、存储过程等对象,简单说,就是允许他在自己的“储物间”里放东西。UNLIMITED TABLESPACE:或者指定一个表空间配额,这相当于告诉数据库,这个用户最多能在存储空间里用多少地方,如果不给配额,用户即使有RESOURCE权限,也无法创建表(因为没地方存),为了方便,我们可以先授予无限制配额。
完整的授权命令如下:
GRANT CREATE SESSION, RESOURCE, UNLIMITED TABLESPACE TO xiaoming;
执行完这两步,一个基本的用户xiaoming和他的同名方案xiaoming就创建好了,现在这个用户已经可以登录,并开始在自己的方案里创建表了。
第四步:测试新用户登录和工作

断开当前的高权限连接,使用新用户xiaoming和密码password123重新登录。
登录成功后,你可以尝试创建一个简单的表来测试:
CREATE TABLE my_first_table (
id NUMBER,
name VARCHAR2(50)
);
如果这个表创建成功了,就说明一切正常,这个my_first_table表就属于xiaoming方案。
第五步:更精细的权限控制(如果需要)
上面的步骤创建的是一个有基本开发权限的用户,在实际工作中,你可能需要更精细的控制:
-
只读用户:如果你希望用户只能查询某些表,不能修改,可以只授予
CREATE SESSION和SELECT权限。
GRANT CREATE SESSION TO read_only_user; GRANT SELECT ON some_other_user.some_table TO read_only_user; -
授予操作其他方案对象的权限:如果
xiaoming想查询SCOTT方案下的EMP表,需要SYSDBA或SCOTT用户执行:GRANT SELECT ON scott.emp TO xiaoming;然后
xiaoming查询时就要写全名:SELECT * FROM scott.emp; -
修改用户:比如修改密码。
ALTER USER xiaoming IDENTIFIED BY new_password; -
解锁/锁定用户:如果用户输错密码多次被锁,可以解锁。
ALTER USER xiaoming ACCOUNT UNLOCK;要禁用某个用户,可以锁定:
ALTER USER xiaoming ACCOUNT LOCK; -
删除用户:如果这个用户不需要了,可以删除,注意,如果用户的方案里已经创建了对象,你需要加上
CASCADE关键字,这样才能连带删除他拥有的所有对象。DROP USER xiaoming CASCADE;
总结一下最简单的流程就是:
- 用
SYS或SYSTEM登录。 - 执行
CREATE USER 用户名 IDENTIFIED BY 密码; - 执行
GRANT CREATE SESSION, RESOURCE, UNLIMITED TABLESPACE TO 用户名; - 用新用户登录测试。
这个流程适用于大多数需要创建一个能自己建表、进行开发的普通用户场景,权限授予要遵循“最小权限原则”,即只给用户完成其工作所必需的最少权限,这样更安全。
本文由酒紫萱于2026-01-10发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:https://www.haoid.cn/wenda/77929.html
