oracle表空间

Oracle配置管理

ⅰ亾dé卋堺 提交于 2019-12-17 20:31:47
博文结构 配置和连接数据库 控住文件的管理 日志文件的管理 归档日志的管理 数据字典 一.配置数据库 在实际生产环境中, Oracle 一般都是通过远程方式进行管理及维护, Oracle 远程操作除了对客户端工具的使用外,它的通信原理也是需要掌握的。 Oracle客户端与服务器端 无论是使用SQL*Plus工具还是使用第三方工具连接远程数据库,都必须建立客户端与服务器端 之间的连接。Oracle 提供了Oracle Net Services 组件,用于方便地配置和管理网络连接。这些组件不 需要单独安装,在安装Oracle服务器或客户端软件时会自动安装。 开启监听 [oracle@Oracle ~] $ lsnrctl start 1.Oracle Net协议 如图所示,Oracle 通过Oracle Net协议实现客户端与服务器端的连接及数据传递。Oracle Net 是同时驻留在Oracle服务器端和客户端上的一一个软件层,它封装了TCP/IP 协议,负责建立和维护客 户端应用程序到数据库服务器的连接。 2.客户端与服务器端的连接过程 在分析客户端与服务器端的连接机制之前,先要了解两个概念:一个是Oracle Net监听器,另一个是Oracle网络服务名。 案例:客户机远程连接oracle [root@oracle ~]# systemctl stop firewalld

Oracle复习总结

a 夏天 提交于 2019-12-17 03:33:36
Oracle复习总结 Oracle操作要点: 在pl\sql中进行增删改查要commit数据才能显示在cmd窗口 显示数据库名称:show parameter db_name; 查表的数据类型:describe 表名;(获取函数的信息:describe 函数名) /=run:再执行一次SQL语句,但是SQL语句块一定要搭配/,以;为执行标志 Edit:可以把刚才出错的代码在笔记本修改后保存再敲/重新执行 List:显示缓冲区内容,需要事前给目标语句标好序号,然后输入对应的行号,通常与append搭配:输入行号后输入append+追加内容 Input:可以追加多行内容,用法与append相似,但是输入input不带参数的,在行号变为ni时即可添加所需内容。结束时需要两次回车。用list显示已修改的缓冲区的内容。 Change:修改目标行的语句,change/旧语句/新语句,与list搭配。 Del:del 1 4(删除第一行和地4行之间的内容) del *结束行号(删除当前行可结束行之间) 对文件的读写: start=@+文件路径\文件名 (可以执行文件的内容) Get +文件路径\文件名(文件只能有一句话而且不能有分号):显示文本内容但不执行,用/执行。 Save+文件路径+选项(create/replace/append):保存缓冲区内容 生成报表:spool 文件路径+文件名

java基础-数据库

我的未来我决定 提交于 2019-12-16 06:54:00
数据库优化方式 Mysql的优化: 1.从代码方面就是减少表连接, 2.对数据库开启缓存, 3.也可以做读写分离, 4.还有在编码上尽可能的用等值查询, 5.建立索引,如果是模糊查询的话我们就可以采取全能索引(Lucene搜索引擎)的形式尽力索引, 6.数据量大的话分库分表建立分页查询。 oracle的优化: 1.最基本最简单的方式是减少访问数据库的次数。oracle在内部执行了许多工作,比如解析S... 2.选择最有效率的表名顺序,也将明显提升oracle的性能。 oracle解析器是按... 3.在执行SELECT子句时尽量避免使用 “*”,因为oracle在解析的过程中,会将“*... 4.可以好好利用DECODE函数,该函数可以避免重复扫描相同记录,或者重复连接相同的表。 切分查询 有时候需要将一个大的的查询拆分为多个小的查询,每个小查询的功能都一样,只完成一小部分,每次只返回一小部分的查询结果。 比如在定时删除过期数据,例如需要在每个月的最后一天12点定时删除一些过期的数据,而这个数据大概有10W左右,如果使用一个大的语句一次性完成的话,则可能需要一次锁住很多数据,耗尽系统资源,阻塞很多小的查询,但如果这个操作分为几次操作,每次只删除1W,循环10次等。 可以使用 count(*) 全表非常快的特性,转换思路,先查询 总记录数,然后在查询 id <= 100 的记录数

记一次异机rman还原后的操作

拜拜、爱过 提交于 2019-12-16 00:53:34
记一次异机rman还原后的操作 当时从主库通过rman备份到目前测试库还原之后,由于备份是在备库备份的,所以数据库还原后状态为readonly,standby_file_management参数为auto。 首先需要通过alter database clear logfile group 日志组;让数据库在磁盘创建日志文件。 出现问题1、重做日志物理文件不存在,当时日志组4状态为current,无法在readonly模式下进行更改操作。问题2、参数文件的undo表空间与控制文件的不对应 SQL> alter database rename file '/redo1/redo/redo04a.log' to '/u3/redo1/redo/redo04a.log'; alter database rename file '/redo1/redo/redo04a.log' to '/u3/redo1/redo/redo04a.log' * ERROR at line 1: ORA-01511: error in renaming log/data files ORA-01621: cannot rename member of current log if database is open ORA-00312: online log 4 thread 1: '/redo1/redo

Oracle性能监控脚本

百般思念 提交于 2019-12-14 07:35:01
Oracle性能监控脚本(sql) 1. 监控事例的等待 select event,sum(decode(wait_Time,0,0,1)) "Prev", sum(decode(wait_Time,0,1,0)) "Curr",count(*) "Tot" from v$session_Wait group by event order by 4; 2. 回滚段的争用情况 select name, waits, gets, waits/gets "Ratio" from v$rollstat a, v$rollname b where a.usn = b.usn; 3. 监控表空间的 I/O 比例 select df.tablespace_name name,df.file_name "file",f.phyrds pyr, f.phyblkrd pbr,f.phywrts pyw, f.phyblkwrt pbw from v$filestat f, dba_data_files df where f.file# = df.file_id order by df.tablespace_name; 4. 监控文件系统的 I/O 比例 select substr(a.file#,1,2) "#", substr(a.name,1,30) "Name", a.status, a

ORACLE-段收缩

风格不统一 提交于 2019-12-13 01:59:39
实验环境 1、oracle 11g 2、 登录用户system 基本概念 收缩段:当一个段被收缩时,段中的数据被压缩,高水线(HWM)下移,并且磁盘空间被释放给包含此段的表空间。 段收缩=数据压缩+HWM下移 稀疏填充段:即一个实际使用的空间远小于实际分配给它的空间的段。 行迁移(行移动):收缩表的操作可能会造成表中数据行的ROWID的改变,故在执行一个表的收缩操作之前必须开启这个表的行移动功能。 注:有关高水线的内容可参考另一篇博文。 作用 1、当表空间的空闲空间不足时,可通过收缩段,释放磁盘空间使得表空间的空闲空间增加。 2、当一个对象实际使用的空间比分配给它的空间小得多的时候,可能需要回收那些没有用的磁盘空间。 3、收缩稀疏填充段,有利于全表扫描和DML操作。因为在收缩段后,需要查看的数据块少了。 收缩段的步骤 实验前,查看下测试表ex的情况。 select * from scott . ex ; select blocks from dba_segments where owner = 'SCOTT' and segment_name = 'EX' ; select num_rows , blocks , empty_blocks from dba_tables where owner = 'SCOTT' and table_name = 'EX' ; 高水线=4608

MySQL和Oracle的区别

痞子三分冷 提交于 2019-12-13 00:00:52
由于SQL Server不常用,所以这里只针对MySQL数据库和Oracle数据库的区别 (1) 对事务的提交 MySQL默认是自动提交,而Oracle默认不自动提交,需要用户手动提交,需要在写commit;指令或者点击commit按钮 (2) 分页查询 MySQL是直接在SQL语句中写"select... from ...where...limit x, y",有limit就可以实现分页;而Oracle则是需要用到伪列ROWNUM和嵌套查询 (3) 事务隔离级别 MySQL是read commited的隔离级别,而Oracle是repeatable read的隔离级别,同时二者都支持serializable串行化事务隔离级别,可以实现最高级别的 读一致性。每个session提交后其他session才能看到提交的更改。Oracle通过在undo表空间中构造多版本数据块来实现读一致性,每个session 查询时,如果对应的数据块发生变化,Oracle会在undo表空间中为这个session构造它查询时的旧的数据块 MySQL没有类似Oracle的构造多版本数据块的机制,只支持read commited的隔离级别。一个session读取数据时,其他session不能更改数据,但 可以在表最后插入数据。session更新数据时,要加上排它锁,其他session无法访问数据 (4)

Oracle 常规ArcSDE操作

天大地大妈咪最大 提交于 2019-12-12 11:04:08
ArcSDE需要安装Oracle64位服务器端,32位客户端。使用PLSQL也需要32位客户端,要不然登录不上!!! 用户名:sys 密码:12345678 用户名:scott 密码:tiger 问题: exp与expdb区别? 在10之前,传统的导出和导入分别使用EXP工具和IMP工具,从10开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP。使用EXPDP和IMPDP时应该注意的事项: 1)EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。 2)EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。 3)IMP只适用于EXP生成文件,不能用于EXPDP导出文件; IMPDP只适用于EXPDP生成文件,而不适用于EXP生成文件。 问题: cmd命令行无法登陆oracle,报错ORA-12560。SQLPlus可以登陆。 https://www.cnblogs.com/Insein/p/6370573.html 记录: cmd命令行操作: sqlplus后输入用户名密码执行。 sqlplus scott/tiger 可直接登录scott用户。 sqlplus sys/12345678 可直接登录sys用户。 exit可以退出用户登录和退出cmd命令。 问题: sqlplus

oracle服务器硬盘磁盘空间满了

让人想犯罪 __ 提交于 2019-12-11 17:06:02
问题描述:oracle服务器硬盘磁盘空间满了,没有空间写入数据; 解决思路: a、服务器是虚拟机还是实体机? 虚拟机,->物理机上有空间直接给它扩容,再给数据库的相关表空间添加文件就可; 实体机,->确定是否还有oracle收缩磁盘硬盘插槽,能新增物理硬盘,买+接入; b、删数据以及降低高水位; 通常思路是:找占用磁盘最大的表空间TS_1,找该表空间下巨大的表tableA,删除历史数据,降低高水位(table move),缩小表空间文件,腾出空间; 1、查询 表空间各文件 --找出占用磁盘最大的表空间 --1.1、查询 表空间、以及大小 --找出占用磁盘最大的表空间 SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tablespaces t, dba_data_files d WHERE t.tablespace_name = d.tablespace_name GROUP BY t.tablespace_name order by ts_size desc; --1.2、按数据库文件查看使用情况 select /*+ ordered use_hash(a,b,c) */ a.file_id,a.file_name,a.filesize, b.freesize, (a

Oracle SYSAUX空间问题解决

旧时模样 提交于 2019-12-11 13:51:40
版本 ORACLE 11.2.0.4 通过修改了AWR收集频率之后(),发现SYSAUX表空间还是占用严重。 SELECT occupant_name"Item", round(space_usage_kbytes/1024/1024,3)"Space Used (GB)", schema_name "Schema", move_procedure "MoveProcedure" FROM v$sysaux_occupants ORDER BY 2 Desc; SM/OPTSTAT和SM/AWR都占用 20GB的空间   下面介绍一下如何清理SYSAUX表空间 一.清理SYSAUX下的历史统计信息 0. select dbms_stats.get_stats_history_retention from dual; --检查统计信息保存时间(默认应该是31天) 删除AWR有一种方式进行删除:dbms_workload_repository select dbid, retention from dba_hist_wr_control; select min(snap_id), max(snap_id)from dba_hist_snapshot where dbid = '得到的dbid值'; exec dbms_workload_repository.drop_snapshot