数据库连接方式:驱动连接和客户端连接
驱动连接 : 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的更多相关文章

  1. Oracle用户和模式,表空间

    oracle 用户与表空间关系 oracle用户与表空间关系用户=商家表=商品表空间=仓库1. 1个商家能有很多商品,1个商品只能属于一个商家2. 1个商品可以放到仓库A,也可以放到仓库B,但不能同时 ...

  2. 数据库的连接、会话与SQLite

    通俗来讲,会话(Session) 是通信双方从开始通信到通信结束期间的一个上下文(Context).这个上下文是一段位于服务器端的内存:记录了本次连接的所有相关状态和运行数据. 连接(Connecti ...

  3. .net(C#数据库访问) Mysql,Sql server,Sqlite,Access四种数据库的连接方式

    便签记录Mysql,Sql server,Sqlite,Access四种数据库的简单连接方式 //using MySql.Data.MySqlClient; #region 执行简单SQL语句,使用M ...

  4. Vmare虚拟机网络连接方式桥接模式+桥接模式+主机模式

    虚拟机网络连接模式 最近在学习虚拟机和计算机网络,在网上看了一些关于虚拟机网络连接方式的介绍 这篇文章写的不错:https://www.cnblogs.com/luxiaodai/p/9947343. ...

  5. postgresql 数据库,模式,表空间的关系

    数据库与模式模式(schema)是对数据库(database)逻辑分割在数据库创建的同时,就已经默认为数据库创建了一个模式--public,这也是该数据库的默认模式.所有为此数据库创建的对象(表.函数 ...

  6. Oracle数据库基本知识-原理,实例,表空间,用户,表

    1.数据库原理及sql 数据库:是人们存放数据,访问数据,操作数据的存储仓库. DB:数据库,按存储结构来组织,存储和管理的数据仓库 DBMS:数据库管理系统,管理数据库的软件 SQL:结构化查询语言 ...

  7. win10系统下,开启数据库远程连接方式

    右键左下角的windows标志,选择控制面板 2.查看方式修改为大图标 3.选择高级设置 4.新建入站规则 5.选择端口然后下一步 6.选择tcp协议,端口输入80,3306 7.选择允许连接 8.规 ...

  8. Oracle数据库(实例)删除用户和表空间

    删除用户drop user IMPLOCAL cascade; 删除表空间drop tablespace IMPLOCAL including contents and datafiles casca ...

  9. 【HICP Gauss】数据库 数据库管理(数据库对象 表空间 索引 序列 分区 视图)-8

    什么是数据库对象 数据库对象包括 表 索引 分区 视图 序列 同义词 数据库支持对象存储过程 自定义函数 触发器 表空间 高级包 表 数据库中的数据结构 存储数据以及描述数据间的关系 表由行和列组成 ...

随机推荐

  1. npm link用法总结

    npm link用来在本地项目和本地npm模块之间建立连接,可以在本地进行模块测试 具体用法: 1. 项目和模块在同一个目录下,可以使用相对路径 npm link ../module 2. 项目和模块 ...

  2. Docker使用 - 容器

    查看容器 命令:docker  ps  [options] options有: -a:查看所有容器,包含不在运行中的(不带-a参数,是只显示运行中的容器) -q:只显示容器ID -s:多加一列来显示总 ...

  3. {Redis}NOAUTH Authentication required. Linux.cenOS

    问题 [root@VM_0_12_centos redis]# ./bin/redis-cli -p 6379 127.0.0.1:6379> INFO NOAUTH Authenticatio ...

  4. PostgreSQL的递归查询(with recursive) ,替代oracle 的级联查询connect by

    开发有需求,说需要对一张地区表进行递归查询,Postgres中有个 with recursive的查询方式,可以满足递归查询(一般>=2层). 测试如下: create table tb(id ...

  5. Jmeter通过SSHCommand测试获取Linux服务器资源文件信息

    有些时间我们想通过接口测试来获取服务器上面的某个资源文件信息,应该怎么办? 别急.... Jmeter通过ssh协议可以实现这个操作. 下面来看一下具体的实现吧. 需要提前安装好的工具: 1.按照好j ...

  6. mongo的用户角色配置

    mongo角色说明: Read:允许用户读取指定数据库 readWrite:允许用户读写指定数据库 dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建.删除,查看统计或访问system.p ...

  7. Java操作fastDFS

    一.加入Maven依赖 <dependency> <groupId>org.csource</groupId> <artifactId>fastdfs- ...

  8. lvm的一些特殊命令

    pvscan --cache # 将lvm信息同步到其他节点 ......未完待续

  9. npm 创建vue项目(指定目录进行创建)

    1.先安装node,js和npm 检验mpm 和node的方式是 npm -v  / node -v 2.安装最新版本 npm install @vue/cli -g 意外安装老版本的是代码  npm ...

  10. git pull 出现 WARNING: POSSIBLE DNS SPOOFING DETECTED!

    此时不管你是git pull 还是clone 都报错如下: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: ...