首页主机资讯Ubuntu Oracle权限设置如何进行

Ubuntu Oracle权限设置如何进行

时间2025-12-05 15:39:04发布访客分类主机资讯浏览1494
导读:Ubuntu 上 Oracle 权限设置实操指南 一 系统层权限准备 创建操作系统用户与组,用于隔离安装与运行权限: 创建组:oinstall(软件属主)、dba(管理员) 创建用户:oracle,主组为 oinstall,附加组为 d...

Ubuntu 上 Oracle 权限设置实操指南

一 系统层权限准备

  • 创建操作系统用户与组,用于隔离安装与运行权限:
    • 创建组:oinstall(软件属主)、dba(管理员)
    • 创建用户:oracle,主组为 oinstall,附加组为 dba
    • 设置密码:passwd oracle
  • 创建 Oracle 基目录并修正属主与权限(示例:/u01/app/oracle
    • 目录建议:/u01/app/oracle/u01/app/oradata
    • 权限建议:目录属主 oracle:oinstall,权限 755/775(按最小权限原则细化)
  • 设置内核参数与资源限制(示例为 Oracle 11g XE 常用值,按实际内存与版本调整)
    • 内核参数:fs.file-max=6815744kernel.sem=250 32000 100 128kernel.shmmax=4163487744net.core.rmem_default=262144net.core.rmem_max=4194304net.core.wmem_default=262144net.core.wmem_max=1048576fs.aio-max-nr=1048576net.ipv4.ip_local_port_range=9000 65000
    • 资源限制(/etc/security/limits.conf):oracle soft/hard nproc 2047/16384soft/hard nofile 1024/65536soft stack 10240
    • 使内核参数生效:sudo sysctl -p
  • 说明:以上为 Ubuntu 上安装与运行 Oracle 的常见前置条件,能避免后续“权限不足/资源受限”等问题。

二 数据库层权限配置

  • 以管理员身份登录数据库:
    • 命令:sqlplus / as sysdba
  • 创建业务用户与默认表空间(示例用户:appuser,表空间:app_ts
    • 创建表空间:
      • CREATE TABLESPACE app_ts DATAFILE ‘/u01/app/oradata/app_ts01.dbf’ SIZE 500M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
    • 创建用户并指定默认表空间与临时表空间:
      • CREATE USER appuser IDENTIFIED BY StrongPass_01 DEFAULT TABLESPACE app_ts TEMPORARY TABLESPACE temp;
  • 授予最小必要权限(按“最小权限原则”分配)
    • 登录权限:GRANT CREATE SESSION TO appuser;
    • 对象创建:GRANT CREATE TABLE, CREATE VIEW, CREATE SEQUENCE, CREATE PROCEDURE TO appuser;
    • 表空间配额(更安全的替代“无限配额”):ALTER USER appuser QUOTA 500M ON app_ts;
    • 如确需放开:GRANT UNLIMITED TABLESPACE TO appuser; (谨慎使用)
  • 对象级授权与回收
    • 授予某表的查询权限:GRANT SELECT ON schema.table TO appuser;
    • 授予跨用户对象权限:GRANT SELECT, INSERT, UPDATE, DELETE ON schema.table TO appuser;
    • 回收权限:REVOKE privilege ON schema.table FROM appuser;
  • 角色与系统权限
    • 授予 DBA(仅限受控场景):GRANT DBA TO appuser;
    • 撤销:REVOKE DBA FROM appuser;
  • 常用查询
    • 查看当前用户系统权限:SELECT * FROM user_sys_privs;
    • 查看对象权限:SELECT * FROM user_tab_privs; SELECT * FROM user_col_privs;
  • 提示:生产环境避免使用 GRANT DBAUNLIMITED TABLESPACE,按业务最小权限分配,并通过角色统一管理。

三 监听器与远程访问权限

  • 启动/停止监听器(以 oracle 用户执行):
    • 启动:lsnrctl start
    • 停止:lsnrctl stop
    • 状态:lsnrctl status
  • 远程访问与安全
    • 监听端口:默认 1521;如需对外访问,确保云安全组/防火墙放行 TCP 1521
    • 如需限制本地执行管理命令,可通过 sudoers 精细化授权(示例:允许 oracle 无密执行 lsnrctl)
      • 执行:sudo visudo
      • 添加:oracle ALL=(ALL) NOPASSWD: /u01/app/oracle/product//dbhome_/bin/lsnrctl
  • 说明:Ubuntu 上可直接使用 lsnrctl 管理监听;如需更严格的系统级管控,可结合 sudoers/ACL/AppArmor 实现命令级授权与访问控制。

四 快速验证与常见问题

  • 验证清单
    • 系统层:检查目录属主与权限(如 /u01oracle:oinstall)、内核参数与 limits 是否生效
    • 监听层:lsnrctl status 能看到监听端口 1521 与实例
    • 数据库层:以新建用户登录(sqlplus appuser/StrongPass_01),执行 SELECT 1 FROM DUAL;
  • 常见报错与处理
    • 登录被拒(ORA-01045):缺少 CREATE SESSION,执行:GRANT CREATE SESSION TO appuser;
    • 创建表失败(ORA-01950):对表空间无配额,执行:ALTER USER appuser QUOTA 500M ON app_ts; 或临时:GRANT UNLIMITED TABLESPACE TO appuser;
    • 权限不足/命令不可用:确认以 oracle 用户执行,或按需配置 sudoers 授权
  • 运维建议
    • 定期审计用户权限与对象授权,回收不再使用的权限
    • 避免使用 PUBLIC 授予广泛权限,遵循最小权限原则。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Oracle权限设置如何进行
本文地址: https://pptw.com/jishu/764800.html
Ubuntu下如何进行PyTorch模型的版本控制 如何监控Ubuntu Oracle的性能指标

游客 回复需填写必要信息