oracle
文章平均质量分 66
DBrabbit
这个作者很懒,什么都没留下…
展开
-
imp 全量导出,按用户导入
之前一直用惯了expdp,突然来了一个dmp文件,不上手啊,搞了1个小时;1、删掉用户drop user xxxx cascade;2、重新创建用户create user xxxx identified by xxxx default tablespace users;grant unlimited tablespace to xxxx;---需要创建jobgrant原创 2015-03-20 14:45:06 · 3284 阅读 · 0 评论 -
查询oracle的表列信息以及注释信息
1、查询表和列的注释信息select t3.table_name, t3.comments, t1.COLUMN_NAME, t2.comments, t1.DATA_TYPE || '(' || decode(t1.DATA_TYPE, '',原创 2014-12-03 13:55:03 · 638 阅读 · 0 评论 -
OUI-10151:There was an error while loading library: generalQueries
重新生成stage,介质有问题!原创 2014-12-02 19:49:15 · 2250 阅读 · 0 评论 -
VM设置共享磁盘
之前一直使用vBox,突然使用VM感觉很不适应,尤其是创建共享磁盘切记:在任意修改你的*.VMX之前,建议你备份下!!!使用小工具来创建共享磁盘低版本是plainmaker.exe现在的大部分都是vmware-vdiskmanager.exee:\vm\RAC1>E:\"Program Files (x86)"\VMware\vmware-vdiskmanager.exe -c原创 2014-12-02 16:23:15 · 865 阅读 · 0 评论 -
Oracle 内存管理
最近发现在内存的管理上还是存在一定的理解偏差,拿来官当看下总结如下:下级设为0,则为自动管理;If you create your database with Database Configuration Assistant (DBCA) and choose the basic installation option, automatic memory management is e原创 2014-12-01 11:55:49 · 404 阅读 · 0 评论 -
共享服务器和专有服务器
在这两个服务器的选择问题上,基本上没有太多的比较内容,在was或者weblogic等中间件的存在下,OLTP下一般都是专有服务那如何设置专有服务器和共享服务器呢?专用服务器模式就是说每次在对Oracle进行访问的时候,Oracle服务器的Listener会得到这个访问请求,然后回为这个访问创建一个新的进程来进行服务。所以说,对于每一个客户端的访问,都会生成一个新的进程进行服务,是一种类似一原创 2014-12-01 13:57:37 · 586 阅读 · 0 评论 -
impdp ORA-00001: unique constraint (SYS.I_JOB_JOB) violated
impdp system/******** directory=DUMP_DIR_TEST dumpfile=czyjpxdb1113.dmp logfile=czyjpxdb1113.log schemas=mgrdb,accdb,txndb,comdb,czyjdb,rpt,stldb remap_tablespace=TBS_CZKDATA:TBS_CZYJDATA1报错:ORA-3原创 2014-11-14 16:25:45 · 12532 阅读 · 0 评论 -
增大redo
近期需要增大生产的联机日志的大小,为防止在生产库出现纰漏,做以下储备一、redo的设计原则1、redo的大小redo的大小主要取决于业务量的大小,即数据库中DML的多少,一般是10~15分钟切换一次最为合适2、redo的位置在数据库中一般默认设置3组以上的日志且在同一存储上,若条件允许可以实现:将每一组日志设置2个member成员,为避免因为存储坏掉而丢失数据,将成员存放在原创 2014-11-05 22:04:47 · 780 阅读 · 0 评论 -
手动创建库后,sys用户查询dba_tablespaces报错:ORA-00942: table or view does not exist
在使用脚本创建数据库后,使用sys用户查询dba_tablespaces原创 2014-11-20 23:46:40 · 2823 阅读 · 1 评论 -
手动创建数据库脚本以及报错处理:ORA-01519ORA-00604ORA-30012
脚本:CREATE DATABASE yun USER SYS IDENTIFIED BY oracle USER SYSTEM IDENTIFIED BY oracleLOGFILE GROUP 1 '/u01/app/oracle/oradata/yun/redo01.log' SIZE 50M, GROUP 2 '/u01/app/oracl原创 2014-11-20 23:49:00 · 2670 阅读 · 0 评论 -
ASMlib
ASMlib下载以及安装http://www.oracle.com/technetwork/server-storage/linux/downloads/rhel5-084877.html在安装ASMlib的时候需要的OS包需要注意内核的版本与ASMlib包的对应:1)注意一点kernel-PAE/kernel-xen/都是内核的一种,并不能全部安装!一切以uname -a 的结果原创 2014-12-02 16:24:02 · 626 阅读 · 1 评论 -
expdp使用parfile
在一般的导入导出中,使用:expdp system/oracle directory=exp_dir dumpfile=sss.dmp schemas=sss logfile=sss.log使用parfileexpdp parfile=parfilename排除某些用户下的某些表:userid=system/oracleschemas=usernamedirectory原创 2014-12-20 22:06:48 · 5070 阅读 · 0 评论 -
expdp远程导入本地
创建DBLINKcreate public database link a_link connect system identified by oracle using 'AAAA'在TNSname.ora中增加解析AAAA =(DESCRIPTION = (ADDRESS = (PROTOCOL = tcp)(HOST = 10.10.55.133)(PORT = 1521原创 2015-02-10 14:17:54 · 561 阅读 · 0 评论 -
expdp/impdp 挂起处理
expdp/impdp 挂起处理现象:在执行expdp或者是impdp时,往往会出现导入表成功,但是在Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX或者其他地方挂起处理方法:1、检查alert日志2、检查主机资源 top(内存) + df -h3、查看表空间使用率4、确定等待事件 select sid,ser原创 2014-12-27 23:55:58 · 7812 阅读 · 0 评论 -
DBMS_METADATA.GET_DDL
最开始我是想查询MVIEW的DDL的,可是没查到,搜到了Dave的文档,先保存下吧http://blog.csdn.net/tianlesoftware/article/details/4868007Oracle 在9i以后,可以利用DBMS_METADATA.GET_DDL包得到数据库的对象的ddl脚本。如下(SQLPLUS中执行):1. 获取单个的建原创 2014-12-29 15:25:22 · 494 阅读 · 0 评论 -
实验:分区别对比普通表
创建分区表range的create table rg_yzy (OBJECT_NAME VARCHAR2(128),OBJECT_ID number,CREATED date not null)partition by range(created)(partition rg_001 values less than (to_date('2012/01/01','yy原创 2015-01-16 16:36:29 · 515 阅读 · 0 评论 -
定时删除虚拟列分区
这是我的测试过程:其中的表、存储过程、job等都需要根据生产环境进行修改drop table vtest purge;create table vtest (day1 date,day2 char(8),fqkey date generated always as (to_date(day2,'YYYYMMDD'))) partition by range(fqke原创 2015-01-15 23:15:50 · 582 阅读 · 2 评论 -
11G新特性虚拟列分区表
11G新特性虚拟列分区表Oracle11g 增加了虚拟列的新特性, 具体说明如下:1> 只能在堆组织表(普通表)上创建虚拟列,不能在索引组织表、外部表、临时表上创建虚拟列2> 虚拟列不能是LOB或者RAW类型3> 虚拟列的值并不是真实存在的,只有用到时,才根据表达式计算出虚拟列的值,磁盘上并不存放4> 可把虚拟列当做分区关键字建立分区表,这是ORACLE 11g的另一新特性--原创 2015-01-15 00:09:07 · 895 阅读 · 1 评论 -
redo undo buffer cache
读取一个数据,首先会将该数据块从数据文件读取到buffer cache中,此时会申请undo表空间的数据块来构建CR块,此操作是在内存中完成的,此时undo数据块的状态由原来的free变成了前数据影像,会生成一条redo信息,此时,可以对buffer cache中的数据进行修改,将值由A update成B,又会生成一条redo信息,此时,如果涉及到索引项等信息,又会生成redo信息,但是所有的这些原创 2015-01-13 22:51:16 · 698 阅读 · 0 评论 -
ORACLE DATABASE Patch for Bug# 10194190 for Solaris-64 Platforms
Oracle Database 11g Release 11.2.0.4.0ORACLE DATABASE Patch for Bug# 10194190 for Solaris-64 PlatformsThis patch is RAC Rolling Installable - Please read My Oracle Support Document 244241.1 h原创 2014-12-20 22:13:27 · 2461 阅读 · 0 评论 -
归档日志比在线日志小很多
Archived redolog is (significant) smaller than the redologfile. (Doc ID 1356604.1)To BottomIn this DocumentSymptoms Changes原创 2014-12-20 21:59:28 · 882 阅读 · 0 评论 -
客户端会话成功连接至Oracle服务端后,监听的启动和关闭就不会影响已经连接的会话
当客户端会话成功连接至Oracle服务端后,监听的启动和关闭就不会影响已经连接的会话了lsnrctl status,确定使用PL/SQL连接数据库,执行查询语句 停掉监听,再次执行语句 因此,在数据库进行升级,重启等等过程中,需要先停掉监听,再将现有的会话杀掉!原创 2014-11-25 11:46:21 · 2349 阅读 · 0 评论 -
buffer cache的优化指标
1)、buffer cache的命中率命中率高说明sql基本都可以从buffer cache中拿到数据,要比从磁盘快的多但是也有例外a、大表全表扫描如果大表的数据块不在buffer cache中,则对大表进行全表扫描就会产生大量的物理读,进而导致buffer cache的命中率下降,但是业务依然是正常的,多见于OLAP系统中。可见,基线的作用。b、执行计划错考虑到极端情况,原创 2014-11-18 10:58:52 · 674 阅读 · 0 评论 -
误删除数据文件的物理文件,如何恢复(归档开启)
删除test表空间SQL> drop tablespace test including contents and datafiles;Tablespace dropped.创建实验表空间SQL> create tablespace test datafile '/u01/app/oracle/oradata/zhoul/test01.dbf' size 10M;Tablesp原创 2014-11-13 10:35:44 · 1560 阅读 · 0 评论 -
操作系统空间满,报错处理
跟踪文件检查在10g和11g中位置不一致可以通过视图进行检查v$diag_infocol name for a35col value for a90set linesize 150select inst_id,name,value from v$diag_info;在数据库的维护中,经常遇到操作系统空间占满而导致数据库启动异常的情况df -h/ 100%原创 2014-11-12 09:34:19 · 499 阅读 · 0 评论 -
undo段头信息以及故障处理
本文主要介绍下undo段头的基本信息,以及在undo段出现问题时的处理步骤在数据库启动过程中,smon进程会扫描undo段头的信息,来确定是否进行回滚,因此undo段头的信息很重要。SQL> create table t3 as select * from scott.t1;Table created.SQL> select count(*) from t3; COUNT(*原创 2014-11-11 15:06:44 · 521 阅读 · 0 评论 -
rollback segment手动管理的意义
文章的目的:回滚段的手动管理很多朋友在研究Oracle的Undo段管理的时候,都会看到很多的资料都会介绍手动管理,而不单单是自动管理,除了手动create/offline/online外,那他的意义在哪?这里只说明一点,当在undo出现逻辑坏块时使用手动管理的方式实现实例恢复还有其他的发现,以后再继续补充![oracle@mydb02 ~]$ sqlplus / as sysdba原创 2014-11-09 19:13:49 · 2507 阅读 · 0 评论 -
undo_retention设置以及优化
检查undo的管理方式SQL> show parameter undo_NAME TYPE VALUE------------------------------------ ----------- ------------------------------undo_management原创 2014-11-11 11:46:10 · 15637 阅读 · 0 评论 -
undo管理方法与lob字段的关系 ORA-30014
SQL> alter system set rollback_segments='UNDO01' scope=spfile;System altered.SQL> alter system set undo_management='MANUAL' scope=spfile;System altered.SQL> startup forceORAC原创 2014-11-09 23:13:27 · 792 阅读 · 0 评论 -
ls查看临时文件大小不靠谱
SQL> !df /u01Filesystem 1K-blocks Used Available Use% Mounted on/dev/sdb1 19236308 10967768 7291388 61% /u01SQL> select name,bytes from v$tempfile;NAME原创 2014-11-07 13:55:36 · 689 阅读 · 0 评论 -
临时表真的不生成redo日志吗?
澄清大家一个常见的错误:临时表是否产生redo临时表本身的操作并不产生redo,但是在临时表中处理数据时,是要产生undo的,而undo是要产生redo的,但相比较普通表要少很多。[oracle@mydb02 ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Fri Nov 7 14:21:52原创 2014-11-07 14:29:54 · 1496 阅读 · 0 评论 -
trace 10061 屏蔽smon对临时段的处理
SQL*Plus: Release 10.2.0.5.0 - Production on Tue Oct 28 01:24:56 2014Copyright (c) 1982, 2010, Oracle. All Rights Reserved.Connected to:Oracle Database 10g Enterprise Edition Releas原创 2014-11-07 13:35:39 · 588 阅读 · 0 评论 -
logminer配置与使用
logmnr挖掘有一个基本条件就是必须打开附加日志SQL> select SUPPLEMENTAL_LOG_DATA_MIN from v$database;SUPPLEME--------YES如果未开启,需要手动开启alter database add supplemental log data;1)要安装LogMiner工具,必须首先要运行下面这样两个脚本,@原创 2014-11-13 10:47:37 · 693 阅读 · 0 评论 -
开启闪回
检查是否开启归档SQL> select flashback_on from v$database;FLASHBACK_ON------------------NO检查flashback日志中最旧的SCNSQL> select oldest_flashback_scn from v$flashback_database_log;no rows selected之前没有原创 2014-11-13 11:19:27 · 833 阅读 · 0 评论 -
free buffer waits,buffer busy waits
free buffer waits给予性能上的考虑,当server process扫描LRU主列时,同时会将LRU-W上的脏块写到LRU链上,若没有足够可用的buffer cache,就能成并不会无休无止的扫描LRU主列,而是达到一定的阈值(这个值由_db_block_max_scan_pct)决定。DBWR写脏块完成之前,服务进程等待空闲缓冲区时会出现free buffer waits。原创 2014-11-17 22:31:23 · 1918 阅读 · 0 评论 -
buffer cache的优化思路
buffer cache等待事件的发生主要原因有两个:buffer cache太小、buffer cache中块的争用buffer cache太小思路:1)buffer cache 内存不足;这是客观因素,如果短时间内无法解决内存问题 ,在I/O和CPU资源足够的情况下,可以考虑将部分表直接路径读,从而减少对buffer cache的使用,此外可以考虑将一下使用频率较低的表写到recy原创 2014-11-18 15:23:34 · 567 阅读 · 0 评论 -
cache buffers chain latch && cache buffers lru chain latch
以下情况需要拿到cache buffer chain latch:1、服务器进程需要扫描hash chain的数据块时2、服务器进程将数据挂载到hash chain时oracle10g中在数据库中的持有cache buffers chains的对象:select sid,p1raw,p2,p3,seconds_in_wait,wait_time,state from v$sessi原创 2014-11-17 14:48:09 · 596 阅读 · 0 评论 -
控制文件的管理维护以及注意事项
常见的控制文件故障处理1、其中一个控制文件损坏SQL> select name from v$controlfile;NAME----------------------------------------------------------------------------------------------------/u01/app/oracle/oradata/orc原创 2014-11-14 14:28:31 · 630 阅读 · 0 评论 -
闪回日志管理
闪回是在10g之后才有的,他与undo中的前影像数据不同,闪回日志是以数据块为单位的,而undo是以行为单位的开启闪回查询闪回日志的基本信息SQL> select NAME,LOG#,THREAD# ,SEQUENCE#, BYTES,FIRST_CHANGE# ,FIRST_TIME from v$flashback_database_logfile;NAM原创 2014-11-14 14:25:26 · 1752 阅读 · 0 评论 -
归档日志文件管理
1、修改归档模式必须正常关闭数据库,shutdown abort 后无法修改归档,---instance recovery required2、归档日志的命名规则:10g的归档日志中必须包含t/s/r三个符号,不然会报错%T_%S_%R.dbf相比于9I,增加了r参数,resetlogs_id,保证在数据库resetlogs打开后仍然可以保证备份集的有效。各个参数的意义:s原创 2014-11-14 14:23:36 · 603 阅读 · 0 评论