温馨提示×

Linux Oracle权限设置规范

小樊
47
2025-06-19 10:17:06
栏目: 云计算

在Linux系统上设置Oracle权限涉及多个步骤,包括修改系统参数、配置用户和组、设置文件权限等。以下是详细的设置过程:

修改操作系统核心参数

  • 修改 /etc/security/limits.conf 文件

    vi /etc/security/limits.conf
    

    添加以下内容:

    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    

    编辑完成后按 Esc 键,输入 :wq 存盘退出。

  • 修改 /etc/pam.d/login 文件

    vi /etc/pam.d/login
    

    添加以下内容:

    session required /lib/security/pam_limits.so
    

    编辑完成后按 Esc 键,输入 :wq 存盘退出。

  • 修改 /etc/sysctl.conf 文件

    vi /etc/sysctl.conf
    

    添加以下内容:

    fs.file-max = 6815744
    fs.aio-max-nr = 1048576
    kernel.shmall = 2097152
    kernel.shmmax = 2147483648
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 9000 65500
    net.ipv4.icmp_echo_ignore_broadcasts = 1
    net.ipv4.conf.all.rp_filter = 1
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576
    

    编辑完成后按 Esc 键,输入 :wq 存盘退出。

  • 使 /etc/sysctl.conf 更改立即生效

    sysctl -p
    
  • 修改 /etc/profile 文件

    vi /etc/profile
    

    添加以下内容:

    if [ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
            ulimit -p 16384
            ulimit -n 65536
        else
            ulimit -u 16384 -n 65536
        fi
    fi
    

    编辑完成后按 Esc 键,输入 :wq 存盘退出。

创建相关用户和组

  • 创建Oracle用户和组

    groupadd oinstall
    groupadd dba
    useradd -g dba -m oracle
    usermod -a -G oinstall oracle
    passwd oracle
    

    输入两次密码并确认。

  • 配置Oracle用户的环境变量

    切换到 oracle 用户:

    su - oracle
    vi .bash_profile
    

    增加以下内容:

    export ORACLE_BASE=/path/to/oracle/base
    

    编辑完成后按 Esc 键,输入 :wq 存盘退出。

设置文件系统权限

  • 创建目录并设置权限

    mkdir /home/oracle/app
    mkdir /home/oracle/app/oracle
    mkdir /home/oracle/app/oracle/product8
    chown -R oracle:oinstall /home/oracle/app
    chmod -R 755 /home/oracle/app
    

数据库权限管理

  • 系统权限管理

    • 授权命令:

      GRANT connect, resource TO 用户名;
      
    • 查询用户权限:

      SELECT * FROM dba_role_privs;
      SELECT * FROM dba_sys_privs;
      SELECT * FROM role_sys_privs;
      
    • 删除用户:

      DROP USER 用户名 CASCADE;
      
  • 实体权限管理

    • 授权命令:

      GRANT select, update, insert ON product TO 用户名;
      GRANT all ON product TO 用户名;
      
    • 查询用户权限:

      SELECT * FROM user_tables;
      SELECT grantor, table_schema, table_name, privilege FROM all_tab_privs;
      SELECT grantee, owner, table_name, privilege FROM user_tab_privs;
      

通过以上步骤,您可以在Linux系统上设置Oracle权限管理,确保系统的安全性和稳定性。

0