1.1 创建用户语句:
1 | create user [用户名] identified by [密码]; |
创建后一定要给用户授权
1 2 | --更改用户密码: alter user [用户名] identified by [密码]; |
1.2 删除用户
Oracle数据库中默认情况下只有SYSDBA和SYSOPER用户才能执行删除用户命令。
1 | drop user [用户名] [ CASCADE | FORCE ]; |
–当用户拥有对象时不能直接删除。CASCADE选项表示级联删除,即删除用户后,这个用户创建的对象也一并删除;FORCE参数表示强制删除用户,即无论该用户是否有创建的对象,都会被删除。
1.3 用户授权
系统默认的普通用户scott默认未解锁,不能使用,新建的用户也没有任何权限,必须授予权限。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | --授予用户创建session的权限,即登陆权限,允许用户登录数据库 grant create session to [用户名]; --授予用户使用表空间的权限 grant unlimited tablespace to [用户名]; --授予创建表的权限 grant create table to [用户名]; --授予删除表的权限 grante drop table to [用户名]; --插入表的权限 grant insert table to [用户名]; --修改表的权限 grant update table to [用户名]; --创建视图的权限 grant create view to [用户名]; --!!!授予所有权限给所有用户!!! grant all to public ; |
1.4 撤销用户权限
1 | revoke connect from user [用户名]; |
1.5 查看用户权限
1 2 3 4 | --查看指定用户的系统权限 select * from dba_role_privs where grantee= upper ( '[用户名]' ); --查看指定用户的对象权限 select * from dba_tab_privs where grantee= upper ( '[用户名]' ); |
1.6 角色
1.6.1 三种标准角色
- CONNECT角色: 是授予最终用户的,最基本的权力,能够连接到ORACLE数据库中,并在对其他用户的表有访问权限时,做SELECT、UPDATE、INSERTT等操作。
- RESOURCE角色: 是授予开发人员的,能在自己的用户下创建表、序列、视图等。
- DBA角色: 是授予系统管理员的,拥有所有的系统权限
1 2 3 4 | --将标准角色授权给用户语法: grant connect ,resource to [用户名]; --撤销授权: revoke connect ,resource from [用户名]; |
1.6.2 创建/授权/删除角色
1 2 3 4 5 6 7 8 9 | --创建角色 create role [角色名]; --授权给角色 --将创建session的权限授予角色 grant create session to [角色名]; --将创建的角色授权给用户 grant [角色名] to [用户名]; --删除角色 drop role [角色名]; |
1.7 权限查询
1 2 3 4 | --查看指定用户有哪些系统权限 select * from dba_role_privs where grantee= upper ( '[用户名]' ); --查看指定用户有哪些对象权限 select * from dba_tab_privs where grantee= upper ( '[用户名]' ); |
补充:oracle怎么用SQL将一个用户的表完整复制到另一个用户下呢
可以通过以下步骤将一个用户的表完整复制到另一个用户下:
-
在目标用户下创建一个新的表空间(如果需要)。
-
在源用户下使用CREATE TABLE AS SELECT语句来创建一个新表,该语句可以将源表的所有数据和结构复制到新表中:
1234CREATE
TABLE
target_user.new_table
AS
SELECT
*
FROM
source_user.source_table;
-
在目标用户下使用ALTER TABLE语句更改新表的所有者:
12ALTER
TABLE
target_user.new_table
OWNER
TO
target_user;
-
如果需要,可以在目标用户下使用GRANT语句授予新表的权限:
1GRANT
SELECT
,
INSERT
,
UPDATE
,
DELETE
ON
target_user.new_table
TO
other_user;
注意:在上述示例中,“source_user”是源表所在的用户,“source_table”是要复制的表,“target_user”是目标用户,“new_table”是新表的名称,“other_user”是要授予权限的其他用户。
总结
到此这篇关于oracle创建新用户以及用户权限配置、查询语句的文章就介绍到这了,更多相关oracle用户权限配置、查询内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!