真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

oracle怎么編譯包體 oracle創(chuàng)建包體

如何在 Oracle Solaris 11 上編譯和運(yùn)行 MPI 程序

要使用 OMPT,需要在系統(tǒng)上安裝和運(yùn)行 Oracle Solaris 11。除了安裝過程中使用的 root 權(quán)限之外,運(yùn)行任何 OMPT 實(shí)用程序通常無需任何其他特殊權(quán)限。

成都創(chuàng)新互聯(lián)公司從2013年開始,先為桐鄉(xiāng)等服務(wù)建站,桐鄉(xiāng)等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為桐鄉(xiāng)企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

如果您想編譯 MPI 程序,則需要安裝 Oracle Solaris Studio 12.1 或更高版本。在運(yùn)行 MPI 程序的節(jié)點(diǎn)集群上,可以在其中一個(gè)節(jié)點(diǎn)上安裝 Oracle Solaris Studio 并僅在該節(jié)點(diǎn)上編譯 openmpi-15 程序包,但在所有節(jié)點(diǎn)上都安裝該程序包。

要獲取 OMPT,請(qǐng)安裝 openmpi-15 程序包,該程序包由一個(gè)映像包管理系統(tǒng) (IPS) 信息庫托管,您的系統(tǒng)上應(yīng)配置有該信息庫。要驗(yàn)證是否配置了 IPS 信息庫,請(qǐng)運(yùn)行 pkg publisher 命令。

如果尚未 配置 IPS 信息庫,請(qǐng)?jiān)趪L試添加 openmpi-15 程序包之前配置它。否則,程序包添加將失敗。

系統(tǒng)應(yīng)配置了網(wǎng)絡(luò)訪問(如果是通過網(wǎng)絡(luò)訪問 IPS 信息庫)或本地配置的從同一系統(tǒng)提供服務(wù)的 IPS 信息庫。

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

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

PUBLISHER TYPE STATUS URI

solaris origin online

驗(yàn)證配置了信息庫之后,以 root 身份運(yùn)行 pkg install openmpi-15 命令添加該分發(fā)構(gòu)造器程序包。然后從 IPS 信息庫下載 openmpi-15 程序包并立即安裝。

pkg install openmpi-15 命令顯示進(jìn)程的狀態(tài),如清單 1 所示,這樣便于觀察進(jìn)度。

清單 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,然后就一切準(zhǔn)備妥當(dāng)。

使用 OMPT 編譯 MPI 程序

使用 OMPT 編譯 MPI 程序有兩種方式。您可以使用程序包中包含的編譯器包裝器(mpicc、mpiCC、mpif77 和 mpif90)或者直接調(diào)用編譯器。

因?yàn)樾枰?include、library 和 run 路徑,建議采用第一種方法。包裝器將其不了解的所有選項(xiàng)都傳給 Oracle Solaris Studio 編譯器,因此您應(yīng)能夠使用包裝器實(shí)用程序替換 makefile 中編譯器的所有實(shí)例。

以清單 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;

}

還可以執(zhí)行兩階段的編譯和鏈接:

mpicc -c hello.c

mpicc hello.o -o hello.x

如果要直接執(zhí)行編譯器而不使用包裝器,可以通過向包裝器提供 -showme 選項(xiàng)來確定包裝器使用的選項(xiàng):

mpicc -showme hello.c -o hello.x

使用 OMPT 運(yùn)行 MPI 程序

編譯完可執(zhí)行文件并與 OMPT 庫鏈接之后,可以單獨(dú)運(yùn)行該程序或使用并行作業(yè)啟動(dòng)器實(shí)用程序 mpirun 來運(yùn)行。

要單獨(dú)運(yùn)行程序,只需運(yùn)行該可執(zhí)行文件,就跟普通非并行可執(zhí)行文件一樣。但是,隨后將由該程序來負(fù)責(zé)調(diào)用相應(yīng)的 MPI API(如 MPI_Comm_spawn 或 MPI_Comm_spawn_multiple)來生成 MPI 作業(yè)的其他進(jìn)程。

要一開始就創(chuàng)建運(yùn)行多個(gè)進(jìn)程的 MPI 作業(yè),請(qǐng)使用 mpirun 實(shí)用程序。例如,如果您要使用總共 8 個(gè)進(jìn)程在 2 個(gè)節(jié)點(diǎn)上運(yùn)行我們的示例 MPI 程序,可以使用以下命令:

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

有幾個(gè)選項(xiàng)可以與 mpirun 一起用來控制綁定、布局、輸出重定向等等。通過執(zhí)行 mpirun -h 或 man mpirun 可以獲取有關(guān)這些選項(xiàng)的更多信息。

oracle中自定義的函數(shù)怎么編譯

可在第三方軟件中,如pl/sql中編譯。

1、打開pl/sql軟件并登錄到指定數(shù)據(jù)庫。

2、點(diǎn)擊左上方像紙片的按鈕,然后點(diǎn)擊“sql窗口”

3、在彈出窗口中編寫自定義函數(shù)。

4、編寫完畢后,直接點(diǎn)擊左上角像齒輪的按鈕(即執(zhí)行按鈕),就可以編譯了。

oracle package body怎么執(zhí)行啊?

包只是作為 程序的一個(gè)載體而已,你要運(yùn)行,當(dāng)然是去調(diào)用它!

包里面可以包含函數(shù)、過程等,你可以開發(fā)程序時(shí)候調(diào)用包里面的這些程序!沒有聽說過包怎么運(yùn)行的道理!

就像電視機(jī)(包)可以用來看電視,但是你不去打開它(調(diào)用包),它就沒有作用!

樓下的明顯誤導(dǎo)別人啊,包何來參數(shù)之說?只有包里面的程序才有參數(shù),調(diào)用包里面過程的方法如下:

begin

exec 包名.過程名();

end;

函數(shù)的調(diào)用就不用我寫了吧!

求看看這個(gè)ORACLE包體編譯的時(shí)候提示必須聲明標(biāo)識(shí)符emp,我該怎么聲明它呀

emp表是oracle安裝包里的example,它屬于scott,確認(rèn)一下這個(gè)表是否存在:

select owner,object_type from dba_objects where object_name='EMP';

如果這個(gè)表存在,出現(xiàn)這個(gè)錯(cuò)誤,有以下幾個(gè)原因:

1.這個(gè)包的所有者沒有對(duì)emp表的select權(quán)限

2.雖然有權(quán)限,但在引用它的時(shí)候必需明確這個(gè)表的schema,也就是上面那個(gè)查詢的owner,你應(yīng)該用scott.emp

Oracle 怎么根據(jù)包頭生成包體

包頭

create or replace package package_name is

prcedure p1;

prcedure p2(v1 in char, v2 in date);

end package_name;

包體

create or replace package body package_name is

prcedure p1 is

begin

--代碼省略

end p1;

prcedure p2(v1 in char, v2 in date) is

begin

--代碼省略

end p2;

end package_name;

oracle數(shù)據(jù)庫如何編譯sqc文件

//通過編寫的連接類創(chuàng)建一個(gè)連接

dbconn db = new dbconn();

Connection con1 = db.conn;

String callSQL1 = new String();

ResultSet rs1 = null;

//創(chuàng)建一個(gè)CallableStatement變量st1來調(diào)用存儲(chǔ)過程信息

CallableStatement st1 = null;

try {

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

st1.setString(1, "參數(shù)1");

st1.setString(2, "參數(shù)2");

st1.setString(3, "參數(shù)3");

st1.registerOutParameter(4,Types.INTEGER); //此處4 代表第一個(gè)"?" 則表示存儲(chǔ)過程返回的值 這里要注意Types的類型,當(dāng)需要有返回值時(shí)

st1.execute();

System.out.println(st1.getInt(4));//輸出存儲(chǔ)過程的返回值,當(dāng)有返回值時(shí)

} catch (Exception error) {

try {

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

} catch (Exception ex9) {

ex9.printStackTrace();

}

out.print("系統(tǒng)出錯(cuò)" + error.getMessage());

} finally {

try {

if (st1 != null) {

st1.close();

}

} catch (Exception error) {

}

db.disconnect();

}


網(wǎng)頁題目:oracle怎么編譯包體 oracle創(chuàng)建包體
當(dāng)前URL:http://weahome.cn/article/hjgpic.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部