执行procedure 动态传入参数

关键字: 存储过程调用存储过程 游标 cursor 绑定变量 动态传入参数

以前自己写过一个参数过程,不过是只处理单条数据,今天遇到要批量数据要处理,懒 有时也是一种优点,懒就会想法减少工作量,所以把数据导入数据表中,再批量调用,平时很少用游标遇到点问题,还好网友帮忙,在此分享。

————————

DECLARE
….

rman之丢失controlfile 控制文件恢复

如果controlfile 丢失对数据库来说也是灾难性的,下面说说如何恢复controlfile的几种方法

1. 使用RMAN工具备份恢复controlfile

RMAN参数选项”CONFIGURE CONTROLFILE AUTOBACKUP

ORA-01031:insufficient privileges淡oracle登录认证

有时大家会有疑惑,为什么有是sqlplus / as sysdba无法登录?又是什么时候应该密码文件?什么时候应该数据库验证?为什么远程不能登录?首先你得了解下面两个选项

关于oracle os认证和口令文件认证的简要解析

oracle snapcf_.f/ SNAPSHOT CONTROLFILE 什么作用?

在$ORACLE_HOME/dbs/下有个snapcf_sid.f文件,也就是在rman 中CONFIGURE SNAPSHOT CONTROLFILE NAME TO ‘xxxx’ 的文件,据我个人理解,它就是一个控制文件的快照,rman同步catalog或备份控制文件时会自动更新这个文件,在rman 的restore controlfile from autobackup时需要,可以用来恢复控制文件。

在metalink 也有介绍….

ORACLE lksid/lk是什么文件

今天发现在$ORACLE_HOME/dbs/有多了个 lk的文件,不知道这是什么?删除后又回重建,上网查了一下

这是一个内存锁定的文件,如果数据库ummound 文件锁会自动解开,但如果异常关闭数据库文件未解开,再重启时就会报

ORA-01102: cannot mount database in EXCLUSIVE mode异常,这时需要手动删除该文件

oracle 三言两语说说什么是rman

前段时间看书有一处提到dba的职责是什么?最重要的工作是什么?确保数据完整性,当然实际点就是领导不看你优化出了多少业绩,相对来说不丢失数据系统正常运行这就是你存在的价值。

所以这几天就来说说rman,数据库的恢复与备份…..

oracle rman之丢失spfile恢复

我们只说spfile丢失的恢复方法,spfile 是一个二进制文件不可以手工修改,实例启动时查询顺序为spfile>pfile>init,

1,如果有pfile 当然可以用pfile 启动,然后create spfile from pfile;

2,如果没有pfile 也可以去alter日志copy一段内容,新建个pfile用上面的方法建spfile;

3,如果以前用rman 做过备份且备了spfile,就可以用rman 来恢复一个

下面实验第3条用rman….

oralce 去除数据库中的回车换行符

数据库中有时会存在一种不可见字符如回车换行符,一眼看不出来,但是又影响应用程序的显示,怎么样去除这些字符?

实验开始

web应用显示 后面多出很多空行如下

让sqlplus 支持上下方向键翻动历史命令

linux ORACLE sqlplus默认不支持向系统或WINDOWS ms-dos 那要向上、向下查询命令记录

不过在linux可以安装一个程序来支持

它就是 rlwrap

三言两语说说ORACLE DG是什么东西

DG 的作用举足轻重,在高可用的企业级数据库有着非常重要的角色,数据保护、备份、灾难恢复、容灾等很多形容词在oralce数据库中都与它相关。
DG 名字很多,又名数据卫士, 灾难恢复全名oracle data guard…

oracle listener监听设密码作用

oracle 的监听机制是外部应用程序连接oracle的入口。用oracle提供的lsnrctl 程序进行管理。一般很多人在管理oracle的时候,往往忽略对listener 的安全管理:监听在端口1521(默认端口)上的oracle tnslsnr未设置口令保护!

  这会存在这个安全隐患:远程的Oracle tnslsnr服务器没有被设置密码,一个攻击者….

oracle 启动时ORA-32004问题解决

今天启动一个oracle 服务时报了ora-32004异常,但数据库还是打开了,不影响使用,网上搜了一下资料,发现是参数文件中有一个参数在oracle 10g中已经抛弃但该参数设置了的原因,情况如下
SQL> startup
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE instance started.

oracle 更改表或其它对象所有者(modify table schema)

前段时间听到有个网友问有个表在 user1方案里,怎么修改到user2方案

其实普遍的方法是在user2建表 create table xxx as select * from user1.tabname;

也可以exp 从user1/ 再imp user2方案下,这种可以做多个对象的转移,

我在想有没有一种修改基表的方法,轻易的改变方案或所有者,后来成功了,现在分享一下,不建议在生产环境中用
….

oracle 缩小表空间大小(减小数据文件)

已分配好的表空间,可能开始分的很大,后来怎么让它释放掉一部分还不影响已存在的数据?很多人都有这个疑问,方法很多,exp/expdp 导出表空间数据,建个小的表空间,imp/impdp导入,删除原来的表空间;还有可以在原来的表空间直接做,往大了resize 都知道,可以,但往小了resize 可以么?答案是可以的,只要是未使用的空间。下面开始实验
….

ora-30036 异常解决方法

当你的数据库指定的UNDO表空间很少,并执行一个相对大的事务是就会 与这个错误相遇,你的事务产生的大量 rollback segments或UNDO信息在你的UNDO TABLESPACE放不下。

ora-30036:无法按1024扩展段(在撤消表空间”undotbs1″中)

解决方法两种
…..

Troubleshoot oracle job is not run automatically(不自动执行原因)

刚才有网友提出job创建正常就是不执行,目标是每分钟一次执行一次,

job创建语法如下

SQL> variable job1 number;
SQL> begin
dbms_job.submit(:job1,’p_test;’,sysdate,’sysdate+1/24/60′);
end;

不执行,首先我想到了系统参数job_queue_processes ,show parametere job 值为0,果然,alter system set job_queue_processes=10,给job分配10个进程配额,问题解决。

现把其它可能的原因收集分享一下,如下…..

,

查看oracle 最大并发值

如何查看ORACLE的并发值,也就是说在某一秒同时在线的人数

可是查看v$license视图

v$license视图:

里面记录了Oracle最大的并发数以及当前用户的连接数,

SQL> select SESSIONS_CURRENT,SESSIONS_HIGHWATER from v$license;

Oracle+9i&10g编程艺术:深入数据库体系结构 作者tom 下载

在oracle 界你不应该不知道tom

Tom,Thomas Kyte ,一个人支撑 AskTom 的那个家伙。

现在共享一下他的一本经典之作 中文版,不过还是建议有条件的购买正版书,我买了这本书记的90多元吧很厚很受用,语言很通俗,也感谢翻译的人

oracle 与归档日志相关的几个视图

归档日志占据的数据库举足轻重的位置,以下系统视图来了解归档日志情况

V$ARCHIVE
V$ARCHIVED_LOG 已归档日志详单
V$ARCHIVE_GAP 归档日志丢失
V$ARCHIVE_PROCESSES 归档进程信息
V$ARCHIVE_DEST 查看备份路径情况
….

oracle 分析函数实现跨年度比对

用分析函数对比一个只记录时间区间与一个详细时间记录做对比,用到oracle连接sql server…