Oracle用户创建、权限分配

本文介绍如何在Oracle 9.2环境中使用SQL*Plus命令创建新用户并分配权限。具体步骤包括定位sqlplus程序、以system用户身份登录、创建新用户、授予相应权限及提交更改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在安装的数据库目录中找到oracleproduct9.2bin 中的sqlplus程序,运行:./sqlplus system/manager@ora9i

用system用户创建自己的用户、权限;sql语句如下:

1、创建用户:

create user username identified by pwd default tablespace users Temporary TABLESPACE Temp;

2、用户授权

grant connect,resource,dba to business;

3、提交

commit;

eg::::

 

create user wlq identified by newtouchone
default tablespace wlq;
grant dba,connect,resource to wlq; Oracle用户创建、权限分配

<think>嗯,用户想在Oracle数据库里创建用户并分配权限。我之前看过几个相关的引用内容,应该能帮上忙。首先,用户需要创建用户,设置密码,这部分引用1和引用2都有提到,用CREATE USER语句。然后可能涉及到分配存储配额,比如ALTER USER给表空间配额,引用1里提到要注意别用SYSTEM表空间,应该用用户自己的表空间。接下来是授权,引用1和引用2都提到GRANT命令,可以授予CREATE VIEW、SELECT权限,或者角色比如DBA。不过用户需要注意安全,遵循最小权限原则,引用1特别强调了这一点,不能随便给DBA角色。 用户可能还需要分配具体的对象权限,比如允许访问某些视图,引用2中的例子是给用户授权特定的视图查询权限,用GRANT SELECT ON 视图名 TO 用户名。这时候要注意权限的范围,避免使用ANY TABLE这种太宽泛的权限,引用1里也提醒了这一点。 另外,引用3里提到了一些表操作的权限,比如ALTER TABLE,但用户的问题主要是创建用户和授权,所以可能暂时不需要这部分。不过还是要确保用户了解不同权限的作用,比如系统权限和对象权限的区别。 用户可能的疑问还有如何撤销权限,或者修改用户属性,但当前问题主要是创建和授权。需要分步骤说明,先创建用户,然后配额,再授权,最后测试。同时要注意安全事项,比如使用默认表空间而不是SYSTEM,避免过度授权。 可能用户是数据库管理员,或者是刚接触Oracle的新手,需要详细的步骤和注意事项。需要把步骤写清楚,每个命令的作用,以及示例,比如用户名和密码替换成实际的。另外,安全建议也很重要,防止权限过大导致的安全风险。</think>在Oracle数据库中创建用户并分配权限需遵循以下步骤,结合安全性与实际需求: ### 一、创建用户 1. **基本用户创建** 使用`CREATE USER`语句定义用户名和密码,指定默认表空间: ```sql CREATE USER new_user IDENTIFIED BY "SecurePwd123" DEFAULT TABLESPACE users_data TEMPORARY TABLESPACE temp PROFILE default; ``` > 注意:避免使用`SYSTEM`表空间存储用户数据[^1] 2. **分配存储配额** 为指定表空间设置存储限制: ```sql ALTER USER new_user QUOTA 500M ON users_data; ``` ### 二、权限分配 1. **系统权限授予** ```sql GRANT CREATE SESSION, CREATE TABLE TO new_user; -- 基础权限 GRANT EXECUTE ANY PROCEDURE TO new_user; -- 特定功能权限 ``` > 避免使用`GRANT DBA TO new_user`除非必要[^1] 2. **对象权限控制** ```sql GRANT SELECT, INSERT ON hr.employees TO new_user; -- 表级权限 GRANT SELECT ON sales.v_monthly_report TO new_user; -- 视图权限[^2] ``` 3. **角色管理** ```sql CREATE ROLE data_analyst; GRANT SELECT ANY TABLE, CREATE VIEW TO data_analyst; GRANT data_analyst TO new_user; ``` ### 三、权限验证与测试 1. **查看当前权限** ```sql SELECT * FROM dba_sys_privs WHERE grantee = 'NEW_USER'; SELECT * FROM dba_tab_privs WHERE grantee = 'NEW_USER'; ``` 2. **连接测试** ```sql CONNECT new_user/SecurePwd123@orcl CREATE TABLE test_tab(id NUMBER); -- 验证CREATE TABLE权限 ``` ### 四、安全实践建议 1. 遵循最小权限原则,定期审计`DBA_SYS_PRIVS`和`DBA_TAB_PRIVS` 2. 敏感操作权限(如`ALTER DATABASE`)需单独审批 3. 使用`REVOKE`撤销多余权限: ```sql REVOKE DELETE ON hr.salaries FROM new_user; ``` ### 五、典型错误规避 1. **避免过度授权** ```sql -- 错误示范(开放所有表查询权限) GRANT SELECT ANY TABLE TO new_user; -- 正确做法(按需授权) GRANT SELECT ON specific_table TO new_user; ``` 2. **表空间管理** ```sql -- 错误示范(使用系统表空间) ALTER USER new_user QUOTA UNLIMITED ON SYSTEM; -- 正确做法(使用专用表空间) ALTER USER new_user QUOTA 2G ON user_data_ts; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值