oracle怎么刷参数,简述Oracle初始化参数文件

在Oracle里,输入参数怎么写?

你也没给出个表名,临时给你写个例子,自己运行看看结果吧

目前成都创新互联已为上千家的企业提供了网站建设、域名、网页空间、网站托管、服务器租用、企业网站设计、晋源网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

建表

create table orders(oid varchar2(10),

price int);插入数据

insert into orders values ('1111',100);

insert into orders values ('1111',200);

insert into orders values ('2222',400);建立存储过程

create or replace procedure p_orders

(v_oid varchar2)

as

v_count int;

v_pirce int;

begin

select count(*) into v_count from orders where oid=v_oid;

if v_count=0

then

dbms_output.put_line('订单编号不存在');

else

select sum(price) into v_pirce from orders where oid=v_oid;

dbms_output.put_line('编号为'||v_oid||'的订单金额为'||v_pirce);

end if;

end;

执行1

begin

p_orders('3333');--括号里这个就是订单编号

end;这个执行结果是

执行2

begin

p_orders('1111');--括号里这个就是订单编号

end;

然后你自己再改改吧

如何修改oracle参数sessions

先备份spfile

1.通过SQLPlus修改

Oracle的sessions和processes的关系是

sessions=1.1*processes + 5

使用sys,以sysdba权限登录:

SQL show parameter processes;

NAME TYPE VALUE

------------------------------------ ----------- ---------------------------------------

aq_tm_processes integer 1

db_writer_processes integer 1

job_queue_processes integer 10

log_archive_max_processes integer 1

processes integer 150

SQL alter system set processes=400 scope = spfile;

系统已更改。

SQL show parameter processes;

NAME TYPE VALUE

------------------------------------ ----------- -----------------------------------------

aq_tm_processes integer 1

db_writer_processes integer 1

job_queue_processes integer 10

log_archive_max_processes integer 1

processes integer 150

SQL create pfile from spfile;

文件已创建。

重启数据库,OK!

【注:sessions是个派生值,由processes的值决定,公式sessions=1.1*process + 5】

2.通过修改oracle配置文件进行修改

修改SPFILEORCL.ORA文件中的processes的值。8.1.5中是init.ora文件,在9i中修改init.ora文件是无效的,这个文件由于是一个二进制的文件,不能直接使用notepad此类的编辑器打开。

否则会报错误ORA-27101 Shared memory realm does not exist。使用UltraEdit或者EditPlus之类的可以编辑二进制文件的编辑器打开此文件(直接编辑二进制文件),然后在Windows服务中重新启动Oracle服务器即可。

3.通过Oracle Enterprise Manager Console在图形化管理器中修改

a.以系统管理员的身份登入

b.进入数据库的例程-配置-一般信息-所有初始化参数

c.修改processes的值

d.Sessions的值由公式sessions=1.1*process + 5派生得到

ORACLE中如何为存储过程传递参数?

第一种:只读。参数是只读的,不能修改,即调用时传递进来的是常量,或者变量(但变量不能在存储过程中修改)。通常select及DML类型的存储过程传递的是in类型的参数。

第二种:只写。忽略调用语句传递的任何参数,并在函数(过程)内部给这些参数赋值,因此是只写的。(这种情况是在函数或过程内部给参数重新赋值,但重新赋值后的参数是无法被外部调用的(好像游标类型的参数除外))

CREATE OR REPLACE  PROCEDURE "SCOTT"."SWAP" (firstValue out

number, secondValue out  number) is

temp number;

begin

temp := firstValue;

firstValue := secondValue;

secondValue := temp;

end swap;

外部调用:

set serveroutput on;

declare

firstVal number;

secondVal number;

begin

firstVal := 10;

secondVal := 20;

scott.swap(firstVal,secondVal);

dbms_output.put_line('first is ' || firstVal);

dbms_output.put_line('second is ' || secondVal);

end;

无法在外部访问到firstValue与secondValue的值。此时打印出的结果为:

first is

second is

第三种:读或写。这可以完全控制参数,读取传递的参数的值。可以再函数(过程)内部修改参数的值,在退出函数(过程)后,这些参数被赋给在函数内部写入的值,这样就可以返回多个值。(即入口参数写入值后,可以传递到函数(过程)的外部,供外部调用的时候使用)

ps:函数中的返回值为如下几种:

char;  varchar2; number; integer; date; boolean; table; record

SQL CREATE OR REPLACE PROCEDURE HelloWorld2 (

2    p_user_name IN     VARCHAR2,

3    p_out_val   OUT    VARCHAR2,

4    p_inout_val IN OUT VARCHAR2

5 ) AS

6 BEGIN

7     dbms_output.put_line('Hello ' || p_user_name || p_inout_val || '!');

8     p_out_val := 'A';

9     p_inout_val := 'B';

10 END HelloWorld2;

11 /

Procedure created.

SQL DECLARE

2    p_outval VARCHAR2(10);

3    p_inoutval VARCHAR2(10) := '~Hi~';

4 BEGIN

5    HelloWorld2('Edward', p_outval, p_inoutval);

6

7    dbms_output.put_line('p_outval=' || p_outval);

8    dbms_output.put_line('p_inoutval=' || p_inoutval);

9 END;

10 /

Hello Edward~Hi~!

p_outval=A

p_inoutval=B

PL/SQL procedure successfully completed.


当前文章:oracle怎么刷参数,简述Oracle初始化参数文件
分享网址:http://azwzsj.com/article/dseepeh.html