资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

oracle怎么编译包 oracle预编译

oracle 编译包的时候,一直提示正在编译

编译的存储过程的时候,程序死住,等待一会出现ora-04021错误解决办法:

创新互联公司专业为企业提供尤溪网站建设、尤溪做网站、尤溪网站设计、尤溪网站制作等企业网站建设、网页设计与制作、尤溪企业网站模板建站服务,十余年尤溪做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

1.可能被锁住

查看v$lockedselect b.sid,b.serial#,b.machine,b.terminal,b.program,b.process,b.status from v$lock a , v$session b

where a.SID = b.SID

得到死锁session的SID,SERIAL#参看这个是否为你自己用户下的,然后kill掉session

2.可能被挂起

查看v$session_waitselect b.serial#,a.* from v$session_wait a,v$session

bwhere a.sid = b.sid得到等待的session的sid和serial#3.查看dba_ddl_locksselect

session_id sid, owner, name, type,

mode_held held, mode_requested request

from dba_ddl_locks

where name = 'your_package_name'

如何重编译ORACLE数据库的无效对象

Oracle中出现无效对象,就是因为在创建函数或存储过程等,里边的内容书写不正确导致。如果要重新编译,需要先修正错误,然后编译。

工具:Oracle 10g、PL/SQL

步骤:

1、在PL/SQL中打开出现编译错误的函数或存储过程,这里以存储过程为例。

2、右键点击该存储过程,选择“编辑”。

3、根据错误提示,找到错误,并修改错误。

4、改正错误后,点击左上方的“齿轮”状按钮。

5、运行成功后,则该存储过程就会变为编译成功的状态。

oracle数据库如何编译sqc文件

//通过编写的连接类创建一个连接

dbconn db = new dbconn();

Connection con1 = db.conn;

String callSQL1 = new String();

ResultSet rs1 = null;

//创建一个CallableStatement变量st1来调用存储过程信息

CallableStatement st1 = null;

try {

st1 = con1.prepareCall("{ call p(?,?,?,?) }");

st1.setString(1, "参数1");

st1.setString(2, "参数2");

st1.setString(3, "参数3");

st1.registerOutParameter(4,Types.INTEGER); //此处4 代表第一个"?" 则表示存储过程返回的值 这里要注意Types的类型,当需要有返回值时

st1.execute();

System.out.println(st1.getInt(4));//输出存储过程的返回值,当有返回值时

} catch (Exception error) {

try {

con1.rollback(); //操作不成功则回退

} catch (Exception ex9) {

ex9.printStackTrace();

}

out.print("系统出错" + error.getMessage());

} finally {

try {

if (st1 != null) {

st1.close();

}

} catch (Exception error) {

}

db.disconnect();

}

我想编译ORACLE的程序,应该在什么环境下呢?或者下个什么软件?请各位大师指点!感激不尽!

在第三方的pl/sql developer软件下能编译

也可以使用oracle开发的sql developer下进行编译

不安装pl/sql开发软件时,可以用oracle安装时带上的sqlplus进行编译,连接上sqlplus后,粘贴上你要编译的程序,然后执行("/")即可!

如何在 Oracle Solaris 11 上编译和运行 MPI 程序

要使用 OMPT,需要在系统上安装和运行 Oracle Solaris 11。除了安装过程中使用的 root 权限之外,运行任何 OMPT 实用程序通常无需任何其他特殊权限。

如果您想编译 MPI 程序,则需要安装 Oracle Solaris Studio 12.1 或更高版本。在运行 MPI 程序的节点集群上,可以在其中一个节点上安装 Oracle Solaris Studio 并仅在该节点上编译 openmpi-15 程序包,但在所有节点上都安装该程序包。

要获取 OMPT,请安装 openmpi-15 程序包,该程序包由一个映像包管理系统 (IPS) 信息库托管,您的系统上应配置有该信息库。要验证是否配置了 IPS 信息库,请运行 pkg publisher 命令。

如果尚未 配置 IPS 信息库,请在尝试添加 openmpi-15 程序包之前配置它。否则,程序包添加将失败。

系统应配置了网络访问(如果是通过网络访问 IPS 信息库)或本地配置的从同一系统提供服务的 IPS 信息库。

本文示例使用了本地配置的 IPS 信息库,如 pkg publisher 命令的以下输出所示,该输出指示 IPS 信息库通过 HTTP 托管在 localhost 上。

root@solarix:/usr/share/distro_const# pkg publisher

PUBLISHER TYPE STATUS URI

solaris origin online

验证配置了信息库之后,以 root 身份运行 pkg install openmpi-15 命令添加该分发构造器程序包。然后从 IPS 信息库下载 openmpi-15 程序包并立即安装。

pkg install openmpi-15 命令显示进程的状态,如清单 1 所示,这样便于观察进度。

清单 1:pkg install openmpi-15 命令的输出

root@solarix:~# pkg install openmpi-15

Creating Plan

Packages to install: 2

Create boot environment: No

DOWNLOAD PKGS FILES XFER (MB)

service/picl 0/2 0/1430 0.0/11.9[K

developer/openmpi-15 1/2 1430/1430 11.9/11.9[K

Completed 2/2 1430/1430 11.9/11.9[K

PHASE ACTIONS

Install Phase 1639/1639

PHASE ITEMS

Package State Update Phase 1/2

Package State Update Phase 2/2

Image State Update Phase 1/2

Image State Update Phase 2/2

PHASE ITEMS

Reading Existing Index 1/8

Reading Existing Index 5/8

Reading Existing Index 8/8

Indexing Packages 2/2

安装完 openmpi-15 程序包之后,只需在 PATH 变量中包括 /usr/openmpi/ompi-15/bin,然后就一切准备妥当。

使用 OMPT 编译 MPI 程序

使用 OMPT 编译 MPI 程序有两种方式。您可以使用程序包中包含的编译器包装器(mpicc、mpiCC、mpif77 和 mpif90)或者直接调用编译器。

因为需要包含的 include、library 和 run 路径,建议采用第一种方法。包装器将其不了解的所有选项都传给 Oracle Solaris Studio 编译器,因此您应能够使用包装器实用程序替换 makefile 中编译器的所有实例。

以清单 2 作为示例 MPI 程序,可以使用一行命令编译程序:

mpicc hello.c -o hello.x

清单 2:示例 hello.c 程序

#include stdio.h

#include mpi.h

int main(int argc, char **argv) {

int np, me;

MPI_Init(argc,argv);

MPI_Comm_size(MPI_COMM_WORLD,np);

MPI_Comm_rank(MPI_COMM_WORLD,me);

printf("hello from %d of %d\n", me, np);

MPI_Finalize();

return 0;

}

还可以执行两阶段的编译和链接:

mpicc -c hello.c

mpicc hello.o -o hello.x

如果要直接执行编译器而不使用包装器,可以通过向包装器提供 -showme 选项来确定包装器使用的选项:

mpicc -showme hello.c -o hello.x

使用 OMPT 运行 MPI 程序

编译完可执行文件并与 OMPT 库链接之后,可以单独运行该程序或使用并行作业启动器实用程序 mpirun 来运行。

要单独运行程序,只需运行该可执行文件,就跟普通非并行可执行文件一样。但是,随后将由该程序来负责调用相应的 MPI API(如 MPI_Comm_spawn 或 MPI_Comm_spawn_multiple)来生成 MPI 作业的其他进程。

要一开始就创建运行多个进程的 MPI 作业,请使用 mpirun 实用程序。例如,如果您要使用总共 8 个进程在 2 个节点上运行我们的示例 MPI 程序,可以使用以下命令:

mpirun -np 8 -host hostname1,hostname2 hello.x

有几个选项可以与 mpirun 一起用来控制绑定、布局、输出重定向等等。通过执行 mpirun -h 或 man mpirun 可以获取有关这些选项的更多信息。


分享文章:oracle怎么编译包 oracle预编译
分享URL:http://cdkjz.cn/article/hjjiji.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220