![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
oracle
文章平均质量分 75
hobbypei
Java程序员
展开
-
建立oracle只读用户
在开发环境,为了防止误操作数据,我想建立一个oralce的只读用户,提供给别人使用。 使用system用户登录 1) 新建一个用户, create user testread identified by restread default tablespace test; 2) 授予此用户connect权限 grant原创 2013-04-02 11:53:33 · 2502 阅读 · 0 评论 -
linux下oracle 11g 报错ORA-00845: MEMORY_TARGET not supported on this system
使用虚拟机 linux 5 ,安装oracle11g 后可以正常使用。 今天扩大参数 memory_max_target ,后报错,无法启动。将过反复测试,发现此参数最大能为物理内存的1/2。 小于等于1/2物理内存时一切OK,大于1/2物理内存时启动报错。 操作过程如下: > alter system se原创 2013-10-20 22:14:21 · 929 阅读 · 0 评论 -
sqlplus 下的上下键翻页历史命令
在Linux下面使用sqlplus很不爽,上下键,退格键都不能用,严重降低生产效率。某一天终于发现了这个rlwrap这个好东西,特写此文记录。由于时间关系,可以从这里下载安装包。可以去网上找找可用的包,比如http://download.chinaunix.net/ ,下面找先装上一些安装rpm 一:安装readline OS的安装光盘里提供了readline包.转载 2013-09-18 22:36:18 · 643 阅读 · 0 评论 -
常用的一些rman备份恢复命令
http://www.jiagulun.com/thread-2569-1-1.html Oracle的官方文档中有rman命令的比较完整的说明,我们可以参考。下面是一些常用的命令的使用例子:Rman常用命令:一、RMAN设置1.显示RMAN默认配置Rman中可以利用show命令来显示当前的配置参数。例如,通过SHOW ALL显示当前所有的配置。RMAN> show转载 2013-08-15 21:26:24 · 427 阅读 · 0 评论 -
oracle redo日志详解
--=========================================-- Oracle 联机重做日志文件(ONLINE LOG FILE)--========================================= 转载位置: http://blog.csdn.net/robinson_0612/article/details/5749556一、Or转载 2013-08-10 18:49:18 · 3051 阅读 · 0 评论 -
flashback table不能闪回system表空间下的表,flashback database可以
flashback不能闪回system表空间下的表。 在sys,或者system用户下,将表建在system表空间,drop后无法flashback,在 select * from sys.recyclebin$中无法找到。报错ORA-38305:object not in recycle bin 在sys,system用户下 ,将表 建在 其它表空间,如 users,原创 2013-08-08 16:32:12 · 1111 阅读 · 0 评论 -
oracle调优概述
昨天听了博森瑞老师 老邱的公开课,oracle主机调优,收益匪浅。 oracle调优不单单是oracle自己的问题,和其它方面都息息相关,包括以下5个方面: 1) 主机调优 2) 网络调优 3) 数据库调优 4) 存储调优 5) 应用调优 检查oracle有没有问题,首先要看看主机原创 2013-08-09 09:49:26 · 504 阅读 · 0 评论 -
Oracle trunc()函数的用法
Oracle trunc()函数的用法 --Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2011-3-18 今天的日期为2011-3-182.select trunc(sysdate, 'mm') from d转载 2013-08-09 14:45:05 · 253 阅读 · 0 评论 -
oracle常用dump命令
一.Memory Dumps1).Global AreaALTER SESSION SET EVENTS 'immediate trace name global_area level n';1 包含PGA2 包含SGA4 包含UGA8 包含indrect memory2).Library CacheALTER SESSION SET EVENTS 'immedia转载 2013-08-08 15:14:46 · 284 阅读 · 0 评论 -
oracle11g安装完后报错cannot restore segment prot after reloc
RedhatLinux AS5.7 +Oracle11.2.0.1 X86_64位环境 安装完Oracle11.2.0.1后,通过netca创建监听程序,然后执行lsnrctl status,报错如下: [oracle @bt bin]#lsnrctl statussqlplus: error while loading shared libraries: /oracl转载 2013-08-04 22:51:39 · 532 阅读 · 0 评论 -
安装oracle10g,启动oracle oem遇到的问题
启动oem命令: emctl start dbconsole关闭oem命令: emctl stop dbconsole查看oem状态命令 : emctl status dbconsole1) 启动oem,emctl start dbconsole 报错: [oracle@node1 admin]$ emctl start dbcontrolTZ set to P转载 2013-08-03 14:37:13 · 2292 阅读 · 1 评论 -
Oracle Scheduler
Oracle Scheduler可以帮助DBA或者数据库用户自动调度和运行各种类型的作业,比如数据库备份、收集优化器统计信息、生成各种报表或者执行业务流程等等,也可以把Schedule和Resource Manager结合起来通过时间窗口激活指定的Resource Plan,完成企业在资源管理和作业调度上的各种复杂需求,在10g之前可以通过DBMS_JOB工具来实现类似的功能,但毫无疑问,DB转载 2013-12-01 11:42:51 · 305 阅读 · 0 评论 -
log_archive_dest 强制归档试验
将数据库启动到mount模式,设置为归档模式alter database archivelog;alter database open;在mount模式或者open模式下执行以下命令alter system set log_archive_dest_1='location=/oradata/orabak1' ;alter system set log_archive_dest_原创 2013-12-07 16:30:46 · 488 阅读 · 0 评论 -
to_char函数用法
本来这是很简单的函数,但在屡次忘记格式之后,决定还是翻译一遍以铭记在心。 参考>. 关于nls可有取值,请注意视图sys.V_$NLS_VALID_VALUES 一,TO_CHAR(NUMBER) 1.1 格式图和简单说明 本函数把参数N转为一个VARCHAR2类型的数值。N可以是NUMBER,BINARY_转载 2013-12-19 20:51:00 · 2946 阅读 · 0 评论 -
oracle null值以及函数
NULL指的是空值,或者非法值。有3个处理null的函数:NVL (expr1, expr2)->expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致,expr2和expr3类型不同的话,expr1会转换为expr1的类型NVL2 (expr1, expr2, expr3) ->expr1不为NULL,返回expr2;为NULL,返回expr原创 2013-12-19 23:00:36 · 567 阅读 · 0 评论 -
trunc 函数使用
1、日期比较时精确到日,可以使用 TRUNC(sysdate,'dd')函数。函数支持格式有:yyyy MM dd hh Mi可以用 select TRUNC(sysdate,'yyyy') from dual 看看结果是什么。不要按下面的方式比较日期:TO_DATE(TO_CHAR(LOGTIME,'YYYY-MM-DD'), 'YYYY-MM-DD')原创 2013-12-20 10:29:03 · 572 阅读 · 0 评论 -
oracle interval 函数
INTERVAL YEAR TO MONTH数据类型Oracle语法:INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precision)][TO {YEAR | MONTH}]该数据类型常用来表示一段时间差, 注意时间差只精确到年和月. precision为年或月的精确域, 有效范围是0到9, 默认值为2.eg:IN转载 2013-12-17 23:20:58 · 351 阅读 · 0 评论 -
Oracle 11g Alert log 文件位置的问题
1g的alert log 做了变动,从 Oracle 11g 开始,Oracle 数据库以XML与传统的文本两种格式提供 Alert 日志。新的日志位置由 Automatic Diagnostic Repository (ADR) 决定。可以通过新的初始化参数 DIAGNOSTIC_DEST 控制 ADR BASE 的位置。SQL> show parameter d转载 2013-12-16 20:21:21 · 816 阅读 · 0 评论 -
ORACLE中CONSTRAINT的四对属性
ORACLE中CONSTRAINT的四对属性 summary:在data migrate时,某些表的约束总是困扰着我们,让我们的migratet举步维艰,如何利用约束本身的属性来处理这些问题呢?本文详细介绍了约束的四对属性: Deferrable/not deferrable, Deferred/immediate, enalbe/disable, validate/novalidate,以及原创 2013-12-15 18:53:52 · 243 阅读 · 0 评论 -
share pool 原理
由于shared pool中最重要的是library cache,所以本文主要讲解Library cache的结构,library cache latch,library cache lock,library cache pin。 What is shared pool? Shared pool是SGA中的一部分,由于它是SGA的一部分,这意味着它可以被所有的进程所访问,Share转载 2013-12-15 21:12:52 · 1237 阅读 · 0 评论 -
oracle内存结构
Oracle的内存配置与oracle性能息息相关。关于内存的配置,是最影响Oracle性能的配置。内存还直接影响到其他两个重要资源的消耗:CPU和IO. 先看Oracle内存存储的主要内容是什么:程序代码(PLSQL、Java);关于已经连接的会话的信息,包括当前所有活动和非活动会话;程序运行时必须的相关信息,例如查询计划;Oracle进程之间共享转载 2013-12-15 21:10:42 · 347 阅读 · 0 评论 -
测试alter table shrink space compact cascade
SQL> alter table test_shrink enable row movement;--alter table shrink space须开启行移动Table altered.SQL> select table_name,blocks,empty_blocks,num_rows,to_char(last_analyzed,'yyyy-mm-dd hh24:mi:ss'转载 2013-12-09 18:27:39 · 354 阅读 · 0 评论 -
ORACLE联机日志文件丢失或损坏的处理方法
经验总结:联机日志分为当前联机日志和非当前联机日志,非当前联机日志的损坏是比较简单的,一般通过clear命令就可以解决问题。损坏非当前联机日志:1、启动数据库,遇到ORA-00312 or ORA-00313错误,如:ORA-00313: open failed for members of log group 4 of thread 1ORA-00312: online lo转载 2013-12-07 20:40:06 · 335 阅读 · 0 评论 -
oracle的undo表空间以及表空间转移
在开发环境的oracle库中,发现undo表空间已经占用了20G,导致磁盘空间不足,需要收缩表空间。 采用新建undo表空间的方式可以实现。 1) 确认当前undo表空间 SQL> show parameter undo 2) 新建表空间 SQL> create undo tab原创 2013-07-05 16:53:35 · 449 阅读 · 0 评论 -
使用oracle存储过程存取blob
C:\>sqlplus "/ as sysdba"SQL*Plus: Release 10.1.0.3.0 - Production on Tue Apr 26 07:11:51 2005Copyright (c) 1982, 2004, Oracle. All rights reserved.Connected to:Oracle Database 10g En转载 2013-07-01 21:22:18 · 337 阅读 · 0 评论 -
10.2.0.4导出的dmp文件导入到10.2.0.5出现的2个存储过程错误
将一个10.2.0.4导出的dmp文件导入到10.2.0.5出现的2个错误 1) 乱码问题,有几个存储过程中的汉字变成了乱码 ? , 导致存储过程编译不通过,去掉了乱码后解决。为什么会出现乱码问题那? 据说是oracle的一个bug? 有待证实。 2) 出现了ORA-00918: column ambiguously原创 2013-03-05 16:53:14 · 337 阅读 · 0 评论 -
在单机上安装多个oracle实例
1 在 hp unix上安装 oracle 10g ,这个不解释,直接安装好。 创建组oinstall,dba,用户oracle [root@node1 ~]# groupadd oinstall [root@node1 ~]# groupadd dba [root@node1 ~]# useradd -d /home/oracle -g oinstall -G dba o原创 2012-09-04 11:16:54 · 3337 阅读 · 0 评论 -
升级oracle10g到10.2.05
自己安装了一个linux 虚拟机,下载了一个10.2.05的补丁包,从10.2.01升级到10.2.05。升级完了,startup 后报错如下: SQL> startup 。。。。。。。。。ERROR at line 1: ORA-01092: ORACLE instance terminated. Disconnection forced 先看看alert报警日志原创 2013-02-18 22:22:56 · 551 阅读 · 0 评论 -
oracle使用存储过程写出txt文件
由于工作需要,需要将oracle表中的记录写成txt文件,表中一共有1000多天数据,需要每天写一个txt文件,如果只生成一个,用pl/sql 导出就行,但是1000多个文件只能由程序搞定了。 百度了一下,查到了UTL_FILE 这个包,可以操纵文件。 (1 ) 建立目录并授权 create directory txtdir as '/txtdir';原创 2013-01-31 11:37:32 · 1670 阅读 · 0 评论 -
oracle真实案例之oem大量占用cpu与内存问题的解决方法
一、介绍 由于dba离职,所以公司所有的oracle数据库服务器我先兼职管理,今天登陆某省的数据库,发现ssh登陆30秒左右才进入,之后查看了一下负载与内存,具体情况如下图:负载:没有见过这样高的负载,以前见过最多的就是负载1000多,java的问题内存:连交换内存都使用完了,物理内存就剩下71m了,太危险了top:发现了6个僵尸进程与大量的perl进行转载 2012-12-21 09:23:08 · 492 阅读 · 0 评论 -
alter system|session set events转储
格式: alter system|session set events ‘[eventnumber|immediate] trace name eventname [forever] [, level levelnumber] : …….’ 通过:符号,可以连续设置多个事件,也可以通过连续使用alter session set events来设置多个事件。 格式说明:转载 2012-12-29 21:21:20 · 498 阅读 · 0 评论 -
oracle 排序 nulls first
很有意思的用法, nulls first ,nulls last 可以指定oracle 排序时 , null值是放在前面显示,还是放在后面显示。用法如下: select * from table order by a,b nulls first select * from table order by a,b nulls last原创 2012-11-16 10:27:41 · 807 阅读 · 0 评论 -
oracle重建日志文件
正常关闭数据库的情况下(shutdown immediate或者shutdown nomal),redo文件全部丢失。此种情况下,由于是正常关闭数据库,数据文件,redo文件以及控制文件SCN是一直的,redo文件中的所有操作记录都已经归档,所以如果在这种情况下丢失所有redo的话,恢复是很简单的,一般思路是:Startup mountRecover转载 2012-11-11 20:34:13 · 1397 阅读 · 0 评论 -
oracle学习的几个疑问
1 数据块 读取 是 dbwr进程么?不是,是用户进程读取数据块的2 为什么 close 了不能再 open , 同理, dismount和 不能再次mount3 多个dbwr怎么协同工作?,同理,多个lgwr怎么协同工作4 一个行可以跨多个 block么? 跨多个block怎办? 5、误将redo日志全部误删除(在数据库运行期间删除),启动数据库报错,如何处理?启原创 2012-08-29 11:53:57 · 367 阅读 · 0 评论 -
现场误操作truncate表,如何恢复
现场人员误操作truncate表,应用又insert了数据,如何恢复? truncate相等于ddl操作,无法用flash back,如果delete操作还可以flash back。 查看容灾库,结果容灾库数据同步复制工具也做了truncate操作。 如果有dmp逻辑备份,可以用dmp恢复单表,结果现场的dmp是很久以前的,只能用rman恢复。 rman不能只恢复一个表,只原创 2012-09-12 20:42:16 · 530 阅读 · 0 评论 -
windows机器连接不上oracle,time out
自己在win7 上安装了一个vmware,安装了linux5 ,oracle10g,升级到10.2.0.5.0。 1) sqlplus / as sysdba , startup ,启动数据库实例 2) lsnrctl start ,启动数据库监听 3) 在本地建立tns,数据库别名 4) 用pl /sql 连接,发原创 2013-03-05 16:45:25 · 543 阅读 · 0 评论 -
oracle软件被删除后oracle文件的恢复
前些天春节放假,所有的服务器都关机,过完节回来开机,发现unix服务器下的oracle目录只剩下个空目录啦,里面的东西光光的啦。查了history,没发现有人做rm操作。难道是硬盘出故障了?导致挂载点/oracle直接丢失?搞了半天没有没搞明白,而且数据库还没有做dmp备份。幸好发现/oradata下面的文件都还在,通过重装oracle软件来做恢复吧。 补充个小知识,看unux下原创 2013-02-28 11:25:21 · 471 阅读 · 0 评论 -
impdp的使用,出错,解决
在开发环境新建了一个测试库,impdp已经有的dmp文件,操作过程如下: 1) 首先用scp命令从别的数据库scp一个dmp文件, scp是通过ssh实现远程拷贝的方法 scp oracle@172.52.130.2:/oradata/xx.dmp /oradata/ --oracle为登陆该服务器的用户名 --s原创 2013-03-01 01:15:07 · 4700 阅读 · 0 评论 -
oracle多表做full join以及COALESCE用法
有个需求是3张表做full join ,拼凑成一张表,测试表分别为p1,p2,p3,其中3个表根据F1列做full join, 测试数据如下: select * from p1; F1 A1 A2 A3 1 1 1 2 2 2 2 3 select * from p2; F1 B1 B2 B3 a 2 2原创 2013-03-23 08:46:29 · 2417 阅读 · 0 评论 -
解决 oracle 死锁
一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库。现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀。1.下面的语句用来查询哪些对象被锁:select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_o转载 2013-04-22 20:20:46 · 355 阅读 · 0 评论