存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。
定义总是很抽象。存储过程其实就是能完成一定操作的一组SQL语句,只不过这组语句是放在数据库中的(这里我们只谈SQL Server)。如果我们通过创
建存储过程以及在ASP中调用存储过程,就可以避免将SQL语句同ASP代码混杂在一起。这样做的好处至少有三个: 网管网bitsCN.com
* 第一、大大提高效率。存储过程本身的执行速度非常快,而且,调用存储过程可以大大减少同数据库的交互次数。
* 第二、提高安全性。假如将SQL语句混合在ASP代码中,一旦代码失密,同时也就意味着库结构失密。
* 第三、有利于SQL语句的重用。
oracle 存储过程的基本语法
1.基本结构
CREATE OR REPLACE PROCEDURE 存储过程名字
(
参数1 IN NUMBER,
参数2 IN NUMBER
) IS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
54com.cn
END 存储过程名字
2.SELECT INTO STATEMENT
将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
记录,否则抛出异常(如果没有记录抛 ......
深入了解Oracle SCN (1)
--------------------------------------------------------------------------------
[说明]本来在研究Backup and Recovery,可是在做实验的时候遇到一些问题不是很理解,进而追根求源,想搞清楚,于是必须搞清楚SCN和Recovery之间的关系。于是乎转而研究SCN,这两天看了很多文章,包括Eygle网站上的文章,itpub上biti等大师以前发过或者参与讨论过的帖子,发现思路有模糊到清晰,再由清晰到模糊,越走越深,至今还没有完全搞清楚。决定暂时到此为止,等以后各方面的知识积累多了,再转过来研究一下。本想自己写个总结性的文章,可是发现了一篇文章已经写的很好了,我就懒惰的以逸待劳,copy过来了,在此谢谢前辈们的工作,大家辛苦了~
SCN的概念
SCN是顺序递增的一个数字,在Oracle中用来标识数据库的每一次改动,及其先后顺序。SCN的最大值是0xffff.ffffffff。
SCN的管理方式
Oracle对SCN的管理,分为单节点和RAC两种方式。
单节点的instance中
单节点的instance中,SCN值存在SGA区,由system commit number latch保护。任何进程要得到当前的SCN值,都要先得到这个latch。
RAC/OPS环境中
Oracle通过排队机制(Enqueue)实现SCN在各并行 ......
* start Oracle *
set noexec_user_stack=1
set msgsys:msginfo_msgmax=65535
set msgsys:msginfo_msgmnb=65535
set msgsys:msginfo_msgmap=258
set msgsys:msginfo_msgmni=1792
set msgsys:msginfo_msgssz=32
set msgsys:msginfo_msgtql=1792
set msgsys:msginfo_msgseg=32767
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmseg=240
set shmsys:shminfo_shmmni=2048
set semsys:seminfo_semmni=2048
set semsys:seminfo_semmap=2050
set semsys:seminfo_semmns=4300
set semsys:seminfo_semmnu=2048
set semsys:seminfo_semume=240
set udp:udp_xmit_hiwat=65536
set udp:udp_recv_hiwat=65536 ......
Oracle将表授权给用户的命令
命令:grant xxx权限 on TableA to USERA
grant select,insert,update,delete on 表名 to 用户名
例如:将test表的查询权限赋予solidwang这个用户
grant select on test to solidwang ......
TO_DATE格式(以时间:2007-11-02 13:45:25为例)
Year:
yy two digits 两位年 显示值:07
yyy three digits 三位年 显示值:007
yyyy four digits 四位年 显示值:2007
Month:
mm number 两位月 显示值:11
& ......
--创建用户
create user iagent identified by ia
profile default
default tablespace users
temporary tablespace temp
account unlock;
--给创建的用户授权
grant create user,drop user,alter user,create any view,drop any view,exp_full_database,imp_full_database,dba,connect,resource,create session
to iagent;
--把备份文件拷到本地硬盘(本例以D盘为例),然后导入数据库
$ imp '
' file=d:\expdata_iagent_2009-12-07.dmp ignore=y indexes=y grants=y rows=y fromuser=iagent touser=iagent log=d:impdat_2009-12-07.log
这里需要注意一点 备份文件导出的时候用的是哪个用户 导入的时候就得用那个用户(或者是具有和导出备份用户相同权限的其他用户) ,此例中导入采用的是用户为system 密码为dbmanager的用户 ,导入成功后 ,在客户端要连接此ORACLE,需要修改客户端的tnsnames.ora 文件 如:
IAGENT =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.235.128)(PORT = 1521))
)
......