![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
oracle
oracle
八戒取经路
“昨夜西风凋碧树,独上高楼,望断天涯路。” (晏殊《蝶恋花》)(知其然知其所以然)
展开
-
ORACLE动态获取过去7天的日期SQL
SELECT (TRUNC(SYSDATE - 6) + ROWNUM - 1) AS DAYNAME FROM DUAL CONNECT BY ROWNUM <= 7原创 2019-10-24 15:39:07 · 3350 阅读 · 0 评论 -
oracle 安装时到86%左右会出现一个错误:Error in invoking target 'agent nmhs' of makefile '/u01/oracle/product/11.2.
oracle 安装时到86%左右会出现一个错误:Errorininvoking target'agent nmhs'of makefile'/u01/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'解决方案:保留安装过程,另外开启一个终端窗口,将ins_emagent.mk文件中的(MK_EMAGENT_NMECTL)...原创 2019-05-06 18:44:00 · 1220 阅读 · 1 评论 -
oracle11G归档日志管理
此前一直对orale的归档日志管理的细节存在疑惑,今天抽空总结一下一、常用日志查询语句select * from v$flash_recovery_area_usage; --查看空间占用率,如果 ARCHIVED LOG 超过90%,Oracle随时有宕机的危险select * from v$recovery_file_dest; --查看归档日志大小及使用情况select g...原创 2019-05-03 16:24:07 · 18439 阅读 · 0 评论 -
如何查看一个oracle用户具有的权限和角色
之前之一对oracle内部的角色和权限管理很乱,空余之时总结一下:oracle的权限分为两种: 系统权限:对oracle的操作权限,例如连接、授权等 对象权限:对oracle的dba_object的权限,例如对表、触发器、存储过程等的CRUD的权限1.查看所有用户涉及到的表:...原创 2019-05-03 15:05:06 · 44167 阅读 · 2 评论 -
centos7 下 Oracle sqlplus 无法使用回车键及上下键
一、原因说明CentOS7安装好Oracle 11gR2后,使用sqlplus操作数据库,进行回车修改或者上下键翻页的时候会提示诸如【^[[A^H^[[3~^[[3~】的符号。二、解决方法2.1 安装依赖:~]#yum install readline-devel2.2 下载源码包目前rlwrap最新版为rlwrap-0.43。下载地址:https://git...转载 2019-05-03 14:05:17 · 1061 阅读 · 0 评论 -
Oracle查看用户密码过期,修改永不过期
Oracle查看用户密码过期,修改永不过期 问题总在解决的时候提及,解决在思考中!01、查看当前open用户select username,account_status,expiry_date,profile from dba_users;02、查看目前的密码过期策略select * from dba_profiles s where s.profile='DEFAULT' ...转载 2019-04-23 11:04:02 · 5127 阅读 · 0 评论 -
Checkpoint not complete解决思路
Checkpoint not complete解决办法某测试环境开发人员反应执行sql注入脚本的时候,数据库hang住,环境为12.2的rac解决问题思路先查看下top根据相应占用资源的pid查询sqladdr;再根据sqladdr找出对应的sqlid,最后通过sqlid找到相关sql通过相关sql发现是大量insert语句,并且没有append的hint,并且没有no...转载 2019-03-19 10:59:01 · 641 阅读 · 0 评论 -
recover tablespace /database出现错误ORA-10561: block type 'TRANSACTION MANAGED DATA BLOCK', data object#
ORA-10561: block type 'TRANSACTION MANAGED DATA BLOCK', data object# 94252错误原因:重做日志和数据块不一致导致的问题。问题欢迎过程: 1.首先我对表空间进行了一次备份backup tablespace t1 2.模拟表空间的数据文件丢失rm -f xxx.dbf 3.强制关闭数据库...原创 2019-03-13 18:27:06 · 1852 阅读 · 0 评论 -
oracle在使用expdp迁移数据时候对象报错,使用存储过程批量编译数据库对象
最近expdp迁移数据后,大量视图同义词失效,单个编译麻烦死,生成存储过程批量编译,方便,快捷。1.批量编译存储工程的存储过程create or replace procedure compile_invalid_procedures( p_owner varchar2 -- 所有者名称,即 SCHEMA) as--编译某个用户下的无效存储过程 str_sq...转载 2019-05-07 09:54:00 · 303 阅读 · 0 评论 -
Oracle数据表的高水位线回收的经典案例(回收表段空间)
一、前言在oracle中如果有一张表有一亿条数据,使用delete语句删除了其中的5000万条数据,那么此时表段的高水位线hwm是不会回收的,也就是该表的空间不会释放,仅仅是段内数据变稀疏了;那么如何解决此类问题?二、验证2.1 查询表中的段空间占用情况(总的表占用了1399586816 byte的空间)select s.BYTES/1024/1024,s.* from user...原创 2019-09-27 16:58:20 · 2598 阅读 · 0 评论 -
truncate 表时候出现 ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效,delete表的数据无法删除掉
问题描述:truncate 表时候出现 ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效,delete表的数据无法删除掉解决步骤:SQL> truncate table uf_receiver;truncate table uf_receiver第 1 行出现错误:ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源...原创 2019-08-29 16:38:03 · 6116 阅读 · 0 评论 -
ORACLE11G开启数据库闪回
准备:首先必须按照完毕Oracle11g数据库产品及数据库;其次当前数据库的闪回是关闭的。开始实验:检查数据库的闪回状态(我这是关闭的)SQL> select FLASHBACK_ON from v$database;FLASHBACK_ON------------------NO 2.检查闪回相关的参数情况(可以看到我的闪回区参数值是空的,闪回区大小也没有指定...原创 2019-07-27 11:35:18 · 846 阅读 · 0 评论 -
oracle警报日志输入ORA-04021: timeout occurred while waiting to lock object ,数据库对象被锁住的解决方案
问题描述:查看警报日志中,发现错误信息输出如下:DBMS_STATS: GATHER_STATS_JOB encountered errors. Check the trace file.Errors in file /u01/app/oracle/diag/rdbms/xxx/xxx/trace/xxx_j000_17362.trc:ORA-04021: timeout occ...原创 2019-07-22 10:13:08 · 2613 阅读 · 0 评论 -
PL/SQL DEVELOPER配置服务命名的方式登录远程数据库
一、目标:在使用pl/sql developer 工具远程连接数据库时,使用服务命名方式二、前提:成功案例了pl/sql developer 工具三、配置过程:1.在pl/sql developer安装目录下创建network/admin,创建结果:D:\software\PLSQLDeveloper\instantclient_11_2\network\admin2.将o...原创 2019-07-19 00:02:22 · 1009 阅读 · 0 评论 -
oracle11g使用DG实现主从------亲自试验记录
1.主库打开强制日志模式 select force_logging from v$database; alter database force logging;2.主库归档模式 alter database archivelog;3.修改主库的本地归档路径 mkdir -p /oralog/orcl/archivelog SQL> alter ...原创 2019-06-03 14:50:04 · 177 阅读 · 0 评论 -
oracle日常巡检--检查oracle数据库性能
概述昨天分享了日常巡检的第一部分内容,偷个懒就续一下,哈哈,这里主要介绍第二部分内容:检查oracle数据库性能。检查oracle数据库性能这里包含:检查数据库的等待事件,检查死锁及处理,检查cpu、I/O、内存性能,查看是否有僵死进程,检查行链接/迁移,定期做统计分析,检查缓冲区命中率,检查共享池命中率,检查排序区,检查日志缓冲区,总共十个部分。1、检查数据库的等待事件se...转载 2019-05-29 09:59:33 · 8286 阅读 · 1 评论 -
分享一个实用脚本--获取最近一个月redo 日志切换情况
概述很多时候我们想分析数据库在哪个时间段日志切换比较频繁,是否存在异常,可以怎么看呢?之前分享了一个脚本是看每天归档日志的数据量,并没有具体时间段,下面分享一个脚本来查看具体时间段的redo日志切换情况获取redo日志切换频率获取redo日志信息:获取redo 日志切换频率脚本如下:alter session set nls_date_format='YYYY-MM-DD...转载 2019-05-29 09:49:12 · 305 阅读 · 0 评论 -
rman启动伪实例恢复参数文件报错
错误描述:RMAN-04014: startup failed: ORA-04031: unable to allocate 1048608 bytes of shared memory ("shared pool","unknown object","sga heap(1,0)","row cache")问题原因:RMAN-03002:在07/08/2010 20:45:19启动命令失败...原创 2019-03-13 14:42:43 · 1052 阅读 · 0 评论 -
使用正常实例恢复异常实例参数文件RMAN-06564: must use the TO clause when the instance is started with SPFILE
数据库有多个实例,使用正常实例恢复异常实例的参数文件RMAN> restore spfile from '/home/oracle/spfilebak.old';Starting restore at 12-MAR-19using target database control file instead of recovery catalogallocated channel: ...原创 2019-03-12 18:31:50 · 3210 阅读 · 0 评论 -
oracle11g安装完毕添加监听配置以及配置远程连接
1. 下载oracle11.0.4.0产品,解压两个安装包,会自动合并为database文件夹2.点击安装程序进行安装3.先安装oracle产品,刚开始安装不用安装实例(速度会比较快)4.安装完毕产品后,使用向导安装oracle实例及数据库4.安装完毕数据库后,此时无监听程序,以及实例不能远程连接,需要打开netmanager进行配置此时会在ORACLE_HOME/NE...原创 2018-11-19 12:03:12 · 16310 阅读 · 0 评论 -
ORA-28001: the password has expired
Oracle提示错误消息ORA-28001: the password has expired,是由于Oracle11G的新特性所致, Oracle11G创建用户时缺省密码过期限制是180天(即6个月), 如果超过180天用户密码未做修改则该用户无法登录。 Oracle公司是为了数据库的安全性默认在11G中引入了这个默认功能,但是这个默认的功能很容易被DBA或者是开发人员给疏忽,一旦密码180天未...原创 2018-11-05 14:45:59 · 155 阅读 · 0 评论 -
ORACLE创建一个只读用户
1. 打开sqldeveloper工具,在左边的菜单里找到Users,右键Users文件夹→新建2. 填写新建用户的相关信息,默认表空间可以自己定义3.为用户授予角色权限为connect resource4. 为用户授予系统权限5.保存后使用新建的用户登录,例如为DEMO用户创建QIXL用户,在创建完毕用户以后,使用QIXL用户登录,访问DEMO用户的表通过sele...原创 2018-11-07 22:03:02 · 16805 阅读 · 0 评论 -
pl/sql导入Excel数据
ODBC导入器1.准备Excel导入数据 jc.xls2.在数据库里建一张jc表(FLH、MLH、ND、DAL、LJ字段)3.打开pl/sql,如下图操作 用户/系统DSN里有三项,这里我们需要选择第二项Excel Files,输入要导入的数据库 用户名、密码 上图添加好excel后需要在来自ODBC的数据源页签中的导入表这个框内选中对应的Excel文件,然后切...原创 2018-07-26 09:37:51 · 4236 阅读 · 0 评论 -
rman使用
浪而不荡博客园首页新随笔联系订阅管理Oracle RMAN备份与还原 RMAN在数据库服务器的帮助下实现数据库文件、控制文件、数据库文件与控制文件的映像副本、归档日志文件、数据库服务器参数文件的备份。 RMAN的特点:(1) 支持增量备份:传统的exp与expdp备份工具,只能实现一个完整备份而不能增量备份,RMAN采用备份级别实现增量备份,在一个完整的备份基础上采用增量备份可以大大减少备...转载 2018-07-05 23:55:12 · 1053 阅读 · 0 评论 -
Oracle 调整SGA、PGA大小
SQL> show parameter sga;SQL> alter system set sga_max_size=4096M scope=spfile;System altered.SQL> alter system set sga_target=4096M scope=spfile;System altered.如果是RAC环境,需要这样增加sid='*':alter sy...转载 2018-06-30 13:59:50 · 5167 阅读 · 0 评论 -
RMAN自动清理归档日志
当oracle归档日志满了后,将无法正常登入oracle,需要扩充空间或删除一部分归档日志。一.首先删除归档日志物理文件,归档日志一般都是位于archive目录下。建议操作前先对数据库进行备份,删除时至少保留最近几天的日志用于数据库恢复。二.删除归档日志的物理文件后即可正常登入oracle,但是还没有吧归档日志删除干净,oracle的control file里面仍然记录着这些archivelog的...原创 2018-06-25 18:29:39 · 1587 阅读 · 0 评论 -
ORACLE11G在shutdown immediate的时候卡死ctrl+c终止命令后发现再连接数据库后无法关闭也无法启动解决方案
在生产库中遇到这样的一个问题,执行shutdown immediate命令的时候发现执行很慢可能是卡死了,然后我按了ctrl+c结束命令,并退出,之后我用sqlplus / as sysdba 连接进去的时候想要使用shutdown immediate发现关闭不了了出现如下错误,错误及解决方案如下:问题:Oracle:ORA-24324: 未初始化服务句柄 ORA-24323: 不允许此值 O...原创 2019-02-18 23:06:57 · 9525 阅读 · 0 评论 -
oracle在mount下关闭归档模式提示如下错误 ORA-38774: cannot disable media recovery
1.问题描述:在mount状态下,关闭归档模式出现如下错误SQL> alter database noarchivelog;alter database noarchivelog*ERROR at line 1:ORA-38774: cannot disable media recovery - flashback database is enabled2.根据提示信息,当...原创 2019-03-08 14:24:32 · 1226 阅读 · 0 评论 -
ORA-01940: cannot drop a user that is currently connected
删除数据库用户的时候经常会遇到这样的错误;ORA-01940: cannot drop a user that is currently connected原因是有程序在连接我们需要删除的用户,我们删除用户之前一定要先把连接断掉;1、查找帐号下哪些连接在运行:SELECT SID,SERIAL# FROM V$SESSION WHERE USERNAME='USERNAME';...转载 2019-03-20 22:34:49 · 745 阅读 · 0 评论 -
pdksh安装出现 Failed dependencies: pdksh conflicts with ksh-20060214-1.7.i386
对于pdksh软件包,可从以下URL下载:ftp://fr2.rpmfind.net/linux/PLD/dists/ac/ready/i686/pdksh-5.2.14-33.i686.rpm由于该包中设定的sh的符号联接及man文档与bash软件包冲突,需要使用以下方法安装:# rpm -iv --replacefiles pdksh-5.2.14-33.i686.rpmpd...转载 2019-03-20 22:30:22 · 664 阅读 · 0 评论 -
虚拟机扩容+迁移oracle的数据文件实验
说明:在数据库服务器的磁盘空间不足的情况下,需要扩展磁盘空间,并将oracle的数据文件移动到新的空间中,从而达到腾出磁盘空间的目的--0.在虚拟化管理界面上,为虚拟机添加一块新的磁盘--1.没有添加磁盘前系统的分区情况Disk /dev/sda: 32.2 GB, 32212254720 bytes255 heads, 63 sectors/track, 3916 cylinder...原创 2019-03-10 13:45:26 · 225 阅读 · 0 评论 -
使用expdp/impdp传输表空间实验
声明,本实验使用一台机器,两个实例来模拟表空间传输。传输表空间的有点:dump出的是表空间的一些元数据信息,提交非常小,导出非常快,同时在恢复时候导入也非常快,至于时间的花费,大概就是用在拷贝表空间对应的数据文件上吧。----源库 prodSQL> select name from v$tablespace;NAME----------------------------...原创 2019-03-09 23:23:35 · 372 阅读 · 0 评论 -
PLSQL调试存储过程无法进入单步调试
使用PLSQL工具调试存储过程的时候,不管你怎么设置断点,当你点击测试的时候就瞬间执行而过你无法进入单步调试解决办法:选中调试的存储过程,右键,看看Add debug information前面如果打了一个小√,这个时候就可以进行调试了右键存储过程选Test...原创 2019-03-14 15:15:48 · 7902 阅读 · 4 评论 -
使用PL/SQL Developer查看执行计划,及分析执行计划结果
使用plsql执行计划进行sql调优(转载)一段SQL代码写好以后,可以通过查看SQL的执行计划,初步预测该SQL在运行时的性能好坏,尤其是在发现某个SQL语句的效率较差时,我们可以通过查看执行计划,分析出该SQL代码的问题所在。那么,作为开发人员,怎么样比较简单的利用执行计划评估SQL语句的性能呢?总结如下步骤供大家参考:1、 打开熟悉的查看工具:PL/SQL Develop...转载 2019-03-09 16:51:30 · 13991 阅读 · 0 评论 -
oracle索引及分析
通过实验来说明oracle的数据库索引实验1:create table b0806 as select * from dba_objects;create index ind_b0806 on b0806(object_id);set autotrace traceonly;select object_id from b0806 ;实验结果:进行了全表扫描而没有走索引:---...原创 2019-03-09 16:41:47 · 188 阅读 · 0 评论 -
oracle11G关闭启动归档模式并指定归档日志存储路径
一:关闭数据库归档模式 将数据库启动到mount状态,查看当前归档模式状态,关闭归档模式SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> startup mount;ORACLE instance started.Total...原创 2019-03-08 15:36:54 · 1364 阅读 · 0 评论