【HICP Gauss】数据库 数据库管理(连接方式 会话模式 存储表空间)-6
数据库连接方式:驱动连接和客户端连接
驱动连接 : JDBC GSC ODBC 客户端连接 zsql工具
zsql / as sysdba -q #管理员身份登陆
zsql omm/passwd@127.0.0.1: -w #普通身份登陆
会话模式
会话级参数
# 设置事务提交是否等待日志写入
alter session set commit_wait_logging = { wait | nowait }; 等待 不等待
# 设置redo日志提交方式
alter session set commit_mode = { immediate | batch } 立即 批量
# 设置异常会话停止
alter system kill session 'session_id ,session_serial '; 会话ID 会话序列号
# 设置当前会话执行SQL是否会出发 trigger
alter session { enable | disable } triggle
# 开启 关闭空闲检测
alter session {enable | disable } interactive timeout ;
# 设置当前会话 插入数据/不记录redo/undo 日志
alter session { enable | disable } nologging ;
# 设置最大连接数
在 Zengine.ini 文件配置中 修改session 的值 重启数据库生效 推荐 69~8192
查看 select name, value from dv_parameters where name = "session"
存储
数据库依照 数据模型将用户数据组织起来并存放在存储介质中 可以纵向将存储分为逻辑存储和物理存储
物理存储置放着 控制文件 redo日志文件 数据文件 其他文件 等物理文件
逻辑存储主要包含 数据页 数据区 数据段 表空间 等概念
unmount --- > mount ---> normal ----> open --->restricted
加载配置文件 加载控制文件 加载redo 数据 限制
控制文件
控制文件包含 表空间 数据文件 重演日志文件 元数据入口 备份信息等
数据库启动到mount模式 会加载控制文件 对数据库相关操作会写入控制文件
控制文件为二进制文件 通过dump命令文本形式输出 可以通过DV_contral_file 查看文件大小 状态
# 将控制文件dump 为文件 保存在trc下
alter system dump ctrlfile
# 通过视图查看系统的控制文件
select * from dv_controls_files
重做日志文件 redo
WAL机制 write ahead log 在提交时不强制写 ,为了保障数据库发生故障时可以恢复 引入了redo机制
作用: redo是WAL的基石 任何写入Page到磁盘 需要保证重做日志写到磁盘
如果发生宕机事件,可以通过redo日志进行恢复
HA架构下 ,主要通过redo文件进行同步
数据库至少需要三个重做日志
log writer 结合 checkpoint 操作 循环使用多个redo日志
重做日志状态可以分为 in-active active current in-active 未使用- 已经使用- 正在使用 - 未使用
log swtich redo文件写满 切换的过程
归档日志
归档模式下,在线日志logswtich后,会将当前日志文件的数据复制到归档日志文件中
归档文件做主备复制 配合备份文件 在数据库损坏时 尽可能恢复到故障发生点
数据文件
数据文件是存储数据的物理单位 ,以文件方式持久化到存储介质上
包括文件ID 名称 大小 类型 EXTENT大小 表空间 ID和其他属性
UNDO表空间 单个数据文件最大上限是32G ,其他表空间最大单个数据文件上线是8T ,数据库最多支持1023个数据文件
数据文件是可扩展的 扩展文件大小 扩展文件个数,可以通过创建时候自动拓展策略配置
数据文件内部以默认的大小8K 的page 进行管理,并由表空间和负责空间的分配回收
单个表的数据在物理上可能回跨同一个表空间的多个数据文件
其他文件:
配置文件:用于设置数据库的运行参数 ,包括监听地址 端口号 各种buffer大小 控制文件路径等
日志系统文件: 用于输出运行过程中各种日志信息 包括运行日志 审计日志 告警日志 等不同类型日志
备份文件: 数据库备份之后行程的文件 用于数据库故障恢复
逻辑存储结构
表空间 ----> 空间区----->空间段---->空间页
若干page组成extent 若干extent组成segment 表格表至少对应一个segment
数据库划分多个逻辑上的存储单元 叫表空间 一个表空间包含多个数据文件
优化数据库分配策略
可以设置不同用户分配的空间份额
控制部分数据库的可用性
将数据分布到不同的表空间 不同存储介质 提高性能
细粒度恢复
表空间默认包含 系统表空间 用户表空间 undo表空间 临时表空间
系统表空间:数据库创建时 自动创建 用于存放系统表和元数据 用户表创建时的结构定义 索引数据 存储过程等都在系统表空间中
用户表空间:存放用户表数据和索引数据 默认表空间
undo表空间:回滚事务
临时表空间:不持久化 服务器重启后 数据会被清理 cache溢出出 会将数据dump到临时表空间
数据页
块设备存储d额概念对应 默认是8k 创建时可以指定8~32k
数据区extent
连续的page空间集合,默认表空间extent是固定的 如果不指定 是8页
数据段segment
以链表的形式组织和存储一组extent 根据不同用途 可分为 表段 索引段 回滚段 临时段
表空间管理
系统会默认创建 system temp undo user 四个表空间 用户可以根据自己需求 ,管理和自定义表空间 并且在表空间下管理自己对象
创建删除表空间 将对象创建到表空间 维护表空间
创建表空间
# 创建表空间 一个extent 128个page 并指定数据文件 datafile_name 为32M 表空间满时自动扩展10M
create tablespcace tablespace_name extents 128 datafile 'datafile_name' 32M autoextend on next 10M ;
# 删除表空间 如果表空间内还有用户对象会报错
drop tablespace tablespace_name
# 删除表空间 同时删除数据文件和对象
drop tablespace tablespace_name including contents and datafiles;
# 将对象创建到表空间
create user jessica identified by database_123 passwd expire tablespace SPC;
# 创建对象时 指定表空间
create table TB(A int) tablespace SPC;
表空间名称 tablespace_name
表空间下的数据文件信息 datafile
空间段 默认8个page extents
表空间extent自动增长 extent autoallocate
维护表空间
# 增加数据文件 单个表最大支持1000个数据文件
alter tablespace spc add datafile ‘file_new’ size 32M
# 表空间/数据文件 重命名
alter tablespace spc rename to new new_name
# 设置自动拓展 自动管理表空间大小
alter tablespace spc autoextend on next 16M maxsize 1G
# 空间回缩 回收未使用空间
alter tablespace spc shrink space keep 128M
# 表空间离线 当表空间损坏时 可以通过离线表空间保证数据正常
alter tablespace spc offline datafile “file”
表空间视图
# 查询所有表空间
select * from dv_tablespaces;
# 查询表空间使用情况
select * from DBA_tablespaces;
# 查询所有数据文件
select * from DV_DATA_FILES;
# 查询所有逻辑对象 空间区
select * from DBA_segments;
重做日志
# 创建重做日志文件
alter database add logfile("redolog1" size 1G)
# 删除redo日志
alter database drop logfile('redolog1')
# 在线切换redo日志
alter system switch logfile ;
# 切换归档模式 需要在mount下执行
alter database archivelog
# 查看redo 日志文件 DV_LOG_FILES
select * from dv_log_files
# 查看归档文件 DV_ARCHIVELOGS
select * from av_archivelogs;
数据库存储故障 :
日志系统文件损坏 不影响数据正常运行
单个控制文件损坏 可以通过备份和文件冗余机制恢复
配置文件损坏或者丢失 可以通过人工干预编辑和配置一个新的配置文件
数据文件损坏 会影响数据库正常的使用 但是可以启动到mount模式 离线此数据文件 这样不会影响其他文件使用
【HICP Gauss】数据库 数据库管理(连接方式 会话模式 存储表空间)-6的更多相关文章
- Oracle用户和模式,表空间
oracle 用户与表空间关系 oracle用户与表空间关系用户=商家表=商品表空间=仓库1. 1个商家能有很多商品,1个商品只能属于一个商家2. 1个商品可以放到仓库A,也可以放到仓库B,但不能同时 ...
- 数据库的连接、会话与SQLite
通俗来讲,会话(Session) 是通信双方从开始通信到通信结束期间的一个上下文(Context).这个上下文是一段位于服务器端的内存:记录了本次连接的所有相关状态和运行数据. 连接(Connecti ...
- .net(C#数据库访问) Mysql,Sql server,Sqlite,Access四种数据库的连接方式
便签记录Mysql,Sql server,Sqlite,Access四种数据库的简单连接方式 //using MySql.Data.MySqlClient; #region 执行简单SQL语句,使用M ...
- Vmare虚拟机网络连接方式桥接模式+桥接模式+主机模式
虚拟机网络连接模式 最近在学习虚拟机和计算机网络,在网上看了一些关于虚拟机网络连接方式的介绍 这篇文章写的不错:https://www.cnblogs.com/luxiaodai/p/9947343. ...
- postgresql 数据库,模式,表空间的关系
数据库与模式模式(schema)是对数据库(database)逻辑分割在数据库创建的同时,就已经默认为数据库创建了一个模式--public,这也是该数据库的默认模式.所有为此数据库创建的对象(表.函数 ...
- Oracle数据库基本知识-原理,实例,表空间,用户,表
1.数据库原理及sql 数据库:是人们存放数据,访问数据,操作数据的存储仓库. DB:数据库,按存储结构来组织,存储和管理的数据仓库 DBMS:数据库管理系统,管理数据库的软件 SQL:结构化查询语言 ...
- win10系统下,开启数据库远程连接方式
右键左下角的windows标志,选择控制面板 2.查看方式修改为大图标 3.选择高级设置 4.新建入站规则 5.选择端口然后下一步 6.选择tcp协议,端口输入80,3306 7.选择允许连接 8.规 ...
- Oracle数据库(实例)删除用户和表空间
删除用户drop user IMPLOCAL cascade; 删除表空间drop tablespace IMPLOCAL including contents and datafiles casca ...
- 【HICP Gauss】数据库 数据库管理(数据库对象 表空间 索引 序列 分区 视图)-8
什么是数据库对象 数据库对象包括 表 索引 分区 视图 序列 同义词 数据库支持对象存储过程 自定义函数 触发器 表空间 高级包 表 数据库中的数据结构 存储数据以及描述数据间的关系 表由行和列组成 ...
随机推荐
- matlab学习笔记13_2匿名函数
一起来学matlab-matlab学习笔记13函数 13_2 匿名函数 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 https://ww2.mathworks.cn/help/m ...
- EasyNVR网页摄像机无插件H5、谷歌Chrome直播方案之使用RTSP流判断摄像机设备是否在线以及快照抓取
背景分析 熟知EasyNVR产品的小伙伴都知道,通过纯Web化的交互方式,只要配置出摄像机的IP.端口.用户名.密码等信息,就可以将地址进行通道配置完成,即可将设备接入.如果设备支持Onvif协议,E ...
- nginx/apache静态资源跨域访问问题详解
1. apache静态资源跨域访问 找到apache配置文件httpd.conf 找到这行 #LoadModule headers_module modules/mod_headers.so把#注释符 ...
- 在fedora 31 安装docker
简介: 本来没啥特别的,但是fedora使用的cgroup版本太高,docker还没跟上来. 就简单介绍一下怎么在fedora上安装docker吧 一:回退cgroup $ sudo dnf inst ...
- git之github配置
1.安装好git以后,我们配置git秘钥,首先输入下面的命令: 2.接着上述操作,一路回车按键.如图所示:生成了秘钥,, 如下图,就是秘钥了: 3.我们打开注册好的github地址.找到ssh选项,将 ...
- 使用vs code开发.net core2.2时OmniSharp.MSBuild.ProjectLoader无法解析"xxx"的解决方法
如图: 都是常用的nuget包呢,怎么无法解析呢? 第一反应是环境问题,果断搜索,baidu.google.bing.github一顿好搜啊,竟没有找到答案,看来是掉进了一个黄金坑! 重装vscode ...
- 【linux基础】如何配置ubuntu系统为静态IP地址
前言 连接远程server重启的时候发现IP发生变化,影响远程连接,此时,需要将server配置为静态IP. 系统环境 ubuntu16.04 操作过程 1. 设置IP和DNS command sud ...
- centos7安装配置MariaDB10
1:添加 MariaDB yum 仓库 vi /etc/yum.repos.d/MariaDB.repo在该文件中添加以下内容保存: [mariadb] name = MariaDB baseurl ...
- 2017ACM/ICPC广西邀请赛 Color it
Color it Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 132768/132768 K (Java/Others)Tota ...
- 【剑指offer】和为S的连续正数序列
题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他 ...