oracle
文章平均质量分 58
weeknd
这个作者很懒,什么都没留下…
展开
-
解决oracle数据显示问号和乱码的问题
查询结果显示为?SQL> select * from name;NAME------------------------------------------------------------?????????查看环境变量SQL> select userenv('language') from dual;USERENV('LANGUAGE')----------------------...原创 2018-04-19 14:17:16 · 10560 阅读 · 2 评论 -
切断ADG的关联,划分为两个独立的数据库
切断ADG的关联,将其划分为两个独立的数据库1:切断MRP的进程ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;2:激活备库alter database activate standby database3:重启(如果需要彻底的清楚,可以把所有dg配置的参数去掉)startup原创 2017-09-01 11:27:56 · 1261 阅读 · 0 评论 -
oracle插入值太大,超过限制数的处理ORA-12899,ora-01489
很多时间,再插入值的时候,会出现超出指定的限制的最大的数。如果允许精度确实可以使用substr或者rpad来限制返回的长度。如果不允许精度确实,则需要增加字段的精度。SQL> desc er_test; Name Null? Type ------------------------------原创 2017-09-25 14:37:38 · 9388 阅读 · 0 评论 -
oracle data guard broker配置与使用(上)
背景需求:有时候手工切换ADG,步骤繁琐,麻烦。这里介绍oracle自带的broker工具的快捷切换以及它的failover特性 前提:配置好了DG(ADG)安装了oracle软件(一般都安装了) 1:配置监听(添加下面内容)(SID_DESC = (GLOBAL_DBNAME=orcl_DGMGRL) (ORACLE_HOME = /u0原创 2017-07-24 17:18:39 · 3643 阅读 · 0 评论 -
oracle data guard broker配置与使用(下)
nohup dgmgrl sys/oracle@db1 'start observer' &后台挂起进程switchover 切换测试1:把主库dg1[oracle@dg1 ~]$ dgmgrl sys/managerDGMGRL for Linux: Version 11.2.0.4.0 - 64bit Production原创 2017-07-26 12:00:47 · 562 阅读 · 0 评论 -
ora-29861 全文索引异常报错
今天有人问我ora-29861问题应该如何解决。如何造成的。他的存储报错报这个错误(封装了内部的错误code)ora-29861: 域索引标记为loading/failed/unusable [oracle@ADG1 ~]$ oerr ora 2986129861, 00000, "domain index is marked LOADING/FAILED/UNUSABLE原创 2017-07-19 18:11:50 · 1895 阅读 · 0 评论 -
oracle在线将普通表转换成分区表
背景介绍:有时候随着业务的发展,需要将普通的表转换成分区表。这里主要介绍在线自动转换的方式。一:源表和索引创建源表创建CREATE TABLE EDC_SEPERATOR( SEPERATOR_ID NUMBER(15) NOT NULL, EQUIPMENTINFO NVARCHAR2(20), RECOR原创 2017-07-19 13:46:07 · 2834 阅读 · 0 评论 -
windows环境下查看em报错OC4J Configuration issue
背景:windows创建好的em,进入cmd查看emctl status dbconsole报错。未设置db_unqname和未发现OC4J_DBConsole_joey-PC_orcl 文件(可以直接登录em,只是为了查看em状态)第一个问题:db_unqname未设置这是因为未设置环境变量,无法识别sid解决方案set ORACLE_SID=orcl第二原创 2017-07-31 14:38:22 · 746 阅读 · 0 评论 -
IMP只导入表数据
imp mycim/mycim file=njdq20170705.dmp indexes=n grants=n constraints=n statistics=none fromuser=mycim touser=mycim ignore=y原创 2017-07-18 11:02:25 · 11177 阅读 · 0 评论 -
oracle利用数组循环调用多个存储过程
CREATE OR REPLACE PROCEDURE proc_all isTYPE proc_array IS TABLE OF VARCHAR2(50) INDEX BY BINARY_INTEGER; ProcedureName proc_array; proc_sql varchar2(50);beginProcedureName(1) := 'P原创 2017-11-01 12:15:09 · 1993 阅读 · 0 评论 -
处理SM/AWR占用sysaux很大空间的问题
1.计算SYSAUX的occupants的大小 select * from (SELECT occupant_name "Item", trunc((space_usage_kbytes / 1048576), 2) "Space Used (GB)", schema_name "Schema",原创 2017-11-06 16:34:43 · 3510 阅读 · 0 评论 -
linux 7.2+oracle 11g rac启动crs报错TIMED OUT WAITING FOR OHASD MONITOR
linux 7.2+oracle 11g rac启动crs报错TIMED OUT WAITING FOR OHASD MONITOR背景描述:vmware服务器直接关机,重新数据库,发现启动ohasd服务报错TIMED OUT WAITING FOR OHASD MONITOR问题解析权限问题重新链接二进制文件并重新启动服务器,以便init.ohasd正常运行,但ohasd和其他守护进程不会启动,...原创 2018-03-01 15:23:46 · 1733 阅读 · 0 评论 -
Xmanager Xstart无法调用gnome界面
xstart调用远程的界面,报错检查是否安装xterm和xrog[root@localhost bin]# rpm -qa|grep xorg-x11-xauth -yxorg-x11-xauth-1.0.9-1.el6.x86_64[root@localhost bin]# rpm -qa|grep xtermxterm-253-1.el6.x86_64检查是否安装了图形化界面[root@loc...原创 2018-04-19 13:27:18 · 5574 阅读 · 0 评论 -
linux 7绑定uuid失败
[root@rac2 bin]# for i in b c;> do> echo "KERNEL==\"sd*\", BUS==\"scsi\",PROGRAM==\"/sbin/scsi_id -g -u /dev/\$name\", RESULT==\"`/sbin/scsi_id -g -u --device=/dev/sd$i`\", NAME=\"asm-disk$i\&原创 2018-03-23 15:10:03 · 2964 阅读 · 0 评论 -
解决virtualbox只能安装32位系统的问题
原因:未开启cpu虚拟化技术电脑型号是lenovo(不同的电脑进入bios的热键不一样。)开机按 Fn+F2 进入BIOS设置,选择 CONFIGURE -> Virtualization,依次将里面的 Intel(R) Virtualization Technology 和 Intel(R) VT-d Feature 设为 Enabled,最后保存BIOS设置后重新启动系统即可!...原创 2018-03-19 09:54:05 · 15017 阅读 · 0 评论 -
oracle错误编号
ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程;无法转换会话 ORA-00022: 无效的会话 ID;访问被拒绝 ORA-00023: 会话引用进程私用内存;无法分离会话 ORA-00...翻译 2018-03-12 14:13:40 · 436 阅读 · 0 评论 -
oracle scope的三种方式,spfile,memory,both
SCOPE = SPFILE此更改写入初始化参数文件,更改将在下次启动时生效。动态参数与静态参数都一样可以。也是静态参数唯一可以使用的方式。SCOPE = MEMORY只在内存上修改,立即生效,但重启后将不再生效,因为并没有写入到初始化参数文件。只适用于动态参数,静态参数则不允许。SCOPE = BOTH既写入到初始化参数文件,也在内存上修改,立即生效。同样也只适用于动态参数,静态参数则不允许。...原创 2018-02-24 10:08:25 · 1275 阅读 · 0 评论 -
v$archived_log 的 name为空
SQL> col name for a50SQL> / RECID FIRST_TIME NAME---------- ------------ -------------------------------------------------- 1 23-FEB-18 2 23-FEB-18 3 23-FEB-18 ...原创 2018-03-09 17:47:48 · 1164 阅读 · 0 评论 -
oracle rac的磁盘组添加磁盘扩容
asm添加磁盘1:创建共享磁盘组2:查看新的磁盘fdisk -l显示是/dev/sdi 8G2:绑定设备需要添加的为/dev/sdc,/dev/sdd 时,将脚本修改为 for i in c d 即可。这些sdi;for i in i;doecho "KERNEL==\"sd*\", BUS==\"scsi\",PROGRAM==\"/sbin/scsi_id -g -u /dev/\$name...原创 2018-03-01 16:27:14 · 8909 阅读 · 0 评论 -
ORA-21561: 生成 OID 失败
背景:linux安装完client,sqlplus远程连接db时报错ORA-21561: 生成 OID 失败[root@linux01]# sqlplus sys/manager@mesdb ........ ERROR: ORA-21561: 生成 OID 失败 请输入用户名: ^C 解决方案:在/etc/hosts添加上ip hostname的entry(保持好的习惯,减少错误)or...原创 2018-03-09 11:41:41 · 5906 阅读 · 0 评论 -
oracle重建OEM(dbconsole)
最近遇到客户的database的OEM无法启动。原因是错误的配置。这些主要介绍一下最简洁方便的方式重建OEM(网上的很多删除方式会出现删除不干净导致重建失败等问题)完全清除卸载重建OEM1:删除db control的配置的信息[oracle@ADG1 ~]$ emca -deconfig dbcontrol dbEMCA 开始于 2017-7-17 14:08:25EM原创 2017-07-17 14:25:04 · 1195 阅读 · 0 评论 -
动态统计每个日期过去30天的数据
今天有数据分析问我,如果动态统计过去30的数?比如0601,计算0502——0601的用户数去重,0602,计算0503——0602内的用户数去重,是个动态的30天用户数他用的spark line。具体的语法的不熟悉,但是逻辑类似,利用循环控制传入的值即可这里利用oracle的存储过程实现create or replace procedure test2 isv_date date原创 2017-07-05 13:54:23 · 2251 阅读 · 0 评论 -
基于物化视图创建分区(分区的物化视图)
基于物化视图创建分区 物化视图是实际存在的物理表,支持触发器,因此堆表可以使用的方法,物化视图同样适用。有时候对于数据量大的物化视图而言,可以用分区的技术,减少读取数据的范围从而加速查询的速度1:创建穿件源表插入数据SQL> create table t3(id number,day_date date); Table created. create procedure原创 2017-07-03 11:53:45 · 3449 阅读 · 0 评论 -
错误的索引统计信息导致oracle expdp导500多G的大分区表时hang住
1:用expdp导数据,语句如下expdp system/oracle directory=xxx TABLES=xxx.AC51 dumpfile=xxx_%U.dmp logfile=xxx.log EXCLUDE=index,STATISTICS,constraint parallel=15 compression=ALL cluster=n version=11.2.0.4.0原创 2017-05-15 18:43:56 · 2007 阅读 · 0 评论 -
centos 6 搭建oracle 11gR2 database
1:硬件配置和检查共享内存shm size >= 1GB/tmp size >= 1GBMemory size >= 1GBSWAP大小官方建议如下内存大小 交换分区大小1GB-2GB 1.5倍内存大小2GB-16GB 等于内存大小大于16GB 16GB2:修改/etc/hosts(添加红色部原创 2017-04-25 10:58:53 · 563 阅读 · 1 评论 -
linux设置oracle数据库和监听开机自动启动
默认的单机oracle数据库中,oracle不会随着操作系统的启动而启动,需要手工启动。下面设置开机自动启动[oracle@CSICN20RPT01 etc]$ vi oratab # This file is used by ORACLE utilities. It is created by root.sh# and updated by either Database Co原创 2017-05-24 10:16:31 · 14487 阅读 · 7 评论 -
oracle全文索引(全文检索)的介绍,使用和创
全文索引Oracle的全文检索实现逻辑,通过lexer词法分析器,讲把值的term找出来。记录在一组的DR$开头的表里面(主要是DR$xxxI表),主要记录term的位置,frequency频率,hash等信息,oracle根据谓词,找到对应的term。主要介绍三种自然语言的分析器basic_lexer(默认的分析器):主要针对英语。有较高的处理效率,因为它只认空格和标点,所以原创 2017-05-10 19:46:32 · 21932 阅读 · 0 评论 -
oracle rac的公网(public IP)修改网段
背景描述已经搭建好的rac,public ip为192.168.102.xxx,private ip:10.10.1.xx,现在运维人员把公网段改为了192.168.1.xxx。导致rac的网络资源全部offline 1:修改公网的固定IP,改成192.168.1.xxx网段,重启网卡2:修改hosts(把102网段全部修改为1网段)192.168.1.181 rac1原创 2017-04-21 09:40:34 · 2446 阅读 · 0 评论 -
linux安装oracle client客户端连接远程数据库
有时候,需要在linux服务器远程连接oracle数据,此时需要在服务器上安装oracle clinet客户端,用来连接远程的数据库。采用rpm安装方式(root执行)1:下载rpm软件包oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm 基本的动态库(oci,bocci,jdbc-oci)oracle-instantclient...原创 2017-05-01 00:24:16 · 12110 阅读 · 0 评论 -
eth0网卡异常导致rac vip资源offline
技术反馈无法通过sql developer,pl/sql developer等第三方工具连接到远程的数据库,可以通过sqlplus进入到命令交互窗口,且db正常running。查看资源状态,发现远程连接的VIP和LSNR资源异常,处于offline的状态。客户截图如下可以看到vip和lsnr资源都挂掉因为lsnr依赖于vip。当vip异常,lsnr自然也会异常,原创 2017-04-14 11:56:37 · 1799 阅读 · 0 评论 -
oracle查询表空间大小很缓慢
oracle 11gR2在查询表空间的sql很缓慢sql语句 SELECT A.TABLESPACE_NAME "表空间名称", 100 - ROUND((NVL(B.BYTES_FREE, 0) / A.BYTES_ALLOC) * 100, 2) || '%' "已使用(%)", ROUND((NVL(B.BYTES_FREE, 0) / A.BYTES原创 2017-04-14 10:26:05 · 4387 阅读 · 2 评论 -
ORA-01940 oracle 无法删除用户
在drop user的报ora-01940,代码如下SQL> drop user joey cascade;drop user joey cascade*ERROR at line 1:ORA-01940: cannot drop a user that is currently connected解决方案1:查询正在连接的会话SQL> select原创 2017-04-25 13:10:11 · 5664 阅读 · 0 评论 -
使用duplicate搭建oracle 11.2.0.4.0数据库active dataguard (ADG)
1:配置情况(主库需要建立实例,从库只需要安装软件)主库Centos6.7Oracle 11.2.0.4.0IP:192.168.1.155 sid:orcl 备库Centos6.7Oracle 11.2.0.4.0软件IP:192.168.1.156 2:关闭防火墙(两边都需要操作) lsnrctl iptables stop chk原创 2017-05-14 00:23:57 · 1317 阅读 · 0 评论 -
oracle rac一次shutdown instance之后重启没法自动启动实例
在11gR2中如果直接shutdown会导致重启crs无法自动启动instance[grid@csicn20db02 ~]$ crsctl status res -t--------------------------------------------------------------------------------NAME TARGET STATE原创 2017-05-17 10:57:51 · 2863 阅读 · 0 评论 -
ADG swicthover操作(主备切换)
ADG switch over(主备切换)1:准备工作1.1检查ADG状态是否正常StandbySql>select process,status fromv$managed_standby; Note:RFS为idle。MRP0为APPLYING_LOG。 PrimarySql>SELECT RECOVERY_MODE FROMV$ARCHIVE_DEST_S原创 2017-06-21 17:44:40 · 2613 阅读 · 0 评论 -
基于主键创建物化视图(MATERIALIZED VIEW)
物化视图在同步数据方案中处于中低级的方案,但对有有些针对报表统计的分析系统,物化视图通过提前生成实际的物理数据,可以为报表统计提供更加快捷的查询效率,能够配合高效的快速刷新模式,它还是一种非常好的解决方案。 创建物化视图(把test用户下的T1同步到test1用户下的MV_T1) 1:创建源表 SQL> create table t1(id number primary k原创 2017-06-30 12:10:50 · 1652 阅读 · 0 评论 -
oracle杀掉外部连接进程
oracle杀掉外部连接进程ps -ef|grep -v grep|grep LOCAL=NO|awk '{print $2}'|xargs kill -9原创 2017-05-22 17:22:28 · 1631 阅读 · 0 评论 -
使用bulk collected和forall的方式批量插入数据
使用bulk collected和forall的方式批量插入数据方式:使用bulk collected批量抽取出数据,插入到目标表,对于百万级别的数据可能会影响到资源分配,这样可以降低缓解压力。使用forall替代for loop,减少loop虚化花费的资源和时间。示例如下:create or replace procedure p2 is CURSOR emp_c原创 2017-06-02 15:28:45 · 1030 阅读 · 0 评论 -
rman在nfs文件系统上备份报错(NFS file system where the file is created or resides is not mounted with correct )
背景描述使用rman的0,1,2级备份方式,备份文件存放在一个搭建了NFS_SERVER的远程计算机上。在使用rman备份的时候报错ORA-19504: failed to create file "/Oracle_BAK/oradataback/backupsets/db_level1_20170531_0ms5keql_1_1"ORA-27054: NFS file syste原创 2017-05-31 14:50:38 · 1474 阅读 · 0 评论 -
oracle统计表的所有列的非空记录数据
oracle统计表的所有列的非空记录数据适合查询统计,每天监控表数据入库的情况,统计业务量的增长情况等。具体的需要配合自己的业务定有两种展现方式,第一种是是执行完,直接看完输出结果。第二种是把输出结果插入到中间表,查询中间查看输出结果(未使用统计信息查询,是因为很多时候,需要知道实际的数量,而统计信息有时候不满足)第一种方式:直接输出结果创建存储过程CREATE OR原创 2017-05-10 16:19:21 · 5460 阅读 · 1 评论