• 【HICP Gaussdb】数据库 数据库管理(文件 用户管理 系统权限 对象权限 profile)-7


    数据库运行

    依赖不同类型的文件 ,数据文件 参数文件 控制文件 redo日志文件 运行日志文件 审计日志文件等
    数据文件 就是表空间文件 存储数据库的数据文件
    参数文件 用户修改的配置信息
    控制文件 数据库最重要的文件 记录数据库的状态 表空间信息等
    redo文件 保障数据库异常退出 不丢失数据
    运行日志文件 记录数据库运行中的日志 用于问题定位
    审计日志文件 记录DDL DCL DML 等SQL命令

    参数文件位置 : /opt/zenith/app/data/cfg/zengine.ini 在数据文件的cfg目录下

    #修改 alter system checkpoint_pages = 20000 scope =both ; 
    #查看 select * from DV_parameters where name = "checkpoint_pages"

    控制文件 : 参数文件中制定控制文件位置
           control_files = /opt/zenith/data/ctrl1 /opt/zenith/data/ctrl2 /opt/zenith/data/ctrl3

           控制文件有三个副本 每次修改三个副本同时修改
           系统重启时 通过检测 某个副本损坏 尝试使用其他副本 进行加载 同时修复损坏副本
           控制文件可以指定不同路径 提高可靠性
    控制文件信息

    系统版本号 表空间列表 数据文件列表 redo文件列表 归档日志列表 系统SCN CHECKpoint 的RCY point/LRP point


    redo日志 
    WAL write ahead log 预写日志
           修改数据页面时记录redo日志
           事务提交保证redo日志写入磁盘
           通过checkpoint 后台线程将修改的数据写入磁盘
          异常恢复时通过 redo日志恢复数据
    redo日志文件状态 in-active active current redo日志循环使用
    添加redo日志 alter database add logfile('log1' size 128M)  删除redo日志 : alter database dtop logfile('log1')    DV_LOG_FILES 视图

    归档日志归档日志是redo日志的副本
    当redo日志 从active状态变成in-active 将数据写入磁盘后,还需要生成对应的归档文件
    主备环境主机redo复用
    备机是通过主机的redo日志文件重演恢复数据 如果主机redo复用后备机需要 通过归档日志来恢复数据
    物理备份中redo复用
    物理备份时数据库还能继续使用 会产生新的redo日志 如果redo复用后 需要将归档日志也备份 用来保障可以恢复到备份时的一致数据
    归档模式只能在mount模式下设置
    alter database archivelog/noarchivelog
    归档路径设置
    LOG_ACHIVE_DEST_1 = LOCATION = /opt/zenith/data/achive_log
    max_arch_files_size 归档日志占最大空间
    arch_clean_ignore_backup 归档清理忽略备份
    arch_clean_igone_standby 归档清理忽略备机

    参数配置演示

    # 修改 max_arch_files_size 制定scope=pfile 制定下次重启生效 
    zsql sys/sys@127.0.0.1:1611 select name,value,isdefault,effective from dv_parameters where name = 'max_arch_files_size' alter system set max_arch_files_size = 32G scope=pfile select name,value,isdefault,effective from dv_parameters where name = 'max_arch_files_size'
    # 添加三个redo文件 
    alter database add logfile('log4' size 64M , 'log5' size 128M , 'log6' size 256M)
    select id,status,file_name,bytes from dv_log_files
    # 删除redo日志文件 
    alter database drop logfile("log4")

     

     

    数据库用户管理
    数据库用户 角色 权限的介绍

    用户: 连接数据库 访问数据库对象 执行SQL语句
    角色:角色是一组命名的权限集合 数据库使用角色进行权限组织和划分
    意义: 权限分组 并授予角色 可以将角色授予用户 相当于批量授予权限
    注意: 角色在系统中唯一 角色名不能重复 不能登录和执行sql语句 不属于用户

    权限:执行特定sql语句 以及访问或维护某一对象的能力
    权限类型: 系统权限 对象权限

    用户权限角色的关系
    可以定义角色进行权限的组织和划分 角色赋予其他角色 其他角色拥有此角色所有权限 角色的权限可以继承

    模式:schema 是对象的集合 由数据库拥有 并与用户具有相同的名称
    模式对象包括: 表 视图 索引 序列 同义词 触发器

    用户和模式的关系 : 每个用户有独立的模式 名字和用户相同 创建时对应的模式同时被创建

    系统预置用户
    SYS 系统初始超级管理员用户 最高权限
    PUBLIC 公共用户 无法登陆到数据库 如果授权给public一个权限 就会授权给所有用户此权限
    系统预置角色
    DBA 系统管理员 系统所有权限
    RESOURCE 创建基础对象角色 创建存储过程 创建序列 创建表 创建触发器权限
    CONNECT 连接数据库权限
    STATISTICS 统计角色 创建删除 查看WSR权限 生成WSR报告权限

    # 自定义用户创建
    create user username identified by "passwd" default tablespace tablespace1; # 设置表空间 
    create user username identified by "passwd" account lock ; # 账户锁定不等登录 
    # 修改用户 
    alter user 需要有alter user的系统权限 如果用户不存在会报错 
    # 修改密码 
    alter user usernmae identified by "password" replace "PASSWD"
    # 修改表空间 
    alter user username default tablespace tablespace_t;
    # 修改锁定状态 
    alter user username account unlock;
    # 删除用户 #强制删除数据库对象 
    drop user if exists username cascade; 
    # 创建自定义角色 #删除自定义角色
    create role role_name ; drop role role_name
    
    DB database DV data_view 

     

    系统权限
    用户对系统操作的能力 可以执行一定的sql语句
    SYS 与DBA角色 拥有所有系统权限 支持通过角色 继承进行系统权限管理
    create session 连接数据库 create user 创建新用户 alter user 修改用户 drop user 删除用户 create role 创建角色
    drop any role 删除任意角色 alter system 修改系统信息 grant any privilege 授予收回系统权限 grant any role 授予角色
    grant any object privilege 授权任意用户的对象权限

    对象权限
    对数据库对象有执行操作的能力 可以访问或维护某一特定的对象 表 视图 序列 索引 存储过程等
    SYS和DBA拥有该对象的所有权限
    select 查询 delete 删除数据 upadte 更新数据 alter 更新对象定义 insert 插入 index 创建索引 references 外键约束

    系统权限 角色授权
    满足条件 :
    with admin option / grant any privileges系统权限 ---> 授权系统权限
    with admin option / grant any role系统权限 ----> 授权角色

    grant create session to username WITH ADMIN OPTION ; # 授权连接 和授权权限
    grant teacher TO username ; # 授权teacher 角色

    授权角色对象权限
    条件:
    with grant option / grant any object privileges 并且是该对象的创建者
    grant select on table1 to username with grant option ;

    回收 revoke
    条件:
    with admin option / grant any privileges 回收系统权限 with admin option / grant any role系统权限 ----> 授权角色
    revoke create session from username / revoke teacher from usernmae

     

    Profile
    profile 是配置档案 包含一组资源和密码策略
    profile可以通过DDL 语句 create user 或 alter uer 赋予用户
    profile 赋予用户后 数据库就要按照profile的规定来 限制用户的资源使用

    failed_login_attempts 最大登录次数 默认10次
    password_life_time 允许密码使用天数 默认180天
    password_lock_time 超过失败次数之后锁定时间 默认1天
    password_grace_time 密码失效天数 告警 默认7天
    password_reuse_time 密码在多少天内不能重复使用 ulimited
    password_reuse_max 指定了当前密码被重用之前密码改变的次数 ulimited
    session_per_user 制定了每个用户的连接数 连接数必须小于连接池 ulimited

    profile 将profile赋予用户 不会影响当前会话 只能赋予用户 如果创建时为赋予profile 则使用默认profile
    系统默认profile

    # 自定义profile 
    create profile pro_common limit passwd_grace_time 10 password_lock_time default password_lift_time unlimited ; 
    # 修改profile 
    alter profile pro_common limit password_life_time 30; 
    # 删除profile 删除后会默认绑定default profile 如果绑定profile 需要加上cascade
    alter profile pro_common cascade;
    # 赋予profile
    alter user username profile pro_common;
    

      

  • 相关阅读:
    jmap之使用说明与JVM配置
    Linux之tomcat日志管理
    服务器连接数与资源监控
    Git命令之资源
    状态机
    分布式之消息系统架构
    Memcache之内存分配机制
    LRU算法
    Linux(Ubuntu)之设定开机自启动
    mysql 查询 优化
  • 原文地址:https://www.cnblogs.com/oscarli/p/12067705.html
Copyright © 2020-2023  润新知