在oracle11g中新增一个只有查询权限的用户,怎么给用户赋予查询指定数据库
时间: 2024-09-23 07:15:33 浏览: 75
在Oracle 11g中,为了给一个新用户分配只读查询权限(SELECT权限),你可以按照以下步骤进行操作:
1. **登录DBA账户**:
使用sys或system账号登录到数据库,通常是通过SQL*Plus,如 `sqlplus / as sysdba`.
2. **创建新用户**:
使用`CREATE USER`命令创建一个新用户,例如:
```sql
CREATE USER new_user IDENTIFIED BY password;
```
将`new_user`替换为你想要的用户名,`password`替换为你要设置的密码。
3. **启用账户**:
确保新用户状态为启用,如果默认就是启用状态,则不需要这一步:
```sql
GRANT ACCOUNT UNLOCK TO new_user;
```
4. **授予查询权限**:
对于指定的数据库,你需要使用`GRANT SELECT`命令,格式如下:
```sql
GRANT SELECT ON database_name.* TO new_user;
```
将`database_name`替换为你要分配权限的具体数据库名称,例如`hr`, `sales`等。
5. **锁定其他权限**:
为了保证用户只能进行查询操作,需要限制用户的其他操作权限:
```sql
REVOKE INSERT, UPDATE, DELETE, REFERENCES, TRIGGER, CREATE, DROP, ALTER FROM new_user;
```
6. **保存更改**:
最后记得提交事务,或者关闭会话并重启,以使更改生效。
阅读全文