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

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

oracle怎么新建包 oracle 創(chuàng)建package

linux服務(wù)器怎么新建oracle數(shù)據(jù)庫

詳細(xì)步驟如下:

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比固始網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式固始網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋固始地區(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴。

1、操作系統(tǒng)安裝組建選擇:

GNOME Desktop Environment

Editors

Graphical Internet

Text-based Internet(可以不選擇)

Development Libraries

Development Tools

Server Configuration Tools(可以不選擇)

Administration Tools

Base

System Tools

X Window System

2、為了防止在安裝過程中出現(xiàn)亂碼

vi ?/etc/sysconfig/i18n

LANG="en_US.UTF-8"

SYSFONT="latarcyrheb-sun16"

3、安裝oracle 依賴包;

有的依賴包安裝操作系統(tǒng)時(shí)已經(jīng)安裝,這里只裝缺少的,也是必須的,否則,安裝oracle過程會(huì)報(bào)錯(cuò)。

compat-libstdc++-33 libaio-devel sysstatunixODBC unixODBC-devel

4、創(chuàng)建必要的用戶組及用戶;

/usr/sbin/groupadd oinstall

/usr/sbin/groupadd dba

/usr/sbin/useradd -g oinstall -G dba oracle

passwd oracle5、創(chuàng)建所需目錄及賦予目錄權(quán)限;

創(chuàng)建oracle安裝目錄:

mkdir-p /data/oracle/app/

mkdir -p/data/oracle/oraInventory

創(chuàng)建oracle數(shù)據(jù)庫存放目錄:

mkdir-p /data/oracle/oradata

chown -R oracle:oinstall /data/oracle/app/

創(chuàng)建oracle備份目錄:

mkdir -p /backup/oracle/

賦予各個(gè)目錄權(quán)限:

chown-R oracle:oinstall /data/oracle/oradata

chown -Roracle:oinstall /data/oracle/oraInventory

chmod-R 775 /data/oracle/app/

chmod-R 775 /data/oracle/oradata

chmod -R775 /data/oracle/oraInventory

chown -R oracle:oinstall /backup/oracle/

chmod-R 775 /backup/oracle/

6、修改oracle安裝用戶資源限制;

當(dāng)然,此處的值 需要根據(jù)實(shí)際去修改;

vi?/etc/security/limits.conf

oracle soft nproc 2047

oraclehard nproc 16384

oraclesoft nofile 1024

oraclehard nofile 65536

7、設(shè)置oracle用戶環(huán)境變量

su -oracle

vim/home/oracle/.bash_profile? 加入以下內(nèi)容

使環(huán)境變量生效

source/home/oracle/.bash_profile

8、至此oracle安裝完成。

如何創(chuàng)建自己的InstantClient包

IC介紹

許多人正在使用Oracle Instant Client,它提供一個(gè)部署基于OCI、OCCI、JDBC OCI應(yīng)用容易和快速的方法。

通過添加更多的工具,Instant Client可以變成一個(gè)更加強(qiáng)大的工具,如下:

1. tnsping

2. sqlldr

3. tkprf

4. exp/imp

5. OCM

6. 你自己的工具

這樣做的主要優(yōu)點(diǎn)是:

1. 安裝是一件輕而易舉的事情,只要解壓即可完成。

2. 體積小,未壓縮100MB到150MB或壓縮50MB,它可以安裝在USB盤上

3. 不涉及到SA(軟件架構(gòu))

比較一個(gè)完整的Oracle安裝需要大量的磁盤空間,而且還涉及到SA。

IC需求

1. 一個(gè)帶有150MB+磁盤空間的Unix/Linux賬號(hào):

hadoop@192.168.8.162:/home/hadoop/oracle

2. 安裝Oracle 11gR2的相同平臺(tái),一個(gè)具有讀訪問權(quán)限的賬號(hào):

root@192.168.8.192:/u01/product/oracle/11.2.0/db_1

IC安裝

從Oracle官方網(wǎng)址下載安裝包,

注:請(qǐng)根據(jù)操作系統(tǒng)版本下載相應(yīng)的安裝包,這里下載Linux X86-64安裝包。

instantclient-basic-linux.x64-11.2.0.4.0.zip

instantclient-jdbc-linux.x64-11.2.0.4.0.zip

instantclient-sdk-linux.x64-11.2.0.4.0.zip

instantclient-sqlplus-linux.x64-11.2.0.4.0.zip

注:下載Instant Client時(shí)需要?jiǎng)?chuàng)建一個(gè)Oracle賬號(hào)才能下載。

使用SSH客戶端使用安裝賬號(hào)登錄到服務(wù)器,在根目錄下創(chuàng)建一個(gè)oracle目錄:

$mkdir /home/hadoop/oracle

上傳所有壓縮包或至少basic和sqlplus兩個(gè)包到你賬號(hào)的根目錄下oracle中。

解壓到當(dāng)前目錄下完成安裝。

$ cd /home/hadoop/oracle

$ unzipinstantclient-basic-linux.x64-11.2.0.4.0.zip

$ unzipinstantclient-sqlplus-linux.x64-11.2.0.4.0.zip

$ unzip instantclient-sdk-linux.x64-11.2.0.4.0.zip

$ unzip instantclient-jdbc-linux.x64-11.2.0.4.0.zip

解壓完畢后會(huì)在當(dāng)前目錄下生成一個(gè)instantclient_11_2目錄。

$ ll /home/hadoop/oracle/instantclient_11_2

IC配置

配置下面的環(huán)境變量到你的Shell配置文件中。

$ vi ~/.bashrc

跳到文件的末尾,添加下面這些環(huán)境變量:

export RACLE_IC_HOME=/home/hadoop/oracle/instantclient_11_2

exportORACLE_HOME=$ORACLE_IC_HOME

exportTNS_ADMIN=$ORACLE_IC_HOME

exportPATH=$PATH:$ORACLE_IC_HOME

exportLD_LIBRARY_PATH=$ORACLE_IC_HOME

exportCLASSPATH=$ORACLE_IC_HOME/ojdbc6.jar:./

$ source ~/. bashrc

或 $ . ~/.bashrc

注:如果需要讓所有用戶都能使用,需要把上面的配置添加/etc/profile中。

在$ORACLE_IC_HOME目錄下創(chuàng)建一個(gè)tnsnames.ora文件:

$ vi /home/hadoop/oracle/instantclient_11_2/tnsnames.ora

orcl=(description=(address=(protocol=tcp)(host=192.168.8.161)(port=1521))(connect_data=(server=dedicated)(service_name=wcdma)))

ora =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.8.161)(PORT = 1521)))(CONNECT_DATA =(SERVER =DEDICATED)(SERVICE_NAME = wcdma)))

SQL*Plus

$ sqlplus kqi/kqi@192.168.8.161:1521/wcdma

$ sqlplus kqi/kqi@orcl

SQL*Plus: Release 11.2.0.4.0 Production onThu Nov 20 14:01:49 2014

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to:

Oracle Database 11g Enterprise EditionRelease 11.2.0.2.0 - 64bit Production

With the Partitioning, OLAP, Data Miningand Real Application Testing options

SQL

ERROR:

ORA-12154: TNS:could not resolve theconnect identifier specified

對(duì)于這種問題,排除添加的配置格式錯(cuò)誤后??赡茉蚴亲x取的tnsnames.ora路徑根本就不是$ORACLE_HOME/network/admin下。

注:tnsnames.ora文件的查找路徑順序?yàn)椋?/p>

$HOME = $TNS_ADMIN = /etc =$ORACLE_HOME/network/admin/。

現(xiàn)在我們已經(jīng)有一個(gè)構(gòu)建自己的Instant Client包的基礎(chǔ)了。下面是Instant Client的核心文件(位于/home/hadoop/oracle/instantclient_11_2中):

1. libclntsh.so.11.1:客戶端代碼庫

2. libociei.so:OCI InstantClient數(shù)據(jù)共享庫

3. libnnz11.so:安全庫

4. libocci.so.11.1:Oracle C++調(diào)用接口庫

5. libocijdbc11.so:JDBC OCI庫

6. ojdbc6/5.jar:JDBC驅(qū)動(dòng)(OCI和Thin)

7. orai18n.jar:字符集轉(zhuǎn)換和本地支持庫

Tnsping

從安裝Oracle的服務(wù)器上拷貝tnsping過來,執(zhí)行命令:

$ cd /home/hadoop/oracle/instantclient_11_2

$ scp root@192.168.8.192:/u01/product/oracle/11.2.0/db_1/bin/tnsping./

現(xiàn)在讓在IC安裝服務(wù)器上嘗試運(yùn)行下它:

$ tnsping ora

TNS Ping Utility for Linux: Version11.2.0.4.0 - Production on 20-NOV-2014 14:30:21

Copyright (c) 1997, 2013, Oracle. All rights reserved.

Message 3511 not found; No message file forproduct=network, facility=TNSMessage 3512 not found; No message file forproduct=network, facility=TNSMessage 3513 not found; No message file forproduct=network, facility=TNSMessage 3509 not found; No message file forproduct=network, facility=TNS

運(yùn)行后tnsping抱怨一些文件丟失,更具體的說一個(gè)消息文件丟失?,F(xiàn)在,我們把該文件從Oracle安裝服務(wù)器上拷貝過來,進(jìn)入到instantclient_11_2目錄:

$ mkdir -p network/mesg

$ cd network/mesg/

現(xiàn)在從安裝Oracle服務(wù)上拷貝tnsus.msb文件到該目錄中:

$ scp root@192.168.8.192:/u01/product/oracle/11.2.0/db_1/network/mesg/tnsus.msb ./

讓我們?cè)賴L試一次tnsping,結(jié)果如下:

$ tnsping ora

TNS Ping Utility for Linux: Version11.2.0.4.0 - Production on 20-NOV-2014 14:49:54

Copyright (c) 1997, 2013, Oracle. All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias

Attempting to contact (DESCRIPTION=(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.161)(PORT =1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = wcdma)))

OK (0 msec)

Sqlldr

本節(jié)將添加另外一個(gè)工具sqlldr。

首先,我們從安裝Oracle的服務(wù)器上拷貝sqlldr到IC安裝目錄instantclient_11_2下。

$ cd /home/hadoop/oracle/instantclient_11_2

$ scproot@192.168.8.192:/u01/product/oracle/11.2.0/db_1/bin/sqlldr ./

嘗試運(yùn)行它:

$ sqlldr

Message 2100 not found; No message file forproduct=RDBMS, facility=ULMessage 2100 not found; No message file forproduct=RDBMS, facility=UL

首先我們需要在instantclient_11_2下創(chuàng)建rdbms/mesg目錄。

$ cd /home/hadoop/oracle/instantclient_11_2

$ mkdir -p rdbms/mesg

$ cd rdbms/mesg

把ORACLE安裝目錄下rdmsb/mesg/ulus.msb拷貝到當(dāng)前目錄。

$ scp root@192.168.8.192:/u01/product/oracle/11.2.0/db_1/rdbms/mesg/ulus.msb./

現(xiàn)在,讓我們?cè)俅螄L試運(yùn)行它。

$ sqlldr

SQL*Loader: Release 11.2.0.4.0 - Productionon Thu Nov 20 16:40:10 2014

Copyright (c) 1982, 2011, Oracle and/or itsaffiliates. All rights reserved.

Usage: SQLLDR keyword=value[,keyword=value,...]

Valid Keywords:

Exp/imp

從安裝Oracle服務(wù)器上拷貝二進(jìn)制文件過來。

$ cd /home/hadoop/oracle/instantclient_11_2

$ scp root@192.168.8.192:/u01/product/oracle/11.2.0/db_1/bin/imp ./

$ scp root@192.168.8.192:/u01/product/oracle/11.2.0/db_1/bin/exp ./

嘗試運(yùn)行imp和exp,結(jié)果如下:

$ imp

Message 100 not found; No message file forproduct=RDBMS, facility=IMP: Release 11.2.0.4.0 - Production on Thu Nov 2017:02:57 2014

Copyright (c) 1982, 2011, Orac

Invalid format of Import utility name

Verify that ORACLE_HOME is properly set

Import terminated unsuccessfully

IMP-00000: Message 0 not found; No messagefile for product=RDBMS, facility=IMP

$ exp

Message 206 not found; No message file forproduct=RDBMS, facility=EXP: Release 11.2.0.4.0 - Production on Thu Nov 20 17:03:392014

Copyright (c) 1982, 2011, Orac

Invalid format of Export utility name

Verify that ORACLE_HOME is properly set

Export terminated unsuccessfully

EXP-00000: Message 0 not found; No messagefile for product=RDBMS, facility=EXP

再從安裝Oracle服務(wù)器上拷貝rdbms/mesg下的expus.msb和ipus.msb過來。

$ cd rdbms/mesg/

$ scproot@192.168.8.192:/u01/product/oracle/11.2.0/db_1/rdbms/mesg/impus.msb ./

$ scproot@192.168.8.192:/u01/product/oracle/11.2.0/db_1/rdbms/mesg/expus.msb ./

再次運(yùn)行imp/exp工具錯(cuò)誤提示消失,可以正常運(yùn)行。

Tkprof

現(xiàn)在我們繼續(xù)添加我最喜歡的工具tkprof。

從安裝Oracle的服務(wù)器拷貝tkprof到instantclient_11_2目錄下。

$ cd /home/hadoop/oracle/instantclient_11_2

$ scp root@192.168.8.192:/u01/product/oracle/11.2.0/db_1/bin/tkprof ./

$ mkdir -p oracore/mesg/

$ cd oracore/mesg/

$ scproot@192.168.8.192:/u01/product/oracle/11.2.0/db_1/oracore/mesg/lrmus.msb ./

使用示例:

$ tkprof test.trc test.out

Instant Client Bundle

現(xiàn)在,我們已經(jīng)讓所有工具都能正常工作。簡單的使用工具壓縮打包instantclient_11_2目錄,這樣你就獲得你自己的Instant Client包。例如:

$ cd /home/hadoop/oracle

$ tar zcf instantclient_11_2.tar.gzintantclient_11_2

正如你所看到的,打包成的instant client帶有tnsping,sqlldr, exp/imp,tkprof工具,這讓IC更加的功能強(qiáng)大。

安裝自定義的IC包步驟如下:

1. 上傳到服務(wù)器上解壓縮

2. 修改環(huán)境變量

$ vi ~/.bashrc

跳到文件的末尾,添加下面這些環(huán)境變量:

export ORACLE_IC_HOME=解壓目錄/instantclient_11_2

export ORACLE_HOME=$ORACLE_IC_HOME

export TNS_ADMIN=$ORACLE_IC_HOME

export PATH=$PATH:$ORACLE_IC_HOME

export LD_LIBRARY_PATH=$ORACLE_IC_HOME

exportCLASSPATH=$ORACLE_IC_HOME/ojdbc6.jar:./

$ source ~/. bashrc

或 $ . ~/.bashrc

3. 添加連接數(shù)據(jù)庫的配置

$ vi $ORACLE_IC_HOME/tnsnames.ora

安裝完成,現(xiàn)在就可以使用Instant Client中的工具啦!

oracle 如何在包里創(chuàng)建一個(gè)簡單的函數(shù)和存儲(chǔ)過程

25、包

(1)定義包頭

語法:

CREATE [OR REPLACE] PACKAGE [schame_name.]包名

IS | AS

包描述

包描述:可以是變量、常量及數(shù)據(jù)類型定義和游標(biāo)定義,也可以是存儲(chǔ)過程、函數(shù)定義和參數(shù)列表返回值類型。

例:

CREATE OR REPLACE PACKAGE employeePackage

AS

--類型定義

Type empRecType is record(

Empno number(4),

Salary number

)

--變量定義

p1 varchar2(20);

type t_departmentNo table is table of dept.deptno%type

index by binary_integer;

--游標(biāo)定義

Cursor order_sal retrurn EmpRecType;

--聘用員工過程

Procedure HireEmployee(p_EmpNo emp.empno%type);

End employeePackage;

例:

CREATE OR REPLACE PACKAGE scott.pkg_displayproduct

IS

procedure prc_getproductinfo

(

pid scott.product.prodid%type,

pname out scott.product.prodname%type,

ctname out scott.product.CATEGORYID%type,

dscp out scott.product.description%type

);

function fun_getstock

(

pid scott.product.prodid%type

)

return number;

END pkg_displayproduct;

(2)定義包體

語法:

CREATE OR REPLACE PACKAGE BODY [schame_name.]包名

IS | AS

包體描述;

END 包名;

包名:將要?jiǎng)?chuàng)建的包名稱,該名稱可以和包頭所在的包名相同,也可以不同。

包體描述:游標(biāo)、存儲(chǔ)過程或者函數(shù)的定義

包體是可選的,如果在包頭中沒有聲明任何存儲(chǔ)過程或者函數(shù),則包體就不存在,即使在包頭有變量、游標(biāo)或者類型的聲明

(3)引用包中對(duì)象

BEGIN

[schame_name.][包名.]對(duì)象名;

END;

請(qǐng)問Oracle中如何在通過創(chuàng)建一個(gè)package,然后在package中創(chuàng)建procedure的語法是怎么樣的啊

先create package,在里面聲明procedure

然后再create package body,在package body里面編寫procedure的代碼即可(相當(dāng)于create procedure)。

包里沒有create procedure

示例如下:

CREATE OR REPLACE PACKAGE pkg_test IS

PROCEDURE pro_test(V_OLD IN VARCHAR2,V_NEW IN VARCHAR2);

...

END test;

/

CREATE OR REPLACE PACKAGE BODY pkg_test IS

...

PROCEDURE pro_test(V_OLD IN VARCHAR2,V_NEW IN VARCHAR2) IS

BEGIN

...

END;

...

END pkg_test;

C#中怎么創(chuàng)建oracle數(shù)據(jù)庫

好像不行,都是用命令創(chuàng)建,創(chuàng)建如下:

在Oracle中建庫,通常有 兩種方法。一是使用Oracle的建庫工且DBCA,這是一個(gè)圖形界面工且,使用起來方便且很容易理解,因?yàn)樗慕缑嬗押谩⒚烙^,而且提示也比較齊全。在 Windows系統(tǒng)中,這個(gè)工具可以在Oracle程序組中打開(”開始”—“程序”—“ Oracle - OraDb10g_home1”—“ Configuration and Migration Tools”—“ Database Configuration Assistant”),也可以在命令行(”開始”—“運(yùn)行”—“cmd”)工具中直接輸入dbca來打開。另一種方法就是手工建庫,這也就是下面所要講的內(nèi)容。

手工建庫比起使用DBCA建庫來說,是比較麻煩的,但是如果我們學(xué)好了手工建庫的話,就可以使我們更好地理解Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)。手工建庫須要經(jīng)過幾個(gè)步驟,每一個(gè)步驟都非常關(guān)鍵。它包括:

1、 創(chuàng)建必要的相關(guān)目錄

2、 創(chuàng)建初始化參數(shù)文件

3、 設(shè)置環(huán)境變量Oracle_sid

4、 創(chuàng)建實(shí)例

5、 創(chuàng)建口令文件

6、 啟動(dòng)數(shù)據(jù)庫到nomount(實(shí)例)狀態(tài)

7、 執(zhí)行建庫腳本

8、 執(zhí)行catalog腳步本創(chuàng)建數(shù)據(jù)字典

9、 執(zhí)行catproc創(chuàng)建package包

10、 執(zhí)行pupbld

11、 由初始化參數(shù)文件創(chuàng)建spfile文件

12、 執(zhí)行scott腳本創(chuàng)建scott模式

做完了以上的步驟之后就可以使用“SQLalter database open;”打開數(shù)據(jù)庫正常的使用了。下面,我將具體地把以上的幾個(gè)步驟用實(shí)驗(yàn)展開來講。

實(shí)驗(yàn)系統(tǒng)平臺(tái):Windows Server 2000 數(shù)據(jù)庫系統(tǒng)版本:Oracle Database 10G

Oracle的安裝路徑:D盤   創(chuàng)建的數(shù)據(jù)庫名稱:book

1、打開命令行工具,創(chuàng)建必要有相關(guān)目錄

C:\mkdir D:\oracle\product\10.1.0\admin\book

C:\mkdir D:\oracle\product\10.1.0\admin\book\bdump

C:\mkdir D:\oracle\product\10.1.0\admin\book\udump

C:\mkdir D:\oracle\product\10.1.0\admin\book\cdump

C:\mkdir D:\oracle\product\10.1.0\admin\book\pfile

C:\mkdir D:\oracle\product\10.1.0\admin\book\create

C:\mkdir D:\oracle\product\10.1.0\oradata\book

上面創(chuàng)建目錄的過程也可以在Windows的圖形界面中去創(chuàng)建。其中 D:\oracle\product\10.1.0\admin\book目錄下的幾個(gè)子目錄主要用于存放數(shù)據(jù)庫運(yùn)行過程中的跟蹤信息。最重要的兩上子目 錄是bdump和udump目錄,bdump目錄存放的是數(shù)據(jù)庫動(dòng)行過程中的各個(gè)后臺(tái)進(jìn)程的跟蹤信息,當(dāng)中alert文件是警告文件,其文件名稱為 alert_book.log,當(dāng)數(shù)據(jù)庫出現(xiàn)問題時(shí),首先就可以去查看此文件以找出原因,手工創(chuàng)建過程中出現(xiàn)的各種問題往往也可以通過查看這個(gè)文件找到原 因。Udump目錄存放和特定會(huì)話相關(guān)的跟蹤信息。D:\oracle\product\10.1.0\oradata\book目錄存放各種數(shù)據(jù)庫文 件,包括控制文件、數(shù)據(jù)文件、重做日志文件。

2、創(chuàng)建初始化參數(shù)文件

數(shù)據(jù)庫系統(tǒng)啟動(dòng)時(shí)須要用初始化參數(shù)文件的設(shè)置分配內(nèi)存、啟動(dòng)必要的后臺(tái)進(jìn)程的。因此,初始化參數(shù)文件創(chuàng)建的是否正確、參數(shù)設(shè)置是否正確關(guān)系著整個(gè)建庫的“命運(yùn)”。

創(chuàng)建初始化參數(shù)文件可以通過拷貝現(xiàn)在的初始化參數(shù)文件并將其做適當(dāng)?shù)男薷募纯?,從?不必要用手工去一句一句地寫出來,因?yàn)槌跏蓟瘏?shù)文件的結(jié)構(gòu)體系基本上都是一樣的。在我們安裝Oracle的時(shí)候,系統(tǒng)已經(jīng)為我們安裝了一個(gè)名為orcl 的數(shù)據(jù)庫,于是我們可以從它那里得到一份初始化參數(shù)文件。打開D:\oracle\product\10.1.0\admin\orcl\pfile,找 到init.ora文件,把它拷貝到D:\oracle\product\10.1.0\bd_1\databse下,并將其改名為 initbook.ora。接著用記事本的方式打開initbook.ora,修改以下的內(nèi)容:

db_domain=""

db_name=book

control_files=("D:\oracle\product\10.1.0\oradata\book\control01.ctl", "D:\oracle\product\10.1.0\oradata\book\control02.ctl", "D:\oracle\product\10.1.0\oradata\book\control03.ctl")

undo_management=AUTO

undo_tablespace=UNDOTBS1 ――注意此處的“UNDOTBS1”要和建庫腳步本中對(duì)應(yīng)

background_dump_dest=D:\oracle\product\10.1.0\admin\book\bdump

core_dump_dest=D:\oracle\product\10.1.0\admin\book\cdump

user_dump_dest=D:\oracle\product\10.1.0\admin\book\udump

3、打開命令行,設(shè)置環(huán)境變量oracle_sid

C:\set oracle_sid=book

設(shè)置環(huán)境變量的目地是在默認(rèn)的情況下,指定命令行中所操作的數(shù)據(jù)庫實(shí)例是book。

4、創(chuàng)建實(shí)例(即后臺(tái)控制服務(wù))

C:\oradim –new –sid book

oradim是創(chuàng)建實(shí)例的工具程序名稱,-new表明執(zhí)行新建實(shí)例,-delete表明執(zhí)行刪掉實(shí)例,-sid指定害例的名稱。

5、創(chuàng)建口令文件

C:\orapwd file=D:\oracle\product\10.1.0\db_1\database\pwdbook.ora password=bookstore entries=2

orapwd是創(chuàng)建口令文件的工肯程序各稱,file參數(shù)指定口令文件所在的目錄和文件名稱,password參數(shù)指定sys用戶的口令,entries參數(shù)指定數(shù)據(jù)庫擁用DBA權(quán)限的用戶的個(gè)數(shù),當(dāng)然還有一個(gè)force參數(shù),相信您不指即明,這里就不再細(xì)述。

請(qǐng)注意,這里的命令要一行輸入,中間不得換行,否則會(huì)出現(xiàn)不必要的錯(cuò)誤。

口令文件是專門存放sys用戶的口令,因?yàn)閟ys用戶要負(fù)責(zé)建庫、啟動(dòng)數(shù)據(jù)庫、關(guān)閉數(shù)據(jù)庫等特殊任務(wù),把以sys用戶的中令單獨(dú)存放于口令文件中,這樣數(shù)據(jù)庫末打開時(shí)也能進(jìn)行口令驗(yàn)證。

6、啟動(dòng)數(shù)據(jù)庫到nomount(實(shí)例)狀態(tài)

C:\sqlplus /nolog

SQL*Plus:Release 10.1.0.2.0 - Production on 星期三 6月 29 23:09:35 2005

Copyright 1982,2004,Oracle. All rights reserved.

SQLconnect sys/bookstore as sysdba ---這里是用sys連接數(shù)據(jù)庫

已連接到空閑例程

SQLstartup nomount

ORACLE 例程已經(jīng)啟動(dòng)。

Total System Global Area 319888364bytes

Fixed Size 453612bytes

Variable Size 209715200bytes

Database Buffers 109051904bytes

Redo Buffers 667648bytes

SQL

7、執(zhí)行建庫腳本

執(zhí)行建庫腳本,首先要有建庫的腳本。(去哪找建庫腳本呢?我又沒有?。┎挥弥?,請(qǐng)接著往下看。

得到一個(gè)符合自己要求的建庫腳本有兩種方法,一種方法是在自己的電腦上用DBCA來 建,接照它的提示一步步地去做,在做到第十二步的時(shí)候,請(qǐng)選擇“生成建庫腳本”,然后就大功告成,你就可以到相應(yīng)的目錄上去找到那個(gè)腳本并適當(dāng)?shù)匦匏憧?便用。另一種方法就是自己手工去寫一份建庫腳本,這也是這里要見意使用的方法,用記事本編輯如下的內(nèi)容,并將其保存為文件名任取而后綴名為(*.sql) 的SQL腳本,這里保存到E盤根本錄下且文件名稱為book.sql。

Create database book

datafile 'D:\oracle\product\10.1.0\oradata\book\system01.dbf' size 300M reuse autoextend on next 10240Kmaxsize unlimited

extent management local

sysaux datafile 'D:\oracle\product\10.1.0\oradata\book\sysaux01.dbf'

size 120M reuse autoextend on next 10240K maxsize unlimited

default temporary tablespace temp

tempfile 'D:\oracle\product\10.1.0\oradata\book\temp01.dbf' size 20M reuse autoextend on next 640K maxsize unlimited

undo tablespace "UNDOTBS1" --請(qǐng)注意這里的undo表空間要和參數(shù)文件對(duì)應(yīng)

datafile 'D:\oracle\product\10.1.0\oradata\book\undotbs01.dbf' size 200M reuse autoextend on next 5120K maxsize unlimited

logfile

group 1 ('D:\oracle\product\10.1.0\oradata\book\redo01.log') size 10240K,

group 2 ('D:\oracle\product\10.1.0\oradata\book\redo02.log') size 10240K,

group 3 ('D:\oracle\product\10.1.0\oradata\book\redo03.log') size 10240K

接著就執(zhí)行剛建的建庫腳本:

SQLstart E:\book.sql

8、執(zhí)行catalog腳步本創(chuàng)建數(shù)據(jù)字典

SQLstart D:\oracle\product\10.1.0\db_1\rdbms\admin\catalog.sql

9、執(zhí)行catproc創(chuàng)建package包

SQLstart D:\oracle\product\10.1.0\db_1\rdbms\admin\catproc.sql

10、執(zhí)行pupbld

在執(zhí)行pupbld之前要把當(dāng)前用戶(sys)轉(zhuǎn)換成system,即以system賬戶連接數(shù)據(jù)庫。因?yàn)榇藬?shù)據(jù)庫是剛建的,所以system的口令是系統(tǒng)默認(rèn)的口令,即manager。你可以在數(shù)據(jù)庫建好以后再來重新設(shè)置此賬戶的口令。

SQLconnect system/manager

SQLstart D:\oracle\product\10.1.0\db_1\sqlplus\admin\pupbld.sql

11、由初始化參數(shù)文件創(chuàng)建spfile文件

SQLcreate spfile from pfile;

12、執(zhí)行scott腳本創(chuàng)建scott模式

SQLstart D:\oracle\product\10.1.0\db_1\rdbms\admin\scott.sql

13、把數(shù)據(jù)庫打開到正常狀態(tài)

SQLalter database open;

14、以scott連接到數(shù)據(jù)庫(口令為tiger),測試新建數(shù)據(jù)庫是否可以正常運(yùn)行

至此,整個(gè)數(shù)據(jù)庫就已經(jīng)建好了。接著你就可以在此數(shù)據(jù)庫上建立自己的賬戶和表空間啦以及數(shù)據(jù)庫對(duì)象,這里就不再作更多地?cái)⑹?/p>

oracle中創(chuàng)建一個(gè)包含過程和函數(shù)的包

--表create table my_toys( id varchar2(5), name varchar2(20), price number);--插入測試數(shù)據(jù)insert into my_toys values('G001','電熱毯',145);insert into my_toys values('G002','自行車',327);insert into my_toys values('G003','牙膏',14.5);insert into my_toys values('G004','棉被',105);insert into my_toys values('G005','熱水瓶',65);insert into my_toys values('G006','拖鞋',22.5); --包規(guī)范create or replace package toyspackas procedure UpdateToyPrice; function AvgToyPrice return number;end toyspack; --包主體create or replace package body toyspackas procedure UpdateToyPrice as avgPrice number := AvgToyPrice; begin while (avgPrice = 400) loop --循環(huán)更新 update my_toys set price= case when price*1.1500 then price*1.1 else price end; avgPrice := AvgToyPrice; commit; end loop; end UpdateToyPrice; function AvgToyPrice return number as v_avg number; begin select avg(price) into v_avg from my_toys; return v_avg; end AvgToyPrice;end toyspack; --調(diào)用execute toyspack.UpdateToyPrice;select toyspack.AvgToyPrice from dual;


當(dāng)前名稱:oracle怎么新建包 oracle 創(chuàng)建package
分享路徑:http://weahome.cn/article/hheedj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部