oracle的包怎么调 oracle包的作用

如何调用ORACLE程序包中的存储过程

pl/sql里,select

网站制作、做网站的关注点不是能为您做些什么网站,而是怎么做网站,有没有做好网站,给创新互联一个展示的机会来证明自己,这并不会花费您太多时间,或许会给您带来新的灵感和惊喜。面向用户友好,注重用户体验,一切以用户为中心。

语句必须接into

,不接into那就得返回一个游标出去,比如

create

or

replace

package

test_package

is

procedure

query_test(num

number,po_cursor

out

sys_refcursor);

end

test_package;

create

or

replace

package

body

test_package

is

procedure

query_test(num

number,po_cursor

out

sys_refcursor)

is

begin

select

unitname,tradetype,workernumber

from

test

where

income=num;

end

query_test;

end

test_package;

Oracle PLSQL怎么用调用函数包

pl/sql 里面定义的包在调用的时候使用exec 命令调用,例如:exec package_name.过程名()

过程名():包体里面定义的公用过程。

不知道我的回答你清楚了吗?

如何建立oracle包,如何调用包的过程或是函数

包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成

1.创建包

--创建一个包sp_package

create package sp_package is

--声明该包有一个过程和函数,(没有实现)

procedure update_sal(name varchar2,newsal number);

function annual_nicome(name varchar2) return number;

end;

--创建包体(用于实现已经声明的函数和过程)

create package body sp_package is

procedure update_sal(name varchar2,newsal number)

is

BEGIN

UPDATE emp

SET    sal = newsal

WHERE  ename = name;

END;

function annual_income(name varchar2)

return number is

annual_salary number;

BEGIN

SELECT sal * 12 + Nvl(comm,0)

INTO   annual_salary

FROM   emp

WHERE  ename = name;

RETURN annual_salary;

END;

end;

--调用包中的内容

exec sp_package.update_sal('name',number);

oracle怎么用复制的包

1、首先打开电脑,点击进入浏览器。

2、其次点击搜索oracle,选择第一个进入,点击选择数据化,选择复制的包,点击使用。

3、最后点击确认即可。

oracle package body怎么执行啊?

包只是作为 程序的一个载体而已,你要运行,当然是去调用它!

包里面可以包含函数、过程等,你可以开发程序时候调用包里面的这些程序!没有听说过包怎么运行的道理!

就像电视机(包)可以用来看电视,但是你不去打开它(调用包),它就没有作用!

楼下的明显误导别人啊,包何来参数之说?只有包里面的程序才有参数,调用包里面过程的方法如下:

begin

exec 包名.过程名();

end;

函数的调用就不用我写了吧!

ubuntu下安装oracle缺少很多包怎么解决

Ubuntu12.04 安装Oracle10g 全过程(完美)及问题解决办法

PS:正常情况下,完美无错。。如果遇到问题,也有解决办法1.安装前准备工作

1.1 到oracle官网下载适合自己电脑的oracle软件包;我的是:Oracle Database 10gRelease 2 (10.2.0.1.0)Enterprise/Standard Edition for Linux x86下的:10201_database_linux32.zip地址: 更新ubuntu

# apt-get update

# apt-get upgrade

1.3 安装额外的javaJDK

可在【Ubuntu软件中心】搜OPENjdk,安装OpenJDK 完成后path路径自动设置好了1.4 安装缺少的包并降低GCC版本

apt-get install gcc make binutils lesstif2 libc6 libc6-dev rpm libmotif3 libaio1 alienapt-get install ksh libtool libstdc++5 build-essential compat-libstdc++卸载gcc-4.6,安装gcc-4.4 版本

apt-get remove gcc-4.6

apt-get install gcc-4.4

1.5 创建oracle用户

登录到root用户下操作:

1.5.1 修改shell

ls -l /bin/sh 如果是dash修改为bash

rm /bin/sh

ln -s /bin/bash /bin/sh

1.5.2 创建用户和组及oracle安装路径

addgroup oinstall

addgroup dba

addgroup nobody

usermod -g nobody nobody

adduser oracle

usermod -g oinstall -G dba oracle

id oracle

id nobody

mkdir -p /opt/oracle

mkdir -p /opt/oradata

chown -R oracle:dba /opt/ora*

chmod -R 775 /opt/ora*

1.5.3 创建欺骗版本声明

vi /etc/redhat-release

然后向其中加入 Red Hat Linux release 3.1

1.5.4 建立链接

ln -s /usr/bin/gcc-4.4 /usr/bin/gcc

ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /lib/libgcc.s.so.1ln -s /usr/bin/awk /bin/awk

ln -s /usr/bin/rpm /bin/rpm

ln -s /usr/bin/basename /bin/basename

mkdir /etc/rc.d

ln -s /etc/rc0.d /etc/rc.d/rc0.d

ln -s /etc/rc1.d /etc/rc.d/rc1.d

ln -s /etc/rc2.d /etc/rc.d/rc2.d

ln -s /etc/rc3.d /etc/rc.d/rc3.d

ln -s /etc/rc4.d /etc/rc.d/rc4.d

ln -s /etc/rc5.d /etc/rc.d/rc5.d

ln -s /etc/rc6.d /etc/rc.d/rc6.d

ln -s /etc/init.d /etc/rc.d/init.d

1.5.5 添加用户到sudoer列表中

vi /etc/sudoers

在“ root ALL=(ALL:ALL) ALL” 下一行 ,添加:

oracle ALL=(ALL:ALL) ALL

1.5.6 修改内核参数和系统变量

A 修改/etc/sysctl.conf文件(可以不用修改)

gedit /etc/sysctl.conf

添加如下内容:

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 25 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000B 修改/etc/security/limits.conf(可以不用修改)gedit /etc/security/limits.conf

添加如下内容:

* soft nproc 2407

* hard nproc 16384

* soft nofile 1024

* hard nofile 65536

说明:不要忘了“*”号,可以换成oracle

C 修改ubuntu的oracle用户的环境变量

修改/home/oracle/.profile和/etc/profile两个文件vi /home/oracle/.profile

vi /etc/profile

添加如下内容:

#oracle_path start

export ORACLE_HOME=/opt/oracle

export ORACLE_SID=orcl

export ORACLE_OWNER=oracle

export PATH=$PATH:$ORACLE_HOME/bin

#oracle_path end

1.5.7 使参数生效

重启系统 或 终端执行命令 sysctl -p

1.5.8 将下载好的oracle安装文件mv到/home/oracle下,并解压。注销root用户,登录oracle用户2.开始安装oracle

2.1 打开终端,cd到/home/oracle/database的oracle解压文件下,执行下面这条命令./runInstaller -jreLoc /usr/lib/jvm/java-6-openjdk-i386/jrejava-version是java的安装版本,这一句是为了在图像化装oracle是不会出现乱码或者方框然后就向windows下安装一样的图像化安装界面。

不行的话,使用英文安装界面

export LANG=ENGLISTH

./runInstaller

2.2 按照下面的图像步骤操作

执行到配置配置脚本时

切换到root下,在终端中执行脚本

/home/oracle/oralnventory/orainstRoot.sh

/opt/ora10/root.sh

2.4 出现oracle database 10g 安装完成时,记下两个URL。

2.5 安装数据库

在终端中执行如下命令:

$dbca //如果出现中文乱码,执行下面命令$cd /opt/ora10/bin

$gedit dbca

在dbca中找到“JRE_DIR=/opt/ora10/jdk/jre”,替换为JRE_DIR=/usr/lib/jvm/java-1.6.0-openjdk/jre ,然后保存退出$dbca //正常显示了

2.6 按照下面步骤执行

但是:要将数据库名字及SID都要写上orcl

一直到安装完成。

3. 启动oracle

在“终端”以oracle身份运行

启动TNS监听器:$ORACLE_HOME/bin/lsnrctl start($ORACLE_HOME,就是oracle的安装目录:/opt/ora10 .直接cd,进入oracle的安装目录,到bin文件夹下,$lsnrctl start ,也行)。

关闭TNS:$ORACLE_HOME/bin/lsnrctl stop

启动sqlplus:$ORACLE_HOME/bin/sqlplus /nolog关闭sqlplus:SQL exit

4. 为了能够像windows下一样能够使用上下键翻动命令,还需要安装rlwrap包:

sudo apt-get install rlwrap

然后修改oracle用户的~/.bashrc文件和/etc/profile文件,在其最后添加两行:

这样上下左右键就可以使用了。

最后来解决oracle中文字符集的问题。不出意外的话,启动oracle会发现所有的中文都是“?”,要么就是乱码,这其实是服务器端字符集和客户端字符集不一致造成的。

解决方法为:DBA身份进入sqlplus,做查询

SQLselect userenv(‘language’) from dual;将查询结果复制,在/etc/bash.bashrc文件中再加一行:export NLS_LANG=”查询结果”,重新登录问题解决。例如:我的查询结果为SIMPLIFIED CHINESE_CHINA.AL32UTF8,则新加一行为export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"。

但是有时候这个方法不一定奏效,你可以将

export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"分别写到两个文件中尝试一下,但是两个文件写的一定要一致。

5. 如果有问题可按下列过程处理:

5.1

问题:调用makefile '../sqlplus/lib/ins_sqlplus.mk' 的目标'install' 时出错。请参阅'/home/oracle/oraInventory/logs/installActions2011-12-06_11-03-18AM.log' 以了解详细信息。

解决办法:$ORACLE_HOME/sqlplus/lib/env_sqlplus.mk添加一行:EXPDLIBS=-lclntsh ,然后点击“重试”按钮, ok.

其实安装 gcc-4.4 以后没有这个问题。

5.2

问题:调用makefile '../sysman/lib/ins_sysman.mk' 的目标'agent nmo nmb' 时出错。请参阅'.. /oraInventory/logs/installActions2011-12-06_11-03-18AM.log' 以了解详细信息。

分析:后面遇到的错误其实本质上是一个问题,主要是gcc的版本高了,oracle10g的gcc是3.4左右的版本,但是ubuntu的开发速度早就用了4.0以上版本,而且你还无法apt安装低版本解决办法:卸载gcc-4.6,安装gcc-4.4 版本

apt-get remove gcc-4.6

apt-get install gcc-4.4

5.3

调用makefile '../network/lib/ins_net_server.mk' 的目标'install' 时出错。请参阅'.. /oraInventory/logs/installActions2011-12-06_11-03-18AM.log' 以了解详细信息。

分析:我在网上找到了一篇类似的文档,参见(点击打开链接),但是我手工编译还是有问题,而且在oracle10g中并不是他所提到的-lons参数问题。

还是gcc版本问题,我曾尝试过安装低版本的gcc,但是一开始编译就报错,所以放弃了,如果有人能成功降低版本环境,相信一定能解决所有错误问题,这也是为什么ubuntu 8能很自然成功安装的一个解释。

方法:目前我还没有方法,按照其.mk文件的说明,这个东西好像是数据库链接断裂时候重新链接用的解决办法:卸载gcc-4.6,安装gcc-4.4 版本

在/usr/bin 下做了 /usr/bin/gcc-4.4 的软链接cd /usr/bin

ln -s /usr/bin/gcc-4.4 /usr/bin/gcc

5.4

调用makefile '../rdbms/lib/ins_rdbms.mk' 的目标'all_no_orcl ihsodbc' 时出错。请参阅'../oraInventory/logs/installActions2011-12-06_11-07-36-AM.log' 以了解详细信息。

分析:我们看一下log文件

信息: Generating BASE ORASDK library...

信息: Creating /opt/ora10/lib/liborasdkbase.so.10.2信息: gcc: 错误:/lib/libgcc_s.so.1:没有那个文件或目录gcc: 错误:/usr/lib/libstdc++.so.5:没有那个文件或目录我们看到终于是那个非常多的错误了,其实还是gcc的问题,重新下载了libgcc_s.so.1,并且重新做了stdc++5的链接,但是问题还是更多,因为只做软链接和下载一个动态库是没法解决所有问题的。

解决办法:安装compat-libstdc++-33_3.2.3-48.3_i386.deb,重试。。

在一个libgcc_s.so.1软链接

cd /lib

ln -s /lib/i386-linux-gnu/libgcc_s.so.1 libgcc.s.so.16. 开机启动

6.1 root 下面修改:vi /etc/oratab

orc1:/opt/oracle/product/10.2.0/db_1:Y

将N该为Y

6.2 oracle 下面修改:

cd $ORACLE_HOME/bin

vi dbstart

找到 ORACLE_HOME_LISTNER 这行, 修改成:

ORACLE_HOME_LISTNER=/opt/oracle/product/10.2.0/db_1或者直接修改成:

ORACLE_HOME_LISTNER=$ORACLE_HOME

测试运行 dbshut, dbstart 看能否启动oracle 服务及listener服务ps -efw | grep ora_

lsnrctl status

ps -efw | grep LISTEN | grep -v grep

6.3 root 下创建文件:

vi /etc/rc.d/init.d/oracle10

#!/bin/bash

# chkconfig: 345 99 10

# description: Startup Script for Oracle Databases# /etc/init.d/oracle10

export ORACLE_SID=ym

# export ORACLE_HOME_LISTNER=/data/files/oracle/10g/bin#oracle 安装目录

export ORACLE_HOME=/data/files/oracle/10gexport PATH=$PATH:$ORACLE_HOME/bin

case "$1" in

start)

su oracle -c $ORACLE_HOME/bin/dbstart #启动服务su oracle -c $ORACLE_HOME/bin/lsnrctl start #启动监听touch /var/lock/oracle

echo "OK"

;;

stop)

echo -n "Shutdown Oracle: "

su oracle -c $ORACLE_HOME/bin/dbshut #启关闭服务su oracle -c $ORACLE_HOME/bin/lsnrctl stop #关闭监听rm -f /var/lock/oracle

echo "OK"

;;

*)

echo "Usage: 'basename $0' start|stop"

exit 1

esac

exit 0

然后

chmod 775 oracle10

chkconfig --add oracle10

chkconfig --list oracle10

当前题目:oracle的包怎么调 oracle包的作用
分享路径:https://www.cdcxhl.com/article12/hishgc.html

成都网站建设公司_创新互联,为您提供品牌网站制作网站设计网站维护自适应网站网页设计公司营销型网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

绵阳服务器托管