在Oracle中,“架构(Schema)”与“用户(User)”是一一对应的,创建一个用户即创建了一个对应的架构(用户的所有对象,如表、视图等,都属于该架构)。因此,“新建架构”本质上就是创建一个Oracle用户,并根据需要为其分配权限。
步骤:创建Oracle架构(用户)
1. 登录Oracle管理员账户
需以具有创建用户权限的用户(如SYS或SYSTEM)登录,推荐使用SYS用户(需以SYSDBA身份登录):
# 命令行登录示例
sqlplus sys/你的密码@localhost:1521/你的SID as sysdba
2. 创建用户(架构)
使用CREATE USER语句创建用户,语法如下:
CREATE USER 用户名
IDENTIFIED BY 密码 -- 设置用户密码
DEFAULT TABLESPACE 表空间名 -- 指定默认表空间(存储该用户的对象)
TEMPORARY TABLESPACE 临时表空间名 -- 指定临时表空间(如排序操作使用)
QUOTA 大小 ON 表空间名; -- 限制用户在表空间上的使用空间(如 UNLIMITED 表示无限制)
示例:
创建一个名为MY_SCHEMA的用户(架构),密码为MySchema123,默认表空间为USERS(Oracle默认表空间),临时表空间为TEMP,并允许在USERS表空间无限使用空间:
CREATE USER MY_SCHEMA
IDENTIFIED BY MySchema123
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
QUOTA UNLIMITED ON USERS;
3. 授予用户权限
新创建的用户默认没有任何权限,需授予基本权限才能操作(如连接数据库、创建表等):
-- 使用 SYS 或 SYSTEM 用户登录
sqlplus sys/password@localhost:1521/FREE as sysdba
-- 授予 CREATE SESSION 权限
GRANT CREATE SESSION TO MY_SCHEMA;
-- 通常还需要其他基本权限
GRANT CONNECT TO MY_SCHEMA;
-- 资源权限
GRANT RESOURCE TO MY_SCHEMA;
-- 如果使用表空间,还需要配额
ALTER USER MY_SCHEMA QUOTA UNLIMITED ON USERS;
4. 验证用户(架构)是否创建成功
-- 查询所有用户,确认新用户存在
SELECT username FROM dba_users WHERE username = 'MY_SCHEMA';
关键说明:
- 架构与用户的关系:Oracle中“架构”是用户拥有的所有数据库对象的集合,创建用户时自动生成同名架构,删除用户时架构及其对象也会被删除(需指定
CASCADE)。 - 表空间:若没有自定义表空间,可使用默认的
USERS(永久表空间)和TEMP(临时表空间)。 - 密码策略:Oracle 12c及以上默认启用密码复杂度验证,密码需包含大小写字母、数字或特殊字符。
通过以上步骤,即可创建一个新的Oracle架构(用户)并使用。
1222

被折叠的 条评论
为什么被折叠?



