如何给oracle新建架构(schema)

在Oracle中,“架构(Schema)”与“用户(User)”是一一对应的,创建一个用户即创建了一个对应的架构(用户的所有对象,如表、视图等,都属于该架构)。因此,“新建架构”本质上就是创建一个Oracle用户,并根据需要为其分配权限。

步骤:创建Oracle架构(用户)

1. 登录Oracle管理员账户

需以具有创建用户权限的用户(如SYSSYSTEM)登录,推荐使用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架构(用户)并使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值