分享
 
 
 

Oracle8iHowTo

王朝oracle·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

准备工作--安装Oracle服务器

------------------------------------------------

我认为Microsoft

Windows是个不错的操作系统,它在市场方面获得了空前的成功,并造就了盖茨、巴尔默等百亿富翁。它简单易用,得到了广泛地普及,几乎每个计算机爱好者都会操作Windows,几乎每个程序员都会Windows编程。目前为了占领市场,排挤Linux,Windows2000在PC的预装费用从以前Windows9x的65$,降到40$.

不过,SUN公司的Solaris8(支持IA-64)也宣布近乎免费!

总之,自由软件时代的脚步声似乎可以听到了!

届时计算机行业的工程师主要靠技术靠服务挣钱。我这篇文章就是总结基于"免费/自由"的

Oracle

on

Linux的一些简单经验。如果你喜欢它,就是承认了我劳动,要是您有空给我提个补充建议,那我就更高兴了。

声明:

本文当可以转载,但应先求作者同意。

版本号:Oracle8i

HowTo

V.66

发布时间:2000.2.9

作者:江苏太仓丁聚岗

uudingju@public1.sz.js.cn

--------------------------------------------------------------------------------

现在假设你要在Linux上安装Oracle服务器,请先过以下5关:

系统要求

规划硬盘

创建用户

创建目录

设置参数

1.系统要求

前提条件是能够安装运行Linux,然后应满足以下硬件要求:

内存

Requirements

Memory

最小要求128

MB

RAM.更多(256MB+)内存可以提高性能,

更多的选件(JServer..),供多的用户需要供多的内存!!

SwapSpace

建议2倍内存

CD-ROM

Oracle采用ISO

9660格式CD-ROM,下载安装可以省略。

硬盘要求-

Oracle8i

EE

Oracle8i

Client

最小

660

MB

N/A

典型

811

MB

306

MB

操作系统

Linux

kernel

2.2

+

操作系统联接库-

GLIBC

package

v2.1

2.规划硬盘

对于10以下并发用户的系统,可以用一个硬盘,建立oracle分区(或目录),只要保证剩余磁盘空间1500MB+,一般就可以安装运行Oracle8(不用interMedia,JServer等较大较难选件)。

但是,如果选用Oracle8i,恐怕是为了支持更大规模的应用。与Oracle8i匹配的目前最佳的Intel硬件组合应该是:

2xCPU

PIII(L440GX+主板),512MB

ECC,3块SCSI硬盘(组装参考价:4万元)

3块SCSI硬盘的规划应该是:

#1

操作系统

访问少,寿命长

#2

Oracle软件

系统数据

system,tools,rbs,

temp,user等表空间

读多写少,变化不大

#3

用户数据

读写频繁,经常备份

关于容错:

三个日志文件、控制文件要分别分布在三个硬盘上

三块硬盘都有备有,或有一台备份服务器,定期更新数据

通过FTP,Samba等在网络上备份关键的数据文件。

通常的数据库应用,都是这么一种结构:

所有的数据表归dbo所有,以此用户开发程序

创建各类读写角色,授权读写部分表

创建表的同义词,通常是public

synonym

创建一批数据用户,授与某种读写角色

因此,一个Oracle应用的数据通常在一个表空间->1-2个数据文件->1块硬盘!!,如果有另外的应用可再加硬盘。

3.创建用户和用户组

推荐使用图形界面的kuser工具,

即:KDE

-

User

Manager

先建组dba,oper,

再建用户“oracle”,

Shell=

/bin/sh,

Group=dba,

Set

Passwd=******

通常来说,用户“oracle”拥有数据库软件的安装、升级等管理权限。在你的Oracle8i服务器上,它甚至比root用户还重要!!!

你可以从字符界面以oracle用户登录Linux,然后运行Oracle数据库服务!这样更节省内存。

4.创建目录

推荐使用图形界面

GONE的Home

Dir或KDE的File

Manager,它们会更方便完成下面功能。

root

创建oracle多登录点:

root$

mkdir

/u01

或者是直接做一个硬盘分区/u01

授权别人读写:

root$

chmod

755

/u01

或直接改变所有者:

root$

chown

oracle.dba

/u01

oracle

继续创建目录,按照Oracle习惯:

oracle$

mkdir

/u01/app

oracle$

mkdir

/u01/app/oracle/product/8.1.5

技巧:建立目录别名(符号连接)以便快速又好记忆:

root$

ln

-s

/u01/app/oracle/product/8.1.5

/ora

root$

ln

-s

/home/oracle

/orame

5.设置参数

按照下文的内容编辑

.bash_profiile,

另存为

.profile

[oracle@lin

oracle]$

more

.profile

#

.bash_profile

#

Get

the

aliases

and

functions

if

[

-f

~/.bashrc

];

then

.

~/.bashrc

fi

#

User

specific

environment

and

startup

programs

PATH=$PATH:/ora/bin:$HOME/bin

BASH_ENV=$HOME/.bashrc

USERNAME="oracle"

ORACLE_HOME=/ora;

export

ORACLE_HOME

LD_LIBRARY_PATH=/ora/lib;

export

LD_LIBRARY_PATH

ORACLE_BASE=/u01/app/oracle;

export

ORACLE_BASE

ORACLE_SID=ora8;

export

ORACLE_SID

ORACLE_TERM=386;

export

ORACLE_TERM

TMPDIR=/var/tmp;

export

TMPDIR

#

umask

022

(only

if

umask

does

not

default

to

022)

export

USERNAME

BASH_ENV

PATH

用env检查一下参数设置:

[oracle@lin

orainst0]$

env

USERNAME=oracle

ORACLE_SID=ora8

LD_LIBRARY_PATH=/ora/lib

ORACLE_BASE=/u01/app/oracle

BASH_ENV=/home/oracle/.bashrc

ORACLE_TERM=386

DISPLAY=172.17.2.22:0.0

ORACLE_HOME=/ora

接下来就可以执行安装程序了(需要KDE或AnotherLevel,目前不能从GONE安装!)

先安装jre,即JAVA

Runtime

Environment,版本=jre116v5,用/usr/local/jre

=>指向你安装的jre116v5,然后是oracke815补丁。安装时要注意"DISPLAY"设置问题。

千万不要心急,40分钟装完基础部分,10分钟安装补丁,最后才能创建数据库!

------------------------------------------------

Oracle8i软件安装过程

------------------------------------------------

准备软件

1)光盘安装

首先要加载光盘,可以简单地执行命令:

mount

/mnt/cdrom

或者使用KDE的图形界面,执行fsconf

==>

Acsee

local

driver

==>

/dev/cdrom

==>

Mount

!!!

这里,你也要先安装

JRE(Jave运行环境)

116v5,准备好Oracle815patch_EE(企业版补丁8/27/99

6,4M)。

2)下载方式:

一共要下载3个文件(参考:详细下载地址)

JRE

116v5,Java

运行环境(6M

jre_1.1.6-v5-glibc-x86.tar.gz)

Oracle815

EE,

企业版(07/19/99

256M

815ship.tgz)

Oracle815patch_EE,

企业版补丁(08/27/99

6,4M

linux_81501patch_ee.tgz)

把下载的压缩文件分别复制到一个空文件夹中,然后解压缩它:

JRE

:

请试试

ftp://ftp.progsoc.uts.edu.au/pub/Linux/java/JDK-1.1.6/i386/glibc/v5/

6,292,578

jre_1.1.6-v5-glibc-x86.tar.gz

复制到空目录,然后解开,

tar

-xvzf

jre_1.1.6-v5-glibc-x86.tar.gz

连接/复制/改名新建的jre116v5目录为

/usr/local/jre

Oracle815

EE,

企业版

cp

815ship.tgz

/home/oracle/orainst0/

cd

/home/oracle/orainst0/

tar

-xvzf

815ship.tgz

.

Oracle815patch_EE,

企业版补丁

cp

linux_81501patch_ee.tgz

/home/oracle/patche/

cd

/home/oracle/patche/

tar

-xvzf

linux_81501patch_ee.tgz

.

4.执行安装程序(需要KDE或AnotherLevel,目前不能从GONE安装!)

先安装jre,即JAVA

Runtime

Environment,版本=jre116v5

用/usr/local/jre

=>指向你安装的jre116v5

千万不要心急,40分钟装完基础部分,10分钟安装补丁,最后才能创建数据库!

安装过程:

从设置Xwindow

开始安装

推荐采用KDE界面,如果oracle用户也在服务器上登录安装,

root制定Xwindow显示,我曾在安装时遇到一个"DISPLAY"设置问题。

[root@lin

/root]$

xhost

+172.17.2.22

172.17.2.22

being

added

to

access

control

list

看到上面added信息,oracle用户可以如此开始安装:

[oracle@lin

orainst0]$

./runI*

Initializing

Java

Virtual

Machine

from

/usr/local/jre/bin/jre.

Please

wait...

如果是远程登录到服务器上,比如从172.17.2.21执行,则应该

[oracle@lin

orainst0]$

xhost

+172.17.2.21

172.17.2.21

being

added

to

access

control

list

当然要求事先定义DISPLAY=172.17.2.22:0.0

了:

[oracle@lin

orainst0]$

DISPLAY=172.17.2.22:0.0

[oracle@lin

orainst0]$

export

DISPLAY

同样执行runInstaller

[oracle@lin

orainst0]$

./runI*

Initializing

Java

Virtual

Machine

from

/usr/local/jre/bin/jre.

Please

wait...

安装选项

典型安装,最后提示DBCA数据库助理安装“不完善”,不过还可以继续使用;

最小化安装,不要试图从DBCA数据库助理生成数据库,因为还需要事先安装“补丁”;

自定义安装,如果很熟练,可以挑选部件,同样要先安装“补丁”。

安装补丁

[oracle@lin

patche]$

./linux*

这里同样有很多错误提示,它通过检查子目录文件数目来判断是否继续安装,所以你一定不要动它的文件。

几个问题----如果遇到安装问题,

请对照一下我的参数表,然后再看看我的参数文件“环境变量简要表

.profile”,它是从

.bash_profile

编辑修改过来的。

[oracle@lin

orainst0]$

env

USERNAME=oracle

HISTSIZE=1000

HOSTNAME=lin.tcyy.com

LOGNAME=oracle

ORACLE_SID=ora8

HISTFILESIZE=1000

MAIL=/var/spool/mail/oracle

LD_LIBRARY_PATH=/ora/lib

ORACLE_BASE=/u01/app/oracle

TERM=ansi

HOSTTYPE=i386

PATH=/usr/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/ora/bin:/home/ora

cle/bin

KDEDIR=/usr

HOME=/home/oracle

INPUTRC=/etc/inputrc

SHELL=/bin/sh

PS1=[u@h

W]$

USER=oracle

TMPDIR=/var/tmp

BASH_ENV=/home/oracle/.bashrc

ORACLE_TERM=386

DISPLAY=172.17.2.22:0.0

ORACLE_HOME=/ora

OSTYPE=Linux

SHLVL=1

_=/usr/bin/env

设置“环境变量简要

.profile”它是从

.bash_profile

编辑修改过来的。

[oracle@lin

oracle]$

more

.profile

#

.bash_profile

#

Get

the

aliases

and

functions

if

[

-f

~/.bashrc

];

then

.

~/.bashrc

fi

#

User

specific

environment

and

startup

programs

PATH=$PATH:/ora/bin:$HOME/bin

BASH_ENV=$HOME/.bashrc

USERNAME="oracle"

ORACLE_HOME=/ora;

export

ORACLE_HOME

LD_LIBRARY_PATH=/ora/lib;

export

LD_LIBRARY_PATH

ORACLE_BASE=/u01/app/oracle;

export

ORACLE_BASE

ORACLE_SID=ora8;

export

ORACLE_SID

ORACLE_TERM=386;

export

ORACLE_TERM

TMPDIR=/var/tmp;

export

TMPDIR

#

umask

022

(only

if

umask

does

not

default

to

022)

export

USERNAME

BASH_ENV

PATH

安装过程中间,它要求root用户执行

root.sh,你要先修改读写权限:

[root@lin

/ora]$

chmod

750

root.sh

[root@lin

/ora]$

./root.sh

程序执行结果,生成了下面一个文件/etc/oratab:

[oracle@lin

oracle]$

more

/etc/oratab

#

*:/u01/OraHome1:N

#

ORCL8:/u01/OraHome1:Y

ora8:/ora:Y

它的意思是定义自动启动的名称(ora8),dbstart,dbshut也要这个参数,不然就得是用

svrmgrl

来startup。

注意为了简化目录名称,我试用了符号联接:

/ora

->

/u01/app/oracle/product/8.1.5

/orame

->

/home/oracle

至此,Oracle软件安装完毕,可以试着从DBCA数据库助理生成数据库了:

[oracle@lin

/ora]$

./bin/dbass*

------------------------

创建数据库

------------------------

说明:这里的经验是多次重装Oracle-->建库-->WebDB,细心总结的,而安装软件是很费时费事的,每次要不止6个小时。

这里先谈对几个术语的解释。

在线事务处理OLTP/决策支持,前者用于小而多实时处理,后者用于大而少的统计查询。

并发用户/并发连接,

同时连接的用户数/相同用户同时连接数。

日志文件,redolog,用于重做数据库

控制文件,

control,记载运行状态。

表空间/文件/表/数据,表示oracle的数据库结构。

创建数据库

按照Oracle的说法,创建数据库有3种方法:

1)

安装时生成

2)

安装后使用DBCA创建

3)

使用手工命令

具体过程(个人经验):

方法1

不行,

Oracle也说安装过程不创建数据库,只是在最后启动数据库创建助理DBCA,但你不要相信它,那也行不通,因为你必须在数据库创建之前,安装补丁,那个讨厌又必须的东西。

方法3

太难;

方法2最好!

方法2使用图形化的工具:数据库创建助理DBCA,

你可以一步步

输入或选择参数,最小化安装的时间40分钟,标准规模完全安装的时间90分钟(奔3-500/192MB内存),通常需要2个多小时。

工具用法:启动DBCA

[oracle@lin

/ora]

bin/dbas*

注意:自定义数据库的参数

数据库文件的位置、大小、增长方式。例如:

system

=

/u01/app/oracle/oradata/ora8/orasys01.dbf

188M

next

100K

Users

=

/home/oracle/oradata/ora8/orausr01.dbf

20M

next

128K

重置字符集

缺省值

=

US7ASCII,

要求Windows客户端注册表与之对应,

否则乱码,

Hkey_Local_machine

SoftwareOracleNLS_Lang=American.America.US7ASCII

实际上,Oracle客户端大多是支持中文的,甚至作为了缺省值。并且,如果Oracle

WebDB开发一个中文电子商务站点,你的英文不成问题;但要向一个小公司Oracle

DBA新手推广WebDB作为管理工具,不能总是English面孔吧,所以应该选择中国中文国标字字符集

ZHS16GBK

(中国简化汉字16位国标字库),相应的客户端配置为:

Hkey_Local_machineSoftwareOracleNLS_Lang

=

SIMPLIFIED

CHINESE_CHINA.ZHS16GBK

National

Chartset

是国家语言,为Nchar等N

类型准备的。

服务器成功案例

服务器最小化安装,兼容=8.0.5,不要任何选件(Option);

最小化安装完毕,更改兼容=8.1.0,启动DBCA修改数据库,添加除了interMedia之外的4个部件(因为interMedia需要在oraordadu,..vid中预先装入单独产品,否则提示*.sql,*.plb找不到,如果你有了这些interMedia产品,可以使用DBCA修改数据库,添加这些选项,并且要事先更改兼容=8.1.5),安装成功;

自定义安装,软件系统和数据库文件分别装在不同硬盘上,并改变文件大小、增长方式,

字符集=ZHS16GBK,

(Oracle

建议的中文字符集=ZHS16cGB231280),

安装成功;

WebDB成功案例

服务器字符集=US7ASCII,客户端是ZHS16GBK或WE8ISO8859P1,WebDB也算安装成功,但只能用OPERA3.6操作,附加的Simplified

Chinese在微软

IE5

浏览器显示为?????乱码,我因此判断是因为

Windows.ZHS16GBK

==>

Oracle.US7ASCII7bit)出错。

最小化安装,即兼容8.0.5,语言都是ZHS16GBK,

但是,不要选择任何附加语言,这时的浏览器只能显示English,不会根据浏览器缺省语言显示中文;

WebDB最理想的境界:服务器中等安装(即兼容8.1.0),C/S语言都是ZHS16GBK,

为浏览器添加附加语言Simplified

Chinese,

浏览器语言显示中/英文完全正常。

一些经验

字符集要求一致,要么都是US7ASCII,要么都是ZHS16GBK。

记住:Oracle

for

Windows的英文字符集是WE8ISO8859P1,

而不是Oracle

Server

for

Linux/Unix的缺省字符集US7ASCII。同样地,Oracle

for

Windows的重文字符集是ZHS16GBK,

而不是Oracle

Server

for

Linux/Unix的缺省字符集ZHS16CGB231280,

但是ZHS16GBK

兼容

ZHS16CGB231280。

中文/英文字符集转换将会影响效率,最好选择完全中文。

安装WebDB时,一定要新建目录和Home,选择附加语言(Simplified

Chinese)时要求字符集一致。比如你的WebDB

for

WinNT4英语是

WE8ISO8859P1,那么你就无法向Oracle.US7ASCII服务器添加附加语言Simplified

Chinese,因为US7ASCII和WE8ISO8859P1之间只能正确交换7位字符集比如英语或法语。

下面这个想法也是行不通的:定制安装WebDB2.1,装完SqlPlus,

SupportFiles,

Net8

后,修改字符集与数据库服务器一致,再来安装

WebDB2.1

Listener,

以便添加附加语言Simplified

Chinese.

但是,每次当你启动安装程序时,都得设定一个字符集并同时作为变量供整个安装过程使用,所以不可能中途改变字符集并使之生效。

移植一个产品:你的Windows

NT4有WebDB2.1了,但是Personal

Oracle里有一个Navigator很好用,

那么你可以找到

Nav8.exe,

Nav8cmd.dll,

Navrsus.dll(英语支持),

Navrszhs.dll(汉语支持)共4个文件复制到当前的

[OraWeb21]in

里来,即可使用“Oracle8导航器”了:在桌面或菜单目录中添加Nav8.exe的快捷方式。

想想看:你的Windows

NT4有了Personal

Oracle(只是部分产品或其他),

能不能在它的目录里再装载

WebDB服务?

哪怕不选择附加语言支持。

手工建库

重点讨论方法3:

你需要

较好的Linux和Oracle基础,或者要鼓足勇气,增加信心才行。

请参考帮助文献:

[oracle@lin

oracle]$

more

/ora/rdbms/install/create/READ*

首先定义好

ORACLE_SID,ORACLE_HOME等参数,

编写参数文件$ORACLE_HOME/dbs/init.ora

对db_name,

instance_name

and

service_name

稍微做修改

set

compatible

="8.1.5"

依次执行以下命令脚本:

crdb1.sh

|

crdb2.sh

|--

To

create

database

files,

data

dictionary

views

crdb3.sh

|

and

add

PL/SQL

support

replicate.sh

---

Advanced

replication

option

ordinst.sh

|__

Oracle

Intermedia

imedia.sh

|

drsys.sh

|__

Oracle

interMedia

Text

context.sh

|

java.sh

---

Oracle

Jserver

spatial.sh

---

Oracel

Spatial

timeseries.sh

---

Oracel

TimeSeries

virage.sh

---

Oracle

Visual

Information

Retrieval

sqlplus1.sh

|

sqlplus2.sh

|--

Demos

and

SQL*Plus

help

tables

sqlplus3.sh

|

你不必依次全部执行,我在数据库创建助理DBCA里也只是1)

2)

1)The

first

three

scripts

(crdb1.sh,

crdb2.sh

and

crdb3.sh)

would

create

a

database

and

2)the

scripts

sqlplus1.sh,

sqlplus2.sh

and

sqlplus.sh

would

create

some

demo

tables.

Once

the

database

is

created,

you

could

run

other

scripts

mentioned

above

to

use

the

respective

8i

feature,

3)

e.g.,

for

Jserver,

run

the

java.sh

script.

4)To

enable

Oracle

Intermedia

Text,

run

the

scripts

-

drsys.sh

and

context.sh,

in

this

order

only.

5)

Similarly,

for

Oracle

Intermedia,

run

ordinst.sh

followed

by

imedia.sh.

下面是我用

"数据库创建助理DBCA"

生成的参数文件几个参数:

[oracle@lin

/ora]$

more

dbs/initora8.ora

instance_name

=

ora8

control_files

=

("/u01/app/oracle/oradata/ora8/control01.ctl",

"/u01/app/oracle/oradata/ora8/control02.ctl")

processes

=

50

log_buffer

=

163840

#

audit_trail

=

false

#

审计和interMedia

的软件系统有漏洞

rollback_segments

=

(r01,

r02,

r03,

r04)

//

记住去掉“#”

compatible

=

"8.0.5"

//

根据选件内容,compatible可以是

8.1.0,8.1.5,

修改数据库方法:同样启动DBCA

[oracle@lin

/ora]

bin/dbas*

-------------------------------

数据库系统管理

-------------------------------

----启动/关闭Oracle

本文的讲述Oracle三个核心工具之一:svrmgrl

,

一、先介绍一套简便方法:使用系统命令开关数据库

二、详细介绍服务器管理核心工具svrmgrl

三、SQL*Plus

部分管理任务,测试数据库

Oracle正常工作需要启动两个服务:数据库服务器实例,数据库SQL*Net8服务。

关于SQL*Net8服务的资料,请参考Lsnrctl(Net8)的相关超级联结。

一、简便方法:使用系统命令开关数据库

1)启动服务器

dbstart

2)关闭服务器

dbshut

3)网络监听服务(请参考联接)lsnrctl

1)启动服务器

[oracle@lin

/ora]$

dbstart

该命令校验用户身份后,调用SVRMGR工具,完成一下工序:

启用缺省参数文件init.ora,

初始化内存,登录,打开数据库。

如果需要更多的控制参数,请看svrmgrl工具。

2)关闭服务器

[oracle@lin

/ora]$

dbshut

该命令校验用户身份,调用SVRMGR工具,完成一下工序:

SVRMGR>

Connected.

SVRMGR>

Database

closed.

Database

dismounted.

ORACLE

instance

shut

down.

SVRMGR>

Server

Manager

complete.

Database

"ora8"

shut

down.

3)网络监听服务

启动:

lsnrctl

start

停止:

lsnrctl

stop

二、高级工具:详细介绍

svrmgrl

启动方法:

[oracle@lin

/ora]$

svrmgrl

Oracle

Server

Manager

Release

3.1.5.0.0

-

Production

Oracle8i

Enterprise

Edition

Release

8.1.5.0.1

-

Production

With

the

Partitioning

and

Java

options

PL/SQL

Release

8.1.5.0.0

Production

如何获得使用帮助

打入help,得到:

下面是简单的语法描述,详细资料请看Oracle

Server

Manager

User's

Guide.

SVRMGR>

help

STARTUP

[DBA]

[FORCE]

[PFILE=filespec]

[EXCLUSIVE

|

SHARED]

[MOUNT

dbname

|

OPEN

dbname]

[NOMOUNT]

SHUTDOWN

[NORMAL

|

IMMEDIATE

|

ABORT]

MONITOR

For

graphical

modes

only,

bring

up

a

monitor

ARCHIVE

LOG

[START]

[STOP]

[LIST]

[NEXT]

[]

[ALL]

['destination']

RECOVER

{

[DATABASE

[MANUAL]

]

|

[TABLESPACE

ts-name

[,tsname]]

}

CONNECT

[username

[/password]

]

[INTERNAL]

['@'instance-spec]

DISCONNECT

SET

options:

INSTANCE,

ECHO,

TERMOUT,

TIMING,

NUMWIDTH,

CHARWIDTH

SHOW

LONGWIDTH,

DATEWIDTH,

AUTOPRINT

and

for

SHOW:

ALL,

SPOOL

EXIT

REM

SQL

statements

can

also

be

executed.

以系统用户oracle登录:

SVRMGR>

connect

internal

Connected.

关闭数据库,现在尝试一下?!

SVRMGR>

shutdown

Database

closed.

Database

dismounted.

ORACLE

instance

shut

down.

启动数据库吧,

我想给它指定参数,并且打开:

SVRMGR>

startup

pfile=/ora/dbs/initora8.ora

open

ora8

ORACLE

instance

started.

Total

System

Global

Area

23670160

bytes

Fixed

Size

64912

bytes

Variable

Size

6656000

bytes

Database

Buffers

16777216

bytes

Redo

Buffers

172032

bytes

Database

mounted.

Database

opened.

测试一下啦,

先看看数据库的系统文件吧:

SVRMGR>

select

*

from

system.sysfiles;

TSNAME

FNAME

BLOCKS

------------------------------

-------------------------------------------------

SYSTEM

/u01/app/oracle/oradata/ora8/system01.dbf

89600

OEM_REPOSITORY

/u01/app/oracle/oradata/ora8/oemrep01.dbf

2560

RBS

/u01/app/oracle/oradata/ora8/rbs01.dbf

6144

TEMP

/u01/app/oracle/oradata/ora8/temp01.dbf

5120

USERS

/u01/app/oracle/oradata/ora8/users01.dbf

5120

INDX

/u01/app/oracle/oradata/ora8/indx01.dbf

5120

6

rows

selected.

嗯,

感觉不错,

我会了,谢谢。现在退出休息一下吧。

SVRMGR>

exit

Server

Manager

complete.

三、

SQL*Plus

部分管理任务,测试数据库

在你第一次使用数据库时,它的至少有两个管理员账户:

sys

/

change_on_install,

不要像以前那样,给一个自己都不知道的口令。切记:在你安装webdb时,需要它。

system

/

manager

系统缺省的管理员,记住再给它建造一个工具表空间,作为他的却省表空间:tools.

现在试一下sqlplus:

[oracle@lin

/ora]$

sqlplus

system/manager

SQL*Plus:

Release

8.1.5.0.0

-

Production

on

Sun

Nov

7

10:08:30

1999

SQL>

select

*

from

tab;

SQL>

select

*

from

sys.tab;

SQL>

exit

最后提一下,Oracle+Linux

需要内存128MB,如果你运行了Apache

Web进程的,那更需要内存。

[oracle@lin

/ora]$

free

total

used

free

shared

buffers

cached

Mem:

192984

116904

76080

53212

5652

78064

-/+

buffers/cache:

33188

159796

Swap:

530104

0

530104

-------------------------------------------

Oracle

Net8

网络配置和联接

-------------------------------------------

1)服务器端配置Listener:

添加Listeners

,

设置选择

DataBase

Name方式,填写2个参数

{

HomeDir

=

/ora/

,

SID

=ora8

}

2)启动Net8服务lsnrctl

start

3)停止Net8服务lsnrctl

stop

4)参数文件摘要

5)客户端配置:添加

Net

Service

Name

,同Windows客户端一样格式

1)服务器端配置Listener:

执行/ora/bin/netasst

填写描述->首选Oracle服务:

。PROTOCOL

=

TCP

。HOST

=

172.17.2.22

。PORT

=

1521

查看生成的

Net8

Server配置文件:listener.ora

[oracle@lin

admin]$

more

listener.ora

#

LISTENER.ORA

Configuration

File:/ora/network/admin/listener.ora

#

Generated

by

Oracle

Net8

Assistant

LISTENER

=

(DESCRIPTION

=

(ADDRESS

=

(PROTOCOL

=

TCP)(HOST

=

172.17.2.22)(PORT

=

1521))

(PROTOCOL_STACK

=

(PRESENTATION

=

TTC)

(SESSION

=

NS)

)

)

SID_LIST_LISTENER

=

(SID_LIST

=

(SID_DESC

=

(ORACLE_HOME

=

/ora)

(SID_NAME

=

ora8)

)

)

###

如果指明监听服务的"全局名",则有类似这一行:(GLOBAL_DBNAME

=

ora8)

2)启动Net8服务lsnrctl

start

首先你可以这样取得帮助:

[oracle@lin

/ora]$

lsnrctl

LSNRCTL>

help

然后开始启动:start

[oracle@lin

bin]$

lsnrctl

start

联接时,机器会逐步告诉你正在启动…,正在联接…,已经联接的状态,最后他说成功啦!

下面是一些简要信息:

LSNRCTL

for

Linux:

Version

8.1.5.0.0

-

Production

on

19-NOV-99

22:02:54

(c)

Copyright

1998

Oracle

Corporation.

All

rights

reserved.

Starting

/ora/bin/tnslsnr:

please

wait...

TNSLSNR

for

Linux:

Version

8.1.5.0.0

-

Production

System

parameter

file

is

/ora/network/admin/listener.ora

Log

messages

written

to

/ora/network/log/listener.log

Listening

on:

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.17.2.22)(PORT=1521))

(PROTOCOL_STACK=(PRESENTATION=TTC)(SESSION=NS)))

Connecting

to

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.17.2.22)(PORT=1521))

(PROTOCOL_STACK=(PRESENTATION=TTC)(SESSION=NS)))

STATUS

of

the

LISTENER

------------------------

Alias

LISTENER

Version

TNSLSNR

for

Linux:

Version

8.1.5.0.0

-

Production

Start

Date

19-NOV-99

22:02:54

Uptime

0

days

0

hr.

0

min.

0

sec

Trace

Level

off

Security

OFF

SNMP

OFF

Listener

Parameter

File

/ora/network/admin/listener.ora

Listener

Log

File

/ora/network/log/listener.log

Services

Summary...

ora8

has

1

service

handler(s)

The

command

completed

successfully

以上提示说,1个服务被处理,命令成功完成。

3)停止Net8服务lsnrctl

stop

最简单的方法是

[oracle@lin

/ora]$

lsnrctl

stop

有时侯,进程出了差错,tnslsnr没有响应,像WindowsNT常犯的毛病一

样,

这里有一个强硬的手段:先找出它的进程号,然后

kill掉!

[oracle@lin

/ora]$

ps

-ef|grep

tns

oracle

1331

1

0

15:51

?

00:00:00

/ora/bin/tnslsnr

LISTENER

-inher

或使用更少的参数也能找到tnslsnr:

[oracle@lin

/ora]$

ps

-e

PID

TTY

TIME

CMD

1331

?

00:00:00

tnslsnr

现在杀死PID

=

1331的进程:

[oracle@lin

/ora]$

kill

1331

LSNRCTL象

SVRMGRL一样,是一个服务器管理程序,有不少参数,或者说是

子程序,带星号的是一个外部程序。

[oracle@lin

bin]$

lsnrctl

stop

LSNRCTL

for

Linux:

Version

8.1.5.0.0

-

Production

on

19-NOV-99

22:02:50

(c)

Copyright

1998

Oracle

Corporation.

All

rights

reserved.

Connecting

to

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.17.2.22)(PORT=1521))

(PROTOCOL_STACK=(PRESENTATION=TTC)(SESSION=NS)))

The

command

completed

successfully

Listeners

=DataBase

Name

=

Global

DB

Name

=ora8,

HomeDir

=

/ora/

,SID

=ora8

[oracle@lin

oracle]$

cd

/ora/net*/ad*

[oracle@lin

admin]$

ls

listener.ora

namesini.sql

samples

sqlnet.ora

namesdrp.sql

namesupg.sql

sqlnet.fdf

tnsnames.ora

下面是在

Windwos

NT/98

上远程控制

TNSLSNR

的情形(图略)。

4)参数文件摘要

[oracle@lin

admin]$

more

/u01/app/oracle/admin/ora8/pfile/initora8.ora

db_name

=

ora8

instance_name

=

ora8

##

"事例名"是关键字

service_names

=

ora8

control_files

=

("/u01/app/oracle/oradata/ora8/control01.ctl",

"/u01/app/oracle/oradata/ora8/control02.ctl")

db_block_buffers

=

8192

shared_pool_size

=

4194304

log_checkpoint_interval

=

10000

log_checkpoint_timeout

=

1800

processes

=

50

log_buffer

=

163840

log_archive_start

=

true

log_archive_dest_1

=

"location=/u01/app/oracle/admin/ora8/arch"

log_archive_format

=

%t_%s.dbf

#

切记打开回滚段

rollback_segments

=

(r01,

r02,

r03,

r04)

#

global_names

=

false

###

监听服务无需指明"全局名"

#

oracle_trace_enable

=

true

#

define

directories

to

store

trace

and

alert

files

background_dump_dest

=

/u01/app/oracle/admin/ora8/bdump

core_dump_dest

=

/u01/app/oracle/admin/ora8/cdump

user_dump_dest

=

/u01/app/oracle/admin/ora8/udump

db_block_size

=

2048

remote_login_passwordfile

=

exclusive

os_authent_prefix

=

""

compatible

=

"8.1.5"

##

也可以兼容

"8.0.5"

5)客户端网络配置

[oracle@lin

admin]$

more

tnsnames.ora

#

TNSNAMES.ORA

Configuration

File:/ora/network/admin/tnsnames.ora

#

Generated

by

Oracle

Net8

Assistant

使用net8助理,结果自动保存在

tnsnames.ora

中,

[oracle@lin

/ora]$

netass*

添加Service:

名称ora8,参数如下:

PROTOCOL=TCP

HOST=172.17.2.22

PORT=1521

Oracle_SID=ora8

机器解释成一个Oracle服务器地址包:

(

DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.17.2.22)(PORT=1521))

(PROTOCOL_STACK=(PRESENTATION=TTC)(SESSION=NS))

)

一般说来,客户端采用Windows9x/NT/2000,因为这里软件开发容易,程序员和工具较为普及。

Windows

客户端网络配置与此类似,其内容见于:

OraNT

et80Adminnsname.ora

ORA8.WORLD

=

(DESCRIPTION

=

(ADDRESS

=

(PROTOCOL

=

TCP)(HOST

=

172.17.2.22)(PORT

=

1521))

(CONNECT_DATA

=

(SID

=

ora8))

)

-------------------------------------------

在Windows2000(beta3专业版)中安装Personal

Oeacle8.05时,监听服务安装失败,

只要理解以上oracle结构原理,可以手工复制Net8文件,修改配置:

copy

CD-ROM.NT_x86serverlsnrctl80.exe,tnslsnr80.exe,tnsping80.exe

C:orantin

copy

CD-ROM.listener.ora

C:orant

et80admin

我不久前有这么一次经历。

<=>

Delphi/C++,

PowerBuilder开发Oracle应用

为什么需要多个版本?

因为可能开发新应用,也可能维护一个旧的应用。

Delphi/C++

开发Oracle应用的多种版本的参数对照表

PowerBuilder开发Oracle应用的多种版本的参数对照表(以PB6为例)

Oracle8,

MSsql7各有什么优势?

以下特性对于10个以上的客户端/用户数很重要!

特性平台

Oracle8

MSSQL7

可移植性

多平台:

Unix,

Linux,Windows

锁定在Windows!!!

同义词

create

public

synonym

emp

for

system.emp;

?///

系统日期

select

sysdate

from

dual;

select

getdate();

select

current_timestamp;

系统用户

select

user

from

dual;

select

user_id;

select

user_name;

select

suser;

主机id

??/

select

host_id;

[char8]

序列号

create

sequence

regist7

start

with

10000;

select

regsit7.nextval

into

:orderid

from

dual

//,可以取currval,授权其他用

???

-----------------------------------------------

Delphi/C++

开发Oracle应用的多种版本的参数对照表

配置工具:borland

BDE

Administrator

配置文件:borland

SharedBDEidapi.cfg

SQL

Explorer

中新建一个别名:

Object

===>

New

...

===>

ORACLE

===>myORACLE8

关键参数

参数值

Oracle版本

DLL32

SQLORA8.DLL

SQLORA32.DLL

ora8.x

ora7.x/8.x

VENDER

INIT

ORA805.DLL

OCI.DLL

OCIW32.DLL

ORANT.DLL

ORA80x.DLL

ora8x

ora8x

for

Win32

<=

ora7x.dll

其他参数

:

如果提示供应商有问题,就复制ORA7x.dll

到:

ORANT.DLL再试!!

NET

PROTOCOL

SQL*Net1,

SQL*Net2,

Net8

SERVER

NAME

see

TNSNAME.ORA

,

create

by

netasst

USER

NAME

exmple:

SCOTT/tiger,

-----------------------------------------------

软件开发

-----------------------------------------------

PowerBuilder开发Oracle应用的多种版本的参数对照表:(以PB6为例)

PowerBuilder6快速安装路径:CDROM:pb6setup

SQL*net版本

pb动态库

Profile参数名

参数值

适用Oracle版本

SQL*net16

ora7.2以前

pbOR760.dll

Profile

name

Server

Login

ID

Password

oracle70

@t:ora8

scott

tiger

ora7.0

ora7.x/8.x

ora7.x/8.x

SQL*net32

ora7.x/8.x

pbO7260.dll

pbO7360.dll

Profile

name

Server

Login

ID

Password

oracle73

@tns:ora8

scott

tiger

ora7.0

ora7.x/8.x

ora7.x/8.x

ora8.x

NET8

pbO8060.dll

Profile

name

Server

Login

ID

Password

oracle8

ora8

scott

tiger

其他参数

:

如果提示供应商有问题,就复制ORA7x.dll

到:

ORANT.DLL再试!!

NET

PROTOCOL

SQL*Net1,

SQL*Net2,

Net8

SERVER

NAME

see

TNSNAME.ORA

,

create

by

netasst

USER

NAME

exmple:

SCOTT/tiger,

-------------------------------------------------------------------

文件下载提示

-------------------------------------------------------------------

关于jre_1.1.6-v5有多处可以下载,请试试看

ftp://ftp.progsoc.uts.edu.au/pub/Linux/java/JDK-1.1.6/i386/glibc/v5/

6,292,578

jre_1.1.6-v5-glibc-x86.tar.gz

下载后复制到空目录,然后解开,

tar

-xvzf

jre_1.1.6-v5-glibc-x86.tar.gz

复制/改名为

/usr/local/jre

关于

Oracle8i,oracle805,WebDB,OAS,补丁下载有一个捷径,可以请试试看,如果非要这样,你也要遵守Oracle公司的协议,在OTN及其研究会注册一下。

ftp://ftp.oracle.com/pub/www/otn/linux/

07/20/99

12:00上午

621

815README

07/19/99

12:00上午

29,360,128

815ship.1

.....

07/19/99

12:00上午

22,303,468

815ship.9

07/19/99

12:00上午

257,184,492

815ship.tgz

企业版

10/28/00

04:17下午

29,360,128

815shipstd.1

...

...

10/28/00

04:19下午

27,955,443

815shipstd.9

10/18/00

05:31下午

262,836,467

815shipstd.tgz

标准版

03/01/99

12:00上午

171,305,412

Oracle8051EE_Intel.tgz

06/02/99

12:00上午

3,281

README

08/27/00

11:27上午

6,419,391

linux_81501patch_ee.tgz

企业版补丁

02/05/99

12:00上午

794,538

lnxpatch.tgz

02/03/00

10:29上午

Directory

oas

08/06/99

12:00上午

283,567,537

oas407ship_tar.gz

应用服务器

01/31/00

12:35下午

Directory

webdb

08/02/99

12:00上午

92,069,519

webdb2_0_0528_tar.gz

万维网数据库

-------------------------------------------------------------------

下载方式,可以在windows进行,通过刻录光盘、FTP、Samba、兼容磁盘分区等方式,让Linux读到。

结束

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有