Oracle
文章平均质量分 53
weixin_40913898
这个作者很懒,什么都没留下…
展开
-
查看导致Oracle用户被锁的IP地址
查看导致Oracle用户被锁的IP地址原创 2022-11-14 13:31:33 · 2425 阅读 · 0 评论 -
windows平台goldgate同步oracle数据库
注:在安装goldgate之前,需要先安装好Oracle数据库,并且需要安装Microsoft Visual C++ 2005 SP1 Redistributable ,这是Windows环境下Visual C++库的运行组件。Goldgate运行的时候会用到一些库,所以不安装,可能导致“系统无法执行指定的程序”的错误。2、将下载好的GoldenGate软件放到E盘(软件的位置可自行定义),然后解压缩,然后进行E:\goldgate目录,运行ggsci,进入ogg管理控制台。原创 2022-09-28 16:01:28 · 1026 阅读 · 0 评论 -
Fatal NI connect error 12170错误解决办法
近日,在查看数据库告警日志时都发现有连续报以下错误信息:Fatal NI connect error 12170. VERSION INFORMATION:TNS for Linux: Version 11.2.0.4.0 - ProductionOracle Bequeath NT Protocol Adapter for Linux: Version 11.2.0.4.0 - ProductionTCP/IP NT Protocol Adapter for Linux: Version 1原创 2022-05-05 08:52:03 · 2990 阅读 · 0 评论 -
ORA-609 错误分析及解决方法
某个客户数据库在巡检的时候发现alert日志里不定期会出现ORA-609错误,大致内容如下:Fatal NI connect error 12537, connecting to:(LOCAL=NO)VERSION INFORMATION:TNS for HPUX: Version 11.2.0.3.0 - ProductionOracle Bequeath NT Protocol Adapter for HPUX: Version 11.2.0.3.0 - ProductionTCP/IP转载 2022-05-04 17:02:50 · 2709 阅读 · 0 评论 -
Standby数据库用户被锁的处理方法
背景:今天,公司有一位同事找我,说连接数据库的时候报“ORA-28000: the account is locked”,通过dba_users视图查看,数据库用户的状态为OPEN,就是连接不上报错,随后对问题展开分析。分析:1、检查primary和standyb数据库用户状态表dba_users,看到account_status都为OPEN状态;2、使用用户连接primary可以正常登录,连接standby数据库报错“ORA-28000: the account is locked”;报错信息如原创 2022-04-19 08:32:01 · 258 阅读 · 0 评论 -
Oracle(19C) DG常用视图汇总
Using Views to Monitor Primary, Physical, and Snapshot Standby Databases使用视图监控主节点、物理节点和快照备用数据库V$DATABASEThe following query displays the data protection mode, data protection level, databaserole, and switchover status for a primary, physical standby or原创 2022-03-23 11:30:57 · 1373 阅读 · 0 评论 -
Linux7.6安装Vnc
安装并配置vnc server1.安装vnc server使用xshell远程系统,root用户执行命令安装 Gnome 包#yum groupinstall "GNOME Desktop" "Graphical Administration Tools"```sql(我的安装了995个rpm包,较慢)更新系统的运行级别,如果你想在系统下次启动的时候自动进入图形界面,那么我们需要更改系统的运行级别,输入下面的命令来启用图形界面。#ln -sf /lib/systemd/system/ru原创 2022-03-15 14:49:08 · 1979 阅读 · 0 评论 -
19C pdb创建表空间和用户
创建pdb数据库:1、首先要确定使用那个pdb,可以通过命令查看,查看pdb有那些,需要CDB$ROOT,因为先查看当前用户SQL> show con_nameCON_NAME------------------------------CDB$ROOT2、然后查看有那些pdbSQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED---------- ------------原创 2022-03-15 14:47:46 · 2003 阅读 · 0 评论 -
goldengate静默安装方法
在没有图形界面支持的情况下,安装Oracle ogg步骤如下:环境:Ogg版本:Oracle GoldenGate 12.3.0.1.4 for Oracle on Linux x86-64压缩包: V975837-01.zip1、上传压缩包到指定目录这里使用的目录为:/u01/software2、解压缩软件[root@xteasdb software]# unzip V975837-01.zip -d /u01/software注:-d 指定了解压缩后的存放路径。3、配置应答文件应答原创 2022-01-03 13:30:19 · 613 阅读 · 0 评论 -
Oracle等待事件查询语句
查询Oracle的等待事件select * from ( select event, total_waits,total_timeouts,time_waited,average_wait from gv$system_event where time_waited > 0 order by time_waited desc ) where rownum <=10 ;原创 2022-01-01 11:06:17 · 840 阅读 · 0 评论 -
Linux下通过rsync+inotify实现目录实时同步
背景:公司有一台OA系统为单机服务器,因磁盘故障,导致OA部分附件丢失,为了规避该问题,计划通过rsync+inotify软件,实现文件备件功能,将附件备份到其他服务器上;一、环境介绍源端(需要同步文件的服务器):172.12.6.123,文件目录为/u01/weaverfile/file目标端(备份文件的服务器):172.12.7.51,文件目录为/file/oafile/weaverfile/file操作系统均为:Centos7.4可以通过rsync --version查看rsync软件的版原创 2021-12-24 09:22:27 · 2740 阅读 · 0 评论 -
查询Oracle使用CPU最多的前10条语句
查询Oracle使用CPU最多的前10条语句:SQL> select * from ( select trunc(ts.CPU_TIME/ts.EXECUTIONS) "cpu_time/exes", ts.EXECUTIONS exec_count,ts.SQL_TEXT from v$sql ts where ts.EXECUTIONS > 0 order by 1 desc )where rownum <= 10 and exists (se原创 2021-12-29 11:50:18 · 604 阅读 · 2 评论 -
查询Oracle使用内存最多的前10条语句
查看oracle使用内存最多的前10条语句:SQL>col sql_text format a60SQL>set pagesize 1000SQL>select * from ( select trunc(ts.BUFFER_GETS/ts.EXECUTIONS) "buffer/exes", ts.EXECUTIONS exec_count,ts.SQL_TEXT from v$sql ts where ts.EXECUTIONS > 0 o原创 2021-12-28 14:39:51 · 681 阅读 · 0 评论 -
查询Oracle死锁
–(1)以sys用户登陆数据库查询死锁:SQL> select username,lockwait,status,machine,program from v$session where sid in (select session_id from v$locked_object);–(2)然后使用一下语句查找被死锁的语句SQL> select sql_text from v$sql where hash_value in (select sql_hash_value原创 2021-12-28 14:20:54 · 5796 阅读 · 0 评论 -
解决ORA-16038 ORA-19502 ORA-00312错误的方法
背景:客户反馈说业务系统在使用过程中报:ORA-00257: archiver error. Connect internal only, until freed.错误,大意是没有空间来存储归档日志了。从alert日志看错误提示如下:ORA-16038: log 2 sequence# 138989 cannot be archivedORA-19502: write error on file "", block number (block size=)ORA-00312: online log原创 2021-12-28 13:55:47 · 820 阅读 · 0 评论 -
DG主库控制文件丢失处理方法
背景:出问题系统架构为DG模式,主库的contorl文件不小心,用备库的contorl文件给替换了,结果导致主库启动不起来;操作系统版本:CentOS Linux release 7.4.1708 (Core)数据库版本:Oracle 11.2.0.4.0一、由于DG备库可以正常运行,可以通过命令备份control文件[oracle@mesbk xttzj]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on 星期四 1原创 2021-12-23 16:08:25 · 1468 阅读 · 0 评论 -
Oracle 加密解密函数
1. 加密函数CREATE OR REPLACE functionds_func_encrypt_des(p_text varchar2, p_key varchar2) return varchar2 isv_text varchar2(4000);v_enc varchar2(4000);raw_input RAW(20000) ;key_input RAW(1000) ;decrypted_raw RAW(20000);v_ErrorText varchar2(500);begin原创 2021-12-22 10:54:46 · 2431 阅读 · 0 评论 -
oracle 查看执行时间最长、查询次数最多的语句
一、查询执行最慢的sqlselect * from (select sa.SQL_TEXT, sa.SQL_FULLTEXT, sa.EXECUTIONS "执行次数", round(sa.ELAPSED_TIME / 1000000, 2) "总执行时间", round(sa.ELAPSED_TIME / 1000000 / sa.EXECUTIONS, 2) "平均执行时间", sa.COMMAND_TYPE,转载 2021-12-21 07:39:03 · 3484 阅读 · 0 评论 -
expdp和impdp程序怎么正常关闭
怎么正常杀掉expdp和impdp正在运行的job平时在导入导出oracle数据库时,可能刚执行完expdp或者impdp命令,发现有问题,于是就按ctr + c 中想终止正在运行的命令,但发现进程还在运行,那么正确的做法是什么呢,如下:一、查看视图dba_datapump_jobs里是否有正在运行的job:SQL> SELECT owner_name, job_name, operation, job_mode, state, attached_sessions FROM dba_datap原创 2021-12-08 08:49:59 · 2305 阅读 · 0 评论 -
如何设置Oracle数据库用户密码永不过期
如何修改Oracle数据库用户密码永不过期(数据库版本:11204)解决方案1 、检查用户所属profile注意:需要有dba权限用户进行查询sqlplus / as sysdbaSQL> select username,profile from dba_users where username='MASIC';USERNAME PROFILE------------------------------ -------------------原创 2021-12-04 13:50:00 · 519 阅读 · 0 评论 -
如何实现Linux下Oracle随机启动
如何实现Linux下Oracle随机启动一、首先需要修改/etc/oratab将/etc/oratab里的rcl:/u01/app/oracle/product/11.2.0.4/db_1:N修改为:orcl:/u01/app/oracle/product/11.2.0.4/db_1:Y二、如果没有/etc/oratab文件,则需要在ORACLE_HOME下面,找到 root.sh 执行即可。三、修改系统开机启动文件#vi /etc/rc.d/rc.local加入以下内容:su -原创 2021-12-03 16:40:45 · 1004 阅读 · 0 评论 -
Linux环境下部署DG(一对一、一对多、RAC到单机)
Linux环境下部署DG(一对一、一对多、RAC到单机)规划:主机名 iP db_unique_name instance_name service_names tnsnameprimary 172.12.7.233 prod orcl prod prodstandby 172.12.7.234 prodstd orcl prodstd prodstd注意:primary、standby在/etc/hosts文件内做了解析首先在备库创建对应的目录,一定要注意目原创 2021-11-28 09:14:28 · 1574 阅读 · 0 评论 -
ORA-16191: Primary log shipping client not logged on standby
ORA-16191: Primary log shipping client not logged on standbyThis error usually is because of password file mismatch: someone updated in primary and forgot to pass across to standby nodes, missed a node… but what if password file in primary and standby is原创 2021-11-28 08:16:39 · 910 阅读 · 0 评论 -
oracle system和sysaux表空间清理和回收
oracle数据库清理和回收system和sysaux表空间前几天和一个网友讨论了下SYSAUX表空间使用率过高的问题,今天有时间整理一下,正好我们的测试数据库也存在这个问题。本案例数据库版本为11.2.0.4.0。SYSAUX表空间被称为系统辅助表空间,是10g版本开始推出的新功能,主要的目的是为SYSTEM表空间减负,Oracle对SYSTEM表空间的维护有一套独立的体系,对SYSTEM表空间操作会占用额外的CPU资源,而且效率低下,详见我之前发表的文章为什么不要把用户表存储到SYSTEM表空间。在原创 2021-10-08 09:52:47 · 6426 阅读 · 0 评论 -
oracle 10046事件详解
10046事件详解一、10046事件概述10046是一个Oracle的内部事件(event),通过设置这个事件可以得到Oracle内部执行系统解析、调用、等待、绑定变量等详细的trace信息,即帮助我们解析一条/多条SQL、PL/SQL语句的运行状态,这些状态包括:Parse/Fetch/Execute三个阶段中遇到的等待事件、消耗的物理和逻辑读、CPU时间、执行计划等。它不仅为我们揭示了一条、多条SQL的运行情况,同时还能帮我们分析一些DDL维护命令的内部工作原理,RMAN、Data Pump Exp原创 2021-10-06 10:50:46 · 1146 阅读 · 0 评论 -
ORA-19573: 无法获得 exclusive 入队 (数据文件 1 的)
ORA-19573: 无法获得 exclusive 入队 (数据文件 1 的)通过rman恢复数据库过程中,报ORA-19573: 无法获得 exclusive 入队 (数据文件 1 的)错误;原因为通过rman恢复数据库,必须在mount状态下,具体解决方法如下:一、将数据库重启至mount状态SQL> shutdown immediate数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> startup mount;ORACLE 例程已经启动。Total原创 2021-10-05 09:34:11 · 558 阅读 · 0 评论 -
DataGuard出现GAP的两种处理方法
DataGuard出现GAP的两种处理方法DG GAP顾名思义就是:DG不同步,当备库不能接受到一个或多个主库的归档日志文件时候,就发生了GAP。DG GAP主要分为两类情况:主库归档日志存在,可以通过配置 Fetch Archive Log(FAL) 参数,自动解决归档GAP。主库归档日志丢失,需要 人工干预 来修复:第一种方式:11G处理步骤:a.在主库上创建一个备库的控制文件b.以备库的当前SCN号为起点,在主库上做一个增量备份c.将增量备份拷贝到备库上d.使用新的控制文件将备库启原创 2021-08-10 10:05:30 · 1237 阅读 · 0 评论 -
Oracle中用户、角色、与权限涉及的相关表及视图
Oracle中用户、角色、与权限涉及的相关表及视图首先要理解用户、角色和权限的概念,可以和操作系统的用户、组、权限结合理解;学习oracle的时候大家应该都知道dba_、all_、user_,即oracle的静态视图dba_类的视图包含了数据库所有对象的信息,用户需要有select any table权限才可以访问;all_类的视图包含了用户有权限可以访问的所有对象的信息;user_类的视图包含了用户拥有的相关对象的信息;一、用户dba_users;all_users;user_users原创 2021-08-02 14:27:13 · 1139 阅读 · 0 评论 -
DG standby报错 ORA-00604和ORA-16000解决方法
standby数据库用户登陆报错:SQL> conn scott/1234567ERROR:ORA-00604: 递归 SQL 级别 1 出现错误ORA-16000: 打开数据库以进行只读访问 ORA-06512:在 line 2查看了alert日志,报错如下:2021-07-30 13:33:06.967000 +08:00Errors in file /u01/app/oracle/diag/rdbms/omdg/omdb/trace/omdb_ora_20034.trc:ORA原创 2021-07-30 14:32:48 · 3081 阅读 · 0 评论 -
详解Windows环境下部署DG
Windows下DG部署一、环境Host IP db_unique_name instance_name service_name tnsname172.12.7.221 primary orcl prod prod172.12.7.235 standby orcl prodstd prodstd二、主库配置1、开启归档日志、闪回日志、强制记录日志C:\Users\Administrator>sqlpl原创 2021-07-28 17:20:12 · 665 阅读 · 0 评论 -
rman 异机恢复及0级1级备份脚本
rman 异机恢复及0级1级备份脚本创建测试环境:[oracle@standby back]$ sqlplus scott/scottSQL*Plus: Release 11.2.0.4.0 Production on 星期三 7月 28 16:02:08 2021Copyright © 1982, 2013, Oracle. All rights reserved.连接到:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 -原创 2021-07-28 17:09:27 · 1693 阅读 · 0 评论 -
通过rman实现异机恢复
1、目的该备份采用nfs,将源库的数据通过rman备份到了目标端,计划在目标端通过rman将其恢复,备份文件有归档日志、控制文件、数据文件、参数文件;2、首先要知道源库的DBID,建立对应的目录,如db_recovery_file_dest对应的路径,数据文件、控制文件存放路径;3、在目标端通过rman登录;[oracle@standbyDB ~]$ export ORACLE_SID=prod3[oracle@standbyDB ~]$ rman target /恢复管理器: Release原创 2020-07-23 14:08:55 · 234 阅读 · 0 评论 -
如何手动创建Oracle数据库
手动创建Oracle数据库首先要确认Oracle SID,创建存放数据文件的目录ORACLE_SID=prod3/u01/app/oracle/oradata/prod31、建立数据文件存放目录mkdir -p /u01/app/oracle/oradata/prod32、创建参数文件 initprod3.ora,参数文件经过精简,只要三个参数即可cd $ORACLE_HOME/dbsvi initprod3.ora memory_target=500mdb_name=prod3con原创 2020-07-11 14:38:52 · 65 阅读 · 0 评论 -
静默安装Oracle数据库
CentOS 6.5 静默安装Oracle 11g R2操作总结前提规划工作:查看操作系统的版本:#cat /etc/issueCentOS release 6.5 (Final)内核的版本:#uname -aLinux XQSBdb 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux查看服务器的名字:#hostname修改主机名并在hosts解析vi /etc原创 2020-07-10 08:56:18 · 246 阅读 · 0 评论 -
oracle创建加密表空间
1、在$ORACLE_HOME/network/admin/sqlnet.ora中加入如下内容:ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/u01/app/oracle/admin/orcl/wallet)))2、创建钱包cd /u01/app/oracle/admin/orcl/wallt --必须要先到此目录下,然后创建wallet,否则会报错:ORA-28368SQL>alte原创 2020-07-09 11:09:28 · 348 阅读 · 0 评论