怎么建包oracle,怎么在包里建包

oracle創(chuàng)建包?和存儲過程

--創(chuàng)建包頭

目前創(chuàng)新互聯(lián)已為上千多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、南陵網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

CREATE OR REPLACE PACKAGE ELS.pkg_proxy

AS

TYPE cursortype IS REF CURSOR;

-- 得到交接確認代理人數(shù)據(jù)

PROCEDURE get_proxy_info (

v_emp_no IN VARCHAR2, --當前登錄用戶

v_to_emp_no IN VARCHAR2, --代理人工號

v_to_emp_name IN VARCHAR2, --代理人姓名

v_proxy_date1 IN VARCHAR2, --代理開始時間: yyyy/mm/dd

v_proxy_date2 IN VARCHAR2, --代理結(jié)束時間: yyyy/mm/dd

v_from_emp_no IN VARCHAR2, --被代理人工號

v_from_emp_name IN VARCHAR2, --被代理人姓名

p_cursor OUT cursortype

);

END pkg_proxy;

--創(chuàng)建包頭

CREATE OR REPLACE PACKAGE BODY ELS.pkg_proxy

AS

-- 得到交接確認代理人數(shù)據(jù)

PROCEDURE get_proxy_info (

v_emp_no IN VARCHAR2, --當前登錄用戶

v_to_emp_no IN VARCHAR2, --代理人工號

v_to_emp_name IN VARCHAR2, --代理人姓名

v_proxy_date1 IN VARCHAR2, --代理開始時間: yyyy/mm/dd

v_proxy_date2 IN VARCHAR2, --代理結(jié)束時間: yyyy/mm/dd

v_from_emp_no IN VARCHAR2, --被代理人工號

v_from_emp_name IN VARCHAR2, --被代理人姓名

p_cursor OUT cursortype

)

AS

BEGIN

OPEN p_cursor FOR

WITH v AS

(

--查找當前登錄人是否為管理員

SELECT *

FROM employee

WHERE dept_id IN (

SELECT ID

FROM department

START WITH ID =

(SELECT dept_id

FROM employee

WHERE emp_no = v_emp_no

AND is_admin IN (

SELECT r_value

FROM role_conditions

WHERE r_key =

'ProxySearch')

UNION

SELECT dept_id

FROM employee_add

WHERE emp_no = v_emp_no

AND is_admin IN (

SELECT r_value

FROM role_conditions

WHERE r_key =

'ProxySearch'))

CONNECT BY PRIOR ID = parent_id)

UNION

SELECT *

FROM employee

WHERE emp_no = v_emp_no)

SELECT DISTINCT *

FROM (SELECT a.currentuser, a.toagrentuser,

DECODE (a.agent_type,

'A', '當前交接確認代理',

'B', '將來離職簽核代理',

'C', '當前離職簽核代理',

'D', '將來交接確認代理',

''

) agent_type,

a.from_date, a.TO_DATE,

DECODE

(a.to_date1,

'', '無',

TO_CHAR (a.TO_DATE,

'yyyy/mm/dd am hh:mi:ss'

)

) to_date1,

a.flowinfo, b.emp_cname AS currentusername,

b1.emp_cname AS toagrentusername, workitem

FROM (

--當前交接確認代理

SELECT SUBSTR

(x.currentuser,

1,

INSTR (x.currentuser, '(') - 1

) AS currentuser,

SUBSTR

(x.toagrentuser,

1,

INSTR (x.toagrentuser, '(') - 1

) AS toagrentuser,

'A' AS agent_type,

x.create_date AS from_date,

x.create_date AS TO_DATE,

NULL AS to_date1, x.workid,

NULL AS formid, y.NAME workitem,

(SELECT e.emp_no

|| '('

|| e.emp_cname

|| ')'

FROM employee e

WHERE e.emp_no = y.emp_no)

AS flowinfo

FROM currentworkagrent x,

worktransferitem_m y

WHERE x.workid = y.ID

UNION ALL

--將來交接確認代理

SELECT SUBSTR

(currentuser,

1,

INSTR (currentuser, '(') - 1

) AS currentuser,

SUBSTR

(toagrent,

1,

INSTR (toagrent, '(') - 1

) AS toagrent,

'D' AS agent_type, starttime,

endtime, endtime AS to_date1, NULL,

NULL, NULL, NULL

FROM futureagrent) a,

employee b,

employee b1

WHERE a.currentuser = b.emp_no(+)

AND a.toagrentuser = b1.emp_no(+)) a

WHERE currentuser IN (SELECT emp_no

FROM v)

AND (currentuser = v_from_emp_no OR v_from_emp_no IS NULL

)

AND ( currentusername = v_from_emp_name

OR v_from_emp_name IS NULL

)

AND (toagrentuser = v_to_emp_no OR v_to_emp_no IS NULL)

AND ( toagrentusername = v_to_emp_name

OR v_to_emp_name IS NULL

)

AND from_date =

TO_DATE (NVL (v_proxy_date2, '2099/12/31'),

'yyyy/mm/dd'

)

AND TO_DATE =

TO_DATE (NVL (v_proxy_date1, '1000/12/31'),

'yyyy/mm/dd'

)

ORDER BY a.agent_type, a.from_date DESC;

END;

END pkg_proxy;

oracle11g部署搭建

1.配置hostname

[root@oracledb ~]#hostnamectl set-hostname oracledb

[root@oracledb ~]#echo " 10.100.1.10 oracledb" /etc/hosts

2.關(guān)閉selinux和防火墻

[root@oracledb ~]#sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

[root@oracledb ~]#setenforce 0

[root@oracledb ~]#systemctl stop firewalld

[root@oracledb ~]#systemctl disable firewalld

[root@oracledb ~]#systemctl status firewalld

3.下載Oracle軟件包 且上傳到服務(wù)器上,進行解壓縮

建議使用winSCP工具進行上傳到服務(wù)器的/opt目錄下

[root@oracledb ~]# ls -lh /opt/

-rw-r--r-- 1 root root 1.2G Mar 30 16:12 linux.x64_11gR2_database_1of2.zip

-rw-r--r-- 1 root root 1.1G Mar 30 16:11 linux.x64_11gR2_database_2of2.zip

4.安裝oracle環(huán)境所需要的依賴包-配置YUM源

安裝依賴包之前,一定要設(shè)置好服務(wù)器上的安裝源,原因是:可以在沒有互聯(lián)網(wǎng)的時候安裝服務(wù)所需依賴包;常用的安裝源有兩種方式:

(1) 配置本地yum源

新建配置文件vi /etc/yum.repos.d/localsource.repo輸入如下內(nèi)容:

[localsource]

name=localsource

baseurl=

enabled=1

gpgcheck=0

(2) 生成本地yum 緩存

注意:從Oracle 11g 11.2.0.2版本開始,在Linux x86_64上安裝時,只需要安裝64位的軟件包,但是,對于11.2.0.2之前的任何Oracle database 11g,下表中列出的32位和64位的安裝包都必須安裝

5.安裝oracle環(huán)境所需要的依賴包-安裝依賴包

(1)安裝依賴包

[root@oracledb ~]# yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel zlib zlib-devel pcre-devel unzip

(2)安裝完成后,檢查依賴是否全部安裝成功

[root@oracledb ~]# rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel zlib zlib-devel pcre-devel unzip | grep "not installed"

(3)創(chuàng)建所需的用戶組和用戶

如果要安裝Oracle數(shù)據(jù)庫,通常需要以下本地操作系統(tǒng)用戶組和用戶:

Oracle inventory組(通常為 oinstall)

OSDBA組 (通常為 dba)

OSOPER組 (通常為 oper)

Oracle軟件所有者(通常為 oracle)

創(chuàng)建用戶組和用戶:

[root@oracledb ~]# groupadd oinstall

[root@oracledb ~]# groupadd dba

[root@oracledb ~]# groupadd oper

[root@oracledb ~]# useradd -g oinstall -G dba oracle

(4)修改oracle用戶密碼:建議密碼配置為字符+數(shù)字+特殊字符

[root@oracledb ~]# passwd oracle

6.配置內(nèi)核參數(shù)和資源限制

(1)編輯配置文件vi /etc/sysctl.conf添加如下參數(shù):

vm.max_map_count = 655360

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 2147483648 ###最小值: 536870912

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

注意:如果系統(tǒng)中某個參數(shù)高于上面的參數(shù)的值 ,保留較大的值,上面的數(shù)值只是官方要求的最小值,可以根據(jù)系統(tǒng)調(diào)整數(shù)值,以優(yōu)化系統(tǒng)性能

(2)使內(nèi)核參數(shù)生效

[root@oracledb ~]# sysctl -p

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

如下目錄,根據(jù)自己的實際情況可做修改:

[root@oracledb ~]# mkdir -p /data/app/oracle/product/11.2.0

[root@oracledb ~]# cd /data/app/oracle/

[root@oracledb oracle]# mkdir oradata inventory fast_recovery_area

[root@oracledb ~]# chown -R oracle:oinstall /data/app/oracle

[root@oracledb ~]# chmod -R 775 /data/app/oracle

8.配置oracle用戶環(huán)境變量

編輯配置文件vi /home/oracle/.bash_profile添加如下內(nèi)容:

export ORACLE_BASE=/data/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0

export ORACLE_SID=orcl

export PATH=$PATH:$ORACLE_HOME/bin

9. 解壓下載好的兩個Oracle數(shù)據(jù)庫文件

[root@oracledb ~]# cd /opt

[root@oracledb ~]# unzip linux.x64_11gR2_database_1of2.zip -d /data

[root@oracledb ~]# unzip linux.x64_11gR2_database_2of2.zip -d /data

10. 編輯靜默安裝響應(yīng)文件

(1)切換到oracle用戶執(zhí)行

[root@oracledb ~]# su - oracle

(2)切換到響應(yīng)文件的目錄下

[oracle@oracledb ~]$ cp -R /data/database/response/ .

[oracle@oracledb ~]$ cd response/

[oracle@oracledb response]$ ls

dbca.rsp db_install.rsp netca.rsp

11.修改配置文件:vi /home/oracle/response/db_install.rsp,修改以下變量的值

oracle.install.option=INSTALL_DB_SWONLY

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/data/app/oracle/inventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/data/app/oracle/product/11.2.0

ORACLE_BASE=/data/app/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=dba

DECLINE_SECURITY_UPDATES=true

12. 開始靜默安裝Oracle 11g

(1)開始安裝oracle數(shù)據(jù)庫

[oracle@oracledb ~]$ cd /data/database

[oracle@oracledb ~]$ ./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq

注意:安裝期間可以使用tail命令查看oracle的安裝日志,且日志文件名稱是根

據(jù)自己的實際執(zhí)行時間確定的,安裝日志文件會在安裝時提示,需要等待3分鐘左右,注意不要停止運行;安裝完成后有如下提示,如果有類似如下提示,說明安裝完成。

The following configuration scripts need to be executed as the "root" user.

#!/bin/sh

#Root scripts to run

/data/app/oraInventory/orainstRoot.sh

/data/app/oracle/product/11.2.0/db_1/root.sh

To execute the configuration scripts:

1. Open a terminal window

2. Log in as "root"

3. Run the scripts

4. Return to this window and hit "Enter" key to continue

Successfully Setup Software.

13.使用 root用戶執(zhí)行腳本

(1)切換到root用戶執(zhí)行

[root@oracledb ~]# su - root

(2)執(zhí)行兩個用戶腳本

[root@oracledb ~]# sh /data/app/oracle/inventory/orainstRoot.sh

[root@oracledb ~]# sh /data/app/oracle/product/11.2.0/root.sh

14.配置監(jiān)聽程序

(1)切換到oracle用戶執(zhí)行(建議退出重進oracle用戶)

[root@oracledb ~]# su - oracle

(2)配置監(jiān)聽,查看輸出結(jié)果

[oracle@oracledb ~]$ netca /silent /responsefile /home/oracle/response/netca.rsp

(3)查看監(jiān)聽服務(wù)狀態(tài),若沒啟動需要啟動

[oracle@oracledb ~]$ lsnrctl status

[oracle@oracledb ~]$ lsnrctl start

查看結(jié)果:

Parsing command line arguments:

Parameter "silent" = true

Parameter "responsefile" = /data/etc/netca.rsp

Done parsing command line arguments.

Oracle Net Services Configuration:

Profile configuration complete.

Oracle Net Listener Startup:

Running Listener Control:

/data/app/oracle/product/11.2.0/bin/lsnrctl start LISTENER

Listener Control complete.

Listener started successfully.

Listener configuration complete.

Oracle Net Services configuration successful. The exit code is 0

(4)查看監(jiān)聽端口

[oracle@oracledb ~]$ netstat -tnpl | grep 1521

15.靜默創(chuàng)建數(shù)據(jù)庫

GDBNAME = "orcl"

SID = "orcl"

SYSPASSWORD = "oracle"

SYSTEMPASSWORD = "oracle"

SYSMANPASSWORD = "oracle"

DBSNMPPASSWORD = "oracle"

DATAFILEDESTINATION =/data/app/oracle/oradata

RECOVERYAREADESTINATION=/data/app/oracle/fast_recovery_area

CHARACTERSET = "ZHS16GBK"

TOTALMEMORY = " 6552 "

##其中TOTALMEMORY = " 6552 " 為6552 MB,物理內(nèi)存8G*80%

(2)切換到oracle用戶執(zhí)行

[root@oracledb ~]# su - oracle

(3)執(zhí)行靜默建庫

[oracle@oracledb ~]$ dbca -silent -responseFile /home/oracle/response/dbca.rsp

執(zhí)行過程如下:

Copying database files

1% complete

3% complete

11% complete

18% complete

26% complete

37% complete

Creating and starting Oracle instance

40% complete

45% complete

50% complete

55% complete

56% complete

60% complete

62% complete

Completing Database Creation

66% complete

70% complete

73% complete

85% complete

96% complete

100% complete

Look at the log file "/data/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.

(4)查看進程

[oracle@oracledb ~]$ ps -ef | grep ora_ | grep -v grep

(5)再次查看監(jiān)聽狀態(tài)進行確認

[oracle@oracledb ~]$ lsnrctl status

結(jié)果顯示:

The command completed successfully

16.至此數(shù)據(jù)庫就安裝成功了,下面我們登錄下數(shù)據(jù)庫

(1)切換到oracle用戶執(zhí)行

[root@oracledb ~]# su - oracle

(2)登錄數(shù)據(jù)庫

[oracle@oracledb ~]$ sqlplus / as sysdba

(3)查詢實例狀態(tài)

SQLselect status from v$instance;

(4)查看數(shù)據(jù)庫版本

SQL select * from v$version;

(5)激活scott用戶

SQLalter user scott account unlock;

SQLalter user scott identified by tiger;

SQLselect username,account_status from dba_users;

17.設(shè)置Oracle開機啟動

(1)修改配置文件vi /data/app/oracle/product/11.2.0/bin/dbstart 修改如下內(nèi)容:

將腳本中的ORACLE_HOME_LISTNER=$1,修改為ORACLE_HOME_LISTNER=$ORACLE_HOME

(2)修改配置文件vi /data/app/oracle/product/11.2.0/bin/dbshut 修改如下內(nèi)容:

將腳本中的ORACLE_HOME_LISTNER=$1,修改為ORACLE_HOME_LISTNER=$ORACLE_HOME

(3)修改配置文件 vi /etc/oratab修改如下內(nèi)容,

orcl:/data/app/oracle/product/11.2.0:Y

(4)新建文件:vi /etc/rc.d/init.d/oracle 注意:建議全部復(fù)制腳本內(nèi)容

#! /bin/bash

# oracle: Start/Stop Oracle Database 11g R2

# chkconfig: 345 90 10

# description: The Oracle Database is an Object-Relational Database Management System.

# processname: oracle

. /etc/rc.d/init.d/functions

LOCKFILE=/var/lock/subsys/oracle

ORACLE_HOME=/data/app/oracle/product/11.2.0

ORACLE_USER=oracle

case "$1" in

start)

if [ -f $LOCKFILE ]; then

echo $0 already running.

exit 1

fi

echo -n #34;Starting Oracle Database:"

su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"

su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"

su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"

touch $LOCKFILE

;;

stop)

if [ ! -f $LOCKFILE ]; then

echo $0 already stopping.

exit 1

fi

echo -n #34;Stopping Oracle Database:"

su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"

su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"

su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"

rm -f $LOCKFILE

;;

restart)

$0 stop

$0 start

;;

status)

if [ -f $LOCKFILE ]; then

echo $0 started.

else

echo $0 stopped.

fi

;;

*)

echo "Usage: $0 [start|stop|status]"

exit 1

esac

exit 0

(5)給 /etc/init.d/oracle添加執(zhí)行權(quán)限

[root@oracledb ~]# chmod +x /etc/init.d/oracle

(6)開機啟動oracle

[root@oracledb ~]# chkconfig oracle on

(7)給啟動文件加權(quán)限

[root@oracledb ~]# cd /data/app/oracle/product/11.2.0/bin/

[root@oracledb bin]# chmod 6751 oracle

[root@oracledb bin]# cd /var/tmp

[root@oracledb tmp]# chown -R oracle:oinstall .oracle

(8)重啟測試

[root@oracledb ~]# reboot

(9)切換到oracle用戶登錄狀態(tài)下

[root@oracledb ~]# su - oracle

[oracle@oracledb ~]$ sqlplus / as sysdba

(10)解除鎖定

SQL alter user SYSTEM account unlock;

(11)這時候就可以用Navicat連接了

SQL conn;

用戶名:SYSTEM

密碼:oracle

如果不能正確連接,改下密碼試試

alter user system identified by 新密碼

[root@oracledb ~]# mkdir -p /data/szzt

[root@oracledb ~]# cd /data/

[root@oracledb data]# chown oracle:oinstall -R szzt

[root@oracledb data]# ll

total 0

drwxr-xr-x 3 root root 20 Apr 8 21:14 app

drwxr-xr-x 8 root root 128 Aug 21 2009 database

drwxr-xr-x 2 oracle oinstall 6 Apr 14 16:17 szzt

[root@oracledb ~]# su - oracle

[oracle@oracledb ~]$ sqlplus / as sysdba

SQL conn cshi

Enter password: 登錄失敗

Connected.

SQL create temporary tablespace DB_DATA_TMP tempfile'/data/szzt/DB_DATA_TMP.dbf' size 500m autoextend on next 100m maxsize 10240m extent management local;

顯示結(jié)果:

Tablespace created.

SQL create tablespace DB_DATA logging datafile'/data/szzt/DB_DATA.dbf' size 2048m autoextend on next 100m maxsize 10240m extent management local;

顯示結(jié)果:

Tablespace created.

SQL create user ceshi identified by ceshi default tablespace DB_DATA temporary tablespace DB_DATA_TMP;

顯示結(jié)果:

User created.

SQL grant dba to ceshi;

顯示結(jié)果:

Grant succeeded.

SQL conn ceshi ###用戶名和密碼一樣,此時登錄成功

[oracle@oracledb ~]$ cd /data/app/oracle/product/11.2.0/bin/

注意:數(shù)據(jù)庫導(dǎo)出操作是在 源服務(wù)器 上進行

[oracle@oracledb bin]$ exp 用戶名/密碼@ IP地址 /orcl file =/data/szzt/ceshi.dmp owner='用戶名'

Export terminated successfully without warnings.

注意:數(shù)據(jù)庫導(dǎo)入操作是在 目標服務(wù)器 上進行

[oracle@oracledb bin]$ imp ceshi/ceshi@ 10.100.1.10 /orcl file=/data/szzt/ceshi.dmp fromuser=ceshi touser=ceshi

顯示結(jié)果:可以看到導(dǎo)入的表過程(10.100.1.10是自己的目標數(shù)據(jù)庫服務(wù)器)

Import terminated successfully without warnings .

(1)、數(shù)據(jù)導(dǎo)入完畢后,我們可以使用DBeaver對數(shù)據(jù)庫進行遠程管理

(2)、測試連接,沒問題后完成新建

(3)、連接上來后,我們就可以使用工具來進行管理數(shù)據(jù)庫

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

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

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

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

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

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

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

4、 創(chuàng)建實例

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

6、 啟動數(shù)據(jù)庫到nomount(實例)狀態(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ù)庫正常的使用了。下面,我將具體地把以上的幾個步驟用實驗展開來講。

實驗系統(tǒng)平臺: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目錄下的幾個子目錄主要用于存放數(shù)據(jù)庫運行過程中的跟蹤信息。最重要的兩上子目 錄是bdump和udump目錄,bdump目錄存放的是數(shù)據(jù)庫動行過程中的各個后臺進程的跟蹤信息,當中alert文件是警告文件,其文件名稱為 alert_book.log,當數(shù)據(jù)庫出現(xiàn)問題時,首先就可以去查看此文件以找出原因,手工創(chuàng)建過程中出現(xiàn)的各種問題往往也可以通過查看這個文件找到原 因。Udump目錄存放和特定會話相關(guān)的跟蹤信息。D:\oracle\product\10.1.0\oradata\book目錄存放各種數(shù)據(jù)庫文 件,包括控制文件、數(shù)據(jù)文件、重做日志文件。

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

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

創(chuàng)建初始化參數(shù)文件可以通過拷貝現(xiàn)在的初始化參數(shù)文件并將其做適當?shù)男薷募纯?,從?不必要用手工去一句一句地寫出來,因為初始化參數(shù)文件的結(jié)構(gòu)體系基本上都是一樣的。在我們安裝Oracle的時候,系統(tǒng)已經(jīng)為我們安裝了一個名為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”要和建庫腳步本中對應(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)境變量的目地是在默認的情況下,指定命令行中所操作的數(shù)據(jù)庫實例是book。

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

C:\oradim –new –sid book

oradim是創(chuàng)建實例的工具程序名稱,-new表明執(zhí)行新建實例,-delete表明執(zhí)行刪掉實例,-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)限的用戶的個數(shù),當然還有一個force參數(shù),相信您不指即明,這里就不再細述。

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

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

6、啟動數(shù)據(jù)庫到nomount(實例)狀態(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)啟動。

Total System Global Area 319888364bytes

Fixed Size 453612bytes

Variable Size 209715200bytes

Database Buffers 109051904bytes

Redo Buffers 667648bytes

SQL

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

執(zhí)行建庫腳本,首先要有建庫的腳本。(去哪找建庫腳本呢?我又沒有?。┎挥弥保埥又驴?。

得到一個符合自己要求的建庫腳本有兩種方法,一種方法是在自己的電腦上用DBCA來 建,接照它的提示一步步地去做,在做到第十二步的時候,請選擇“生成建庫腳本”,然后就大功告成,你就可以到相應(yī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" --請注意這里的undo表空間要和參數(shù)文件對應(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之前要把當前用戶(sys)轉(zhuǎn)換成system,即以system賬戶連接數(shù)據(jù)庫。因為此數(shù)據(jù)庫是剛建的,所以system的口令是系統(tǒng)默認的口令,即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ù)庫是否可以正常運行

至此,整個數(shù)據(jù)庫就已經(jīng)建好了。接著你就可以在此數(shù)據(jù)庫上建立自己的賬戶和表空間啦以及數(shù)據(jù)庫對象,這里就不再作更多地敘述

分享標題:怎么建包oracle,怎么在包里建包
文章位置:http://muchs.cn/article46/pheehg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、企業(yè)網(wǎng)站制作、軟件開發(fā)響應(yīng)式網(wǎng)站、網(wǎng)站建設(shè)網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管