oracle

发布于:2025-07-12 ⋅ 阅读:(15) ⋅ 点赞:(0)

oracle

默认参数设置(使用dba用户执行)

ALTER SYSTEM SET deferred_segment_creation=false;
作用:设置后导出表时候,没有数据也能导出表结构
ALTER SYSTEM SET job_queue_processes=10;
作用:控制Oracle数据库中可用于执行作业队列进程(Job Queue Processes)的最大数量。

创建用户分权限

create user mg IDENTIFIED BY "mg" -- 创建用户
ALTER USER mg IDENTIFIED BY "123"; -- 修改用户密码

GRANT CREATE SESSION TO MG; -- 会话权限

SELECT username, account_status, created FROM dba_users;

创建角色分权限

-- 创建自定义角色
CREATE ROLE table_management_role;

-- 授予创建表的权限
GRANT CREATE TABLE TO table_management_role;

-- 授予修改表结构的权限(ALTER TABLE)
GRANT ALTER ANY TABLE TO table_management_role; -- 注意:ALTER ANY TABLE 是一个强大的权限,应谨慎授予
-- 或者,如果你只想让用户修改自己拥有的表,可以授予 ALTER 权限给特定的表(这需要更细致的权限管理)

-- 授予删除表的权限
GRANT DROP ANY TABLE TO table_management_role; -- 同样,DROP ANY TABLE 也是一个强大的权限
-- 或者,对于特定的表,可以授予 DROP 权限

-- 授予创建视图的权限
GRANT CREATE VIEW TO table_management_role;

-- 授予修改视图定义的权限(ALTER VIEW)
GRANT ALTER ANY VIEW TO table_management_role; -- 谨慎授予
-- 或者,对于特定的视图,可以授予 ALTER 权限

-- 授予删除视图的权限
GRANT DROP ANY VIEW TO table_management_role; -- 谨慎授予

-- 授予修改表数据的权限(INSERT, UPDATE, DELETE)
-- 这里可以授予对特定表的权限,或者如果希望用户能修改所有表的数据,可以使用以下权限(但通常不推荐)
-- GRANT INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE TO table_management_role;
-- 更安全的做法是授予对特定表的权限
GRANT INSERT, UPDATE, DELETE ON specific_table TO table_management_role;
-- 对于多个表,可以重复上述 GRANT 语句

-- 或者,如果你希望用户能修改自己拥有的表的数据,通常不需要额外授予 INSE

网站公告

今日签到

点亮在社区的每一天
去签到