问题五: No serializer found for class java.io.ByteArrayInputStream and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: com.fudian.common.pojo.CommonGridResult[“rows”]->com.github.pagehelper.Page[0]->java.util.HashMap[“createDate”]->oracle.sql.TIMESTAMP[“stream”])
如今有个需求:一个单据表要依照月份来分区。假设是在Oracle 10g上,仅仅能再加一个字段。
帮客户创建视图,要求:1、新建视图;2、新建用户;3、授权新用户访问该视图。 创建的过程中遇到几个小问题,记录下处理方法
ORA-01427: single-row subquery returns more than one row
英文解析:resource busy and acquire with NOWAIT specified
模拟jingyu2用户下有一张表T_jingyu2;jingyu3用户下有一张表T_jingyu3;
expdp/impdp是10g推出的导入导出工具,9i下是没有该工具的,有人提议用10g的expdp,通过dblink导出9i的数据,乍一听感觉是那么回事,但究竟行不行,咱们实验说明。
在12c中,create spfile命令又有了新的参数变更,引入了as copy选项,这个变化是由于一个Bug引入的。 通过以下的测试和验证过程,大家会发现新版本中的这个变化,避免在新版本中遭遇陷阱。以下验证环境为Oracle RAC 12.1.0.2.0,先记录当前DB的资源配置。 [oracle@rac12-node1 ~]$ srvctl config database -db rac12 Database unique name:rac12 Database name:rac12 Oracle h
最近几天被网络监听配置搞得焦头烂额,有时候配置没问题,有时候就出莫名其妙的问题,今天专门花时间总结了一下,希望对大家有所帮助。 listener.ora,tnsnames.ora有时候没有netca,netmgr这样的图形工具来创建的时候,只能手工来做,手工做的时候会有一些格式的问题,多加一个空格,或者少一个空格,就会有不同的结果。 案例一 下面是一个监听的基本配置,我故意在前面多加了一个空格(黄色标记所示)。 LISTE1= (DESCRIPTION= (ADDRESS_LIST=
作者 杨禹航 出品 沃趣技术 PDB数据库的创建可以从现存的数据库中复制数据文件,包括种子容器、可插拔数据库、non-CDB数据库,创建时可以使用CREATE PLUGGABLE、RMAN、DBCA以及EM等。 在12.1版本中在创建PDB时,Source PDB必须处于read only状态,在12.2版本中,因为undo local mode新特性的推出,在创建PDB时,Source PDB在read write状态,依然可以创建。 另外在12.2版本中Oracle推出了refresh PDB特
源端和目标端的数据库版本需要保持一致,补丁版本可以不一致,目标端磁盘空间不能小于源端空间,目标端只需要安装 Oracle 软件即可!
oracle在启动时和启动过程中经常会出现这样那样的错误,简单记录下碰到过的问题,方便备用。
对于Oracle数据库的创建,Oracle除了支持dbca(GUI界面),同时也支持手工方式创建数据库,即使用CREATE DATABASE语句创建数据库。使用此语句对使用DBCA的一个优点是可以从脚本内创建数据库。在Oracle 12c版本中支持12c之前的非CDB数据库以及CDB容器数据库。因此创建方式略有不同。本文同时描述2种不同数据库的手工创建方法。
作者 杨禹航 出品 沃趣技术 PDB Refresh是12C推出的特性,具有对源端PDB进行增量同步的功能,每次刷新会将源端PDB中的任何更改同步到目标PDB(在此环境中目标PDB被称作Refreshable PDB)中,目前增量同步方式有两种:手动方式与自动方式。 一、Refresh MODE语句 在使用Create Pluggable Database创建PDB时指定Refresh MODE子句用来控制是否开启刷新机制。 该子句目前只在"Create Pluggable Database...
有的时候由于备库空间不足,在主库添加了数据文件后,导致备库数据文件的缺失,可能很久之后才发现,但是由于归档的缺失等其它原因而导致备库不能正常应用Redo日志。还有其它情况可能导致备库的数据文件不能正常ONLINE,在这种情况下,可以在主库上利用CONVERT命令备份一个数据文件然后拷贝到备库即可。若是备库归档文件比较全,则可以直接在备库创建数据文件后应用Redo日志即可,而不需要从主库拷贝数据文件。
众所周知我们的Data Guard数据同步是基于日志流的。所以在主库执行nologging操作是不被允许的。这也就是为什么我们需要在配置Data Guard阶段需要使用Force Logging。但是这也会带来很多问题(SQL执行效率),例如:当我们使用数据泵进行迁移时我们希望最少停机时间完成,这时候我们就可能会考虑到以最小日志导入的方式以加快导入速度,然后重新同步备库。
ORA-02020 Error when Using Database Links in a Lookup (文档 ID 463403.1)
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
Lunatic 整理 1. 删除表的注意事项 在删除一个表中的全部数据时,须使用TRUNCATE TABLE 表名;因为用DROP TABLE,DELETE * FROM 表名时,TABLESPACE表空间该表的占用空间并未释放,反复几次DROP,DELETE操作后,该TABLESPACE上百兆的空间就被耗光了。 2.having 子句的用法 having 子句对 group by 子句所确定的行组进行控制,having 子句条件中只允许涉及常量,聚组函数或group by 子句
在Oracle12c之前的版本中,rman进行数据恢复时只能进行database/tablespace/datafile/block四种级别的恢复,如果误操作删除某张表或表中数据,无法通过闪回进行数据还原时,且有完整备份以及归档,该种情况下可以进行表空间时间点恢复,但恢复方式较麻烦,在Oracle12c中,Oracle对rman功能进行了增强,除了之前的四种级别的恢复,rman也提供了表/表分区级别的恢复,该特性可以直接从现有的rman备份中来恢复表/表分区,且恢复的过程不影响数据库中的其他的对象。
在Oracle中,如何修复由于主库NOLOGGING引起的备库ORA-01578和ORA-26040错误?
这个是正常版本的 链接: Windows10安装Oracle19c数据库详细记录
项目开发的时候遇到一个错误: org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: java.sql.SQLException: ORA-06550: 第 8 行, 第 4 列: PLS-00103: 出现符号 ";"在需要下列之一时: . ( ) , * @ % & = - + < / > at in is mod remainder not rem => <> or
参数文件(Parameter File)也叫初始化文件,它主要用来记录数据库的配置文件,在数据库启动时,Oracle读取参数文件,并根据参数文件中的参数设置来配置数据库,如内存的分配,允许打开的进程数和会话数等。Oracle的参数文件主要分为2类:PFILE(Parameter File)和SPFILE(Server Parameter File)。SPFILE和PFILE的区别参考下表:
客户的一套开发环境,大概了解到的背景是清理空间时redo被运维人员当作log误删除,一线同事先接手处理,过程中遇到问题升级到我这里继续分析。 接手后,数据库处于mount状态,之前恢复过程中已经做过resetlogs的操作,也设置了"_allow_resetlogs_corruption"隐藏参数为true,目前直接开库会提示需要恢复,重新进行resetlogs时报错ORA-600 [2662],起初看到这个错误心中略有些放松,根据经验,推下SCN就好了:
该系列专题为2018年4月OCP-052考题变革后的最新题库。题库为小麦苗解答,若解答有不对之处,可留言,也可联系小麦苗进行修改。
Relocating a PDB是Oracle在12C中推出的一种新的数据迁移方式,在采用Relocate时可以使用最短的停机时间在不同的CDB直接迁移PDB。
--对于重要对象,实施DDL拒绝,防止create,drop,truncate,alter等重要操作
墨墨导读:客户的一套开发环境,清理空间时redo被运维人员当作log误删除,一线同事先接手处理,过程中遇到问题升级本文做出分析。
rm删除所有控制文件,尝试添加数据文件,强制关闭数据库,尝试开启到mount状态。
--==========================================
本系列的定位是对XTTS及相关技术进行深入的学习研究。作为本系列的开篇,本着实用性的原则,我先把一次实际生产环境U2L的迁移实战实施方案进行提炼简化,旨在能清楚说明该如何使用XTTS这种解决方案来进行U2L迁移,先达到可以跟着做下来的初级目标,如果有兴趣再去深入研究相关细节。
通常在当前控制文件丢失,或者当前的控制文件与需要恢复的控制文件不一致的情况下,我们需要重新创建一个控制文件或者使用 unsing backup controlfile方式来恢复控制文件。说简单点,只要是备份的控制文件与当前的控制文件不一致进行恢复数据库,就需要使用到 unsing backup controlfile方式,而一旦使用了该方式,则需使用resetlgos选项来打开数据库。
Oracle数据库有4种触发器,分别是DML、替代触发器(INSTEAD OF触发器)、DDL和系统触发器,一般的应用系统中都使用到DML、替代触发器,而DDL和系统触发器是DBA管理数据库用得比较多。下图是Oracle触发器的分类图:
创建账号或修改账号密码时有可能会遇到ORA-00988: missing or invalid password(s),那么什么情况下会遇到这种错误呢? 一般是因为密码的设置不符合命名规范:
Oracle备份还原(Backup & Recovery)是作为数据库管理DBA最重要的工作之一,也是基本功之一。Oracle作为一款目前最成功的商用数据库软件系统,为使用者提供了多种类型的数据备份还原解决方案,以适应不同的场景需求。
本文作者系杨昱明,现就职于甲骨文公司,从事数据库方面的技术支持。希望能通过发表文章,把一些零散的知识再整理整理。个人主页:https://blog.csdn.net/weixin_50513167,经其本人授权发布。
RAC环境下,初始化参数文件与但实例下参数文件有些异同,主要表现在初始化参数可以为多个实例公用,也可以单独设置各个实例的初始化参数。对于那些非共用的初始化参数则必须要单独设置,而共用的则可以单独设置,但一般不建议这么用。本文描述RAC 环境下参数文件(spfile)的相关管理工作。
关于 Oracle 20c 区块链表(Blockchain Table),很多朋友表达了强烈的关注,通过一些基本测试,我们能够揭示关于区块链表的工作原理。
我的实验环境: 源生产库(主库): IP地址:192.168.1.30 Oracle 10.2.0.5 单实例
1、由于每月月底都需要对一些oracle数据库环境进行一些简单的巡检,而通过运行一条条语句,并依依去截图保存到word文档中效率低下,所以这里我就将手工巡检过程编写成shell脚本来提高巡检效率,同时也免去了截图照片图片不清晰的问题。 2、脚本简单容易二次编辑,本文仅提供简单巡检的事项,如数据表空间是否自动扩展、是否开启归档等,大家根据实际需要编辑修改,增加符合自己公司需求的巡检报告。 3、项目已经上传到我的github上 项目地址:https://github.com/domdanrtsey/orawatch
周玉其 云和恩墨南区技术顾问,曾在电信、物流等行业从事多年数据库开发、管理工作。
在dba的工作中,备份是一切工作的基础。如果没有备份,本来很简单的恢复工作也会难上加难,如果业务数据要求很高,造成数据的丢失或者损坏,就是重大事故了。 使用rman备份或者做一个完整的系统级备份也是很重要的,如果在特定的场景下,没有备份,如果还能恢复,那就太幸运了。 当数据库中的某个数据文件误删的时候,如果数据库还没有重启的时候,还是能够做一些工作的。因为文件对应的句柄还没有释放。我们可以从里面找到一个镜像的备份实现我们的数据恢复。一定注意这种恢复不一定是完全的数据恢复,如果在数据文件删除的瞬间,有开启的事
今天建库时选择了OMF方式,结果文件名称采用Oracle自动命名的方式,看不懂啊,于是乎决定删除再重建。 Oracle提供了删除数据库的指令:drop database。 需要数据库处于mount状态,然后alter system enable restricted session;,网上有帖子说还需要exclusive,由于我是VM装的,用户只有我一个,所以不用可以。由于当前处于open状态,需要改为mount,执行: SQL> alter database close; alter database close * ERROR at line 1: ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected 原因是有个session仍连接,退出后再次执行, SQL> alter database close; Database altered. SQL> select status from v$instance; STATUS ------------ MOUNTED SQL> alter system enable restricted session; System altered. SQL> select status from v$instance; STATUS ------------ MOUNTED SQL> drop database; Database dropped. 此时alert.log记录信息: Create Relation ADR_CONTROL Create Relation ADR_INVALIDATION Create Relation INC_METER_IMPT_DEF Create Relation INC_METER_PK_IMPTS USER (ospid: 8748): terminating the instance Instance terminated by USER, pid = 8748 Deleted Oracle managed file /opt/app/ora11g/oradata/BISAL/controlfile/o1_mf_9x4fgq77_.ctl Deleted Oracle managed file /opt/app/ora11g/flash_recovery_area/BISAL/controlfile/o1_mf_9x4fgypb_.ctl Completed: drop database Shutting down instance (abort) License high water mark = 2 Fri Jul 25 19:09:26 2014 Instance shutdown complete 到oradata路径下看已经没有任何文件了,那么认为这个数据库已经被删除。 但再次执行dbca,企图创建相同实例的库时报错:
一 系统环境: 1、操作系统:oracle Linux 5.6 2、数据库: Oracle 11g 二 Oracle 重做日志的作用: [模拟介质恢复] 1. 关闭数据库归档模式: [oracle@test ~]$ sqlplus /nolog SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 6 23:49:30 2017 Copyright (c) 1982, 2009, Oracle. All rights reserved. SQL>
表空间时点恢复,是Oracle在基于冷备,热备恢复以外的一种以表空间为粒度的,不完全恢复的形式来将表空间恢复到过去某个特定的时间点的一种恢复方式。它整合了RMAN以及DataPump这2个备份恢复工具来实现时点恢复。那它具体的过程和逻辑是怎样的?下文是其具体的描述。
因为最近需要做一个测试,就顺手搭建了一套简单的dg环境。不过碰到了一些小问题。 数据库环境是11gR2,备库是开在open状态,配置了dg broker,一切都很快完成了。备库状态为"READ ONLY WITH APPLY"当然这是期望之中ADG的状态。 然后在主库需要做一些配置,准备创建几个表空间 先创建了一个表空间 create tablespace testdata datafile '/DATA/app/oracle/oradata/test04/testdata01.dbf' size 100
环境:Oracle 10.2.0.5 RAC 需求:节点1的aq_tm_processes要求恢复默认,节点2设置要求保持不变
(单台机器)将11.2.0.4的单实例数据库由文件系统,迁移到ASM单实例的磁盘组中,并注册到集群管理。
Sometimes, the SPFILE gets damaged. When this happens, the SPFILE can be replaced by a 有时候SPFILE会被破坏掉。当这种情况发生的时候,它可已被新的代替,这个新的SPFILE是通过PFILE生成的。PFILE是在数据库创建的时候被自动生成在ORACLE_HOME\admin\SID\pfile目录下的。
领取专属 10元无门槛券
手把手带您无忧上云