一、关于表空间的概念
关于表空间的详细介绍,请参见网址:
https://www.topunix.com/post-4374.html
1、表空间的概念
Oracle中表空间是一个或多个数据文件的集合,而数据文件实际上是存储模式对象数据的一个容器/仓库。
--一个数据库可以有多个表空间; --每个表空间都由一个或多个数据文件组成,但数据文件数量是有限的; --但每个数据文件只能属于一个表空间; --每个表空间只能属于一个数据库。
2、表空间逻辑结构
Oracle数据库管理系统并没有像其他数据库管理系统那样直接地操作数据文件,而是引入了一组逻辑结构,如图所示:
表空间逻辑结构包括:表空间,段、区、块。
上图虚线左边为逻辑结构,右边为物理结构。
在数据库Oracle数据库中,逻辑结构为 Oracle引入的结构,而物理结构为操作系统所拥有的结构表空间数据文件。
3、一张图
4、逻辑概念的理解
逻辑结构与物理结构结合。
5、表空间的种类(根据使用类型)
--永久表空间(包含:系统表空间system,辅助表空间(sysaux),用户表空间(如users,mes_prd等); --回滚段(撤销段)表空间; --临时表空间;
二、SQL语句日常使用
转:https://www.topunix.com/post-1782.html
1、常用表空间查询语句
(1)查询最大表空间容量、已扩展在用容量、已使用容量、空闲容量、使用百分比
解析:表空间容量定义.
--表空间的总容量等于所有数据文件的maxbytes(自动扩展)+bytes(非自动扩展) ,定义为maxtotal(数据来源:dba_data_files)
--表空间的扩展的容量等于所有数据文件的bytes之和,定义为total (数据来源:dba_data_files)
--表空间的已扩展的容量中有一部分空闲容量,定义为free(数据来源:dba_free_space中的free容量)
--表空间的实际空闲容量等于maxtotal-total+free的容量
select a.tablespace_name, round(maxtotal,4) as maxtotal_GB, round(total,4) as extended_Total_GB, round((total-free),4) as usage_GB, round((maxtotal-total+free),4)as free_GB,round((1-(total-free)/maxtotal)*100,4)||'%' as free_percent from (select tablespace_name, SUM(bytes)/1024/1024/1024 as total,SUM(case autoextensible when 'YES' then maxbytes else bytes+maxbytes end )/1024/1024/1024 as maxtotal from dba_data_files group by tablespace_name) a, (select tablespace_name,sum(bytes)/1024/1024/1024 as free from dba_free_space group by tablespace_name) b where a.tablespace_name = b.tablespace_name order by free_percent desc;
(2)查看那个表数据量最大
select owner,table_name,tablespace_name,num_rows from dba_tables order by num_rows desc;
(3)查看表空间和数据文件的对应关系及数据文件所在目录
SQL>set line 300; SQL>col file_name for a60; SQL> select file_name,tablespace_name,bytes/1024/1024 MB from dba_data_files;
三、备份种类/异机备份及云盘备份原理讲解
1、备份种类
(1)exp/imp(适用于10g,11g,高版本不建议)
--逻辑备份
--适合于异构平台的数据库迁移
--适合导出单表数据进行分析
--适合备份指定表或表空间备份
(2)expdp/impdp(适用于11g,12c及新版本)
--逻辑备份
--适合于异构平台的数据库迁移
--适合导出单表数据进行分析
--适合备份指定表或表空间备份
(3)rman(适用于所有版本)
--物理备份
--主要是本机使用,进行数据库的还原与恢复
--也可以进行同平台数据库的迁移(也可以进行异构平台的数据库恢复,可以恢复数据文件+归档日志,但无法恢复redolog日志)
2、本地+异机+云备份
四、异常问题处理整理
1、安全问题
端口不要开放,使用vpn。尤其是1521,3389等端口。
2、无法打开数据库安装界面
权限没有给到oracle用户,或未通过oracle创建vnc。
3、rman备份任务定时添加
crontab -l
4、数据库服务器ntp时间同步问题
/etc/ntp.conf
5、数据库升级问题
数据库上线前检查时统一进行数据库升级。
6、yum源问题
理解公有源和私有源