文档库 最新最全的文档下载
当前位置:文档库 › Oracle8i for UNIX安装

Oracle8i for UNIX安装

Oracle8i for UNIX安装
Oracle8i for UNIX安装

Oracle8i for UNIX安装

注意:$DBVENDOR = oracle时,需要安装Oracle

Oracle8i(这里仅指Oracle8i Enterprise Edition)的安装分成如下几步:

?确认本地系统的软,硬件,内存和硬盘空间是否满足要安装的产品要求;

?配置UNIX环境满足安装要求;

?使用oracle提供的Oracle Universal Installer安装产品;

?使用Net8 Configuration Assistant配置Net8(如果要建立分布式环境的话)。

典型安装的系统要求

?内存空间≥128MB(可用$/usr/sbin/prtconf | grep size来判断)

?交换区(swap space)空间≥400MB(可用$swap –l来判断)

?一个CD-ROM驱动器

?磁盘空间≥1000MB(没有考虑用户数据库的大小);

?操作系统应该是Solaries2.6或Solaries7(可用$uname -a来判断);

?系统上应包含SUNWarc,SUNWbtool,SUNWhea,SUNWlibm,SUNWlibms,

SUNWsprot,SUNWtoo包(可用$pkginfo –i [package_name]查看);

?系统上应安装了X-windows(可用$xclock来判断,如果屏幕上出现一个钟,辨明

系统上安装了X-windows);

?make,ar,ld,nm必须在/usr/ccs/bin目录上(可用$/usr/bin/which make,

$/usr/bin/which ar, $/usr/bin/which ld, $/usr/bin/which nm来判断,他们都应该指向/usr/ccs/bin目录);

预安装

以root用户登录,执行下列任务:

?配置UNIX核

1.检查/etc/system文件,按上述表配置表中变量;

2.如果改变了上述变量,使用reboot -- -r命令重启系统。

例子:

set shmsys:shminfo_shmmax=4294967295

set shmsys:shminfo_shmmin=1

set shmsys:shminfo_shmmni=100

set shmsys:shminfo_shmseg=10

set semsys:seminfo_semmni=100

set semsys:seminfo_semmsl=100

set semsys:seminfo_semmns=200

set semsys:seminfo_semopm=100

set semsys:seminfo_semvmx=32767

?为数据库创建UNIX组

Oracle在安装时创建二个角色:SYSDBA和SYSOPER。用admintool或groupadd 创建一个组,Oracle推荐名为dba。Oracle Universal Installer默认地赋予dba 成员SYSDBA和SYSOPER权限。

?为Oracle Universal Inventory创建UNIX组

用admintool或groupadd创建一个名为oinstall的组。oinstall组拥有Oracle Universal Inventory的oraInventory目录。

?创建一个拥有Oracle软件的UNIX账号

?oracle账号是Oracle软件安装后拥有它的UNIX用户账号。用这个账号运行Oracle

Universal Installer。用admintool或useradd创建带有下列性质的oracle账号:

1. 登录名推荐名为oracle

2. 一级GID oinstall组

3.二级GID dba组

4.主目录不能与ORACLE_HOME目录相同。

5.登录Shell c shell

?以oracle账号登录,执行下列任务:

1.创建两个个安装点,Oracle Universal Installer仅要求两个安装点:一个

用于安装oracle应用软件,另一个用于安装数据库文件。推荐安装点命名为:

u01(用户安装oracle应用软件)和u02(用户安装数据库文件);oracle用

户为这两个安装点的属主。

2.用umask检查当前设置,如果umask不返回22,则在oracle账号的文

件.profile或 login中设它为22;

3.在文件.profile(对于Bourne或Korn shell)或.login或.cshrc(对于C shell)

中设置环境变量:

a)设置DISPLAY:

对Bourne或Korn shell

$ DISPLAY=workstation_name:0.0

$ export DISPLAY

对于C shell

$ setenv DISPLAY workstation_name:0.0

b)设置PATH:

$ORACLE_HOME/bin/usr/bin, /etc, /usr/ccs/bin,

/usr/openwin/bin,本地bin目录/usr/local/bin(如果存在的话)

c)设置ORACLE_BASE:

ORACLE_BASE是ORACLE软件和管理文件结构的父目录,它的推荐

名为software_mount_point/app/oracle.例如,u01/app/oracle.

d)设置ORACLE_HOME:

ORACLE_HOME是包含ORACLE软件的目录。它的推荐名为

$ORACLE_BASE/product/release.例如,

u01/app/oracle/product/8.1.6

e)设置ORACLE_DOC:

ORACLE_DOC是包含ORACLE相关在线文档的目录。推荐名为

$ORACLE_BASE/doc,例如:u01/app/oracle/doc,注意:如果改

环境变量设置不正确,某些软件如sqlplus将不能使用。

f)设置ORACLE_SID:

如果在安装时要创建一个数据库,安装程序将提示确认这个值,该值的最大长度为8。

安装

?以oracle用户登录;

?进入CD-ROM目录;

?输入./runInstaller,出现Welcome窗口;

?以后根据提示完成安装。

需要注意的是:

1.在UNIX GROUP NAME窗口中输入oinstall,指定oinstall组对

oracle软件的维护和升级,另开一窗口以root用户运行

/tmp/OraInstall/orainstallRoot.sh;

2.在Available Products窗口中选择Oracle8i Enterprise Edition,即

第一项,选择典型安装;

3.当提示数据库文件所在的位置时输入安装点2,如u02。

4.Oracle8i Enterprise Edition安装完成后,点击下一次安装按钮选

择安装oracle client;

5.安装client时选择programmer user安装。

6.添加中文语言支持。

Net8配置

?监听器配置

在安装Oracle8时,安装程序自动建立一个名为LISTENER的监听器,LISTENER 的默认监听端点地址为:

?IPC协议:用于支持外部过程连接;

?TCP/IP协议,端口为1521:支持Net8客户连接;

?TCP/IP协议,端口为2481:支持IIOP客户机连接。

我们也可用Oracle Ne8 Assistant来创建监听器。其方法如下:

1.在netasst,启动Oracle Net8 Assistant。

2.选择

程序名文本框中输入监听器名称(每个节点中所有监听器名称不能重

复)

3.单击Address1页面中为监听器配置监听地址。

监听参数包括:

?监听网络地址:说明监听节点主机名称(或其IP地址),协议及端口号等。

?协议栈:说明使用监听器的客户类型(Net8客户,IIOP客户或管理员定制的客户类型),它决定连接时所使用的表示层和会话层。

4.Address1页面上面的下拉列表中选择

然后单击在Database1页面中设置监听器

所服务的网络服务参数,即全局数据库名,Oracle主目录位

置及数据库的网络服务名等。

5.执行File菜单下的

?网络服务名解析法配置(采用Oracle本地解析法)

用Oracle Ne8 Assistant配置网络服务名解析法:

1.在$ORACL_HOME/bin目录下运行netasst, 启动Oracle Net8

Assistant.

2.Local>Service Naming.

3.

4.网络服务名称可以被

客户端得域限定。如果sqlnet.ora文件里指定了

NAMES.DEFAULT_DOMAIN参数,网络服务名称自动地加上域限

制。)

5.。单击

6.然后单击呢

7.

8.单击

如果测试不成功:

?

?单击

9.击

10.

Oracle的启动

1.% su – oracle,以oracle用户登陆

2.% $ORACLE_HOME/bin/svrmgrl,运行$ORACLE_HOME/bin/svrmgrl

3.SVRMGR> connect internal

4.SVRMGR> startup,启动oracle服务

5.SVRMGR> exit,退出svrmgrl

6.% $ORACLE_HOME/bin/lsnrctl,为oracle服务器启动监听器

7.LSNRCTL> start [],启动listen_nam监听器

关闭Oracle

1.1.% su – oracle,以oracle用户登陆

2.% $ORACLE_HOME/bin/svrmgrl,运行$ORACLE_HOME/bin/svrmgrl

3.SVRMGR> connect internal

4.SVRMGR> shutdown

自动启动和关闭Oracle

可以配置系统,使得系统每次启动时自动启动oracle数据库,每次shutdown 时自动关闭oracle数据库;oracle数据库的自动启动是可选的,但是推荐系统每次shutdown时自动关闭ORACLE数据库,因为这样可以防止不正当的关闭ORACLE 数据库。

ORACLE提供了两个shell文件来支持数据库的自动关闭和启动,他们是位于$ORACLE_HOME/bin的dbshut和dbstart。

dbshut和dbstart涉及了oratab文件的相同实体,所以不可能自动启动sid1、sid2、sid3而只自动关闭sid1、sid2,不过可以只用dbshut去自动关闭数据库而不用dbstart,

自动启动和关闭oracle数据库。

1.编辑/var/opt/oracle/oratab文件

oratab文件中数据库实体为以下格式:

ORACLE_SID:ORACLE_HOME:{Y|N}

最后一个Y|N域指定是否自动关闭和启动数据库,找到要自动启动的数据

库(即第一个域ORACLE_SID),然后把最后一个域更改为Y。

2.使用超级用户在/etc/init.d/目录中建立dbora文件

3.dbora文件的内容如下所示:

#!/bin/sh

# Set ORA_HOME to be equivalent to the ORACLE_HOME

# from which you wish to execute dbstart and

# dbshut

# set ORA_OWNER to the user id of the owner of the

# Oracle database in ORA_HOME

ORA_HOME=/u01/app/oracle/product/8.1.6

ORA_OWNER=oracle

if [! -f $ORA_HOME/bin/dbstart]

then

echo "Oracle startup: cannot start"

exit

fi

case "$1" in

’start’)

# Start the Oracle databases:

# The following command assumes that the oracle login will not

# prompt theuser for any values

su - $ORA_OWNER -c $ORA_HOME/bin/dbstart &

;;

’stop’)

# Stop the Oracle databases:

# The following command assumes that the oracle login will not

# prompt the

# user for any values

su - $ORA_OWNER -c $ORA_HOME/bin/dbshut &

;;

esac

4.链接该文件使得系统自动启动和关闭数据库

# ln -s /etc/init.d/dbora /etc/rc0.d/K10dbora

# ln -s /etc/init.d/dbora /etc/rc2.d/S99dbora

创建数据库

1.% su – oracle;以oracle用户登陆

2.% dbassist,启动oracle database configuration assistant

3.在弹出的欢迎窗口中选择创建数据库(create a database)

4.在“选择创建数据库类型”(select the type of database to create)窗口中选择“定

制”(custom)

5.在“选择将在数据库中使用的应用程序的主要类型”(select the primary type of

application that will be used within this database)窗口中选择“多用途”

(multipurpose)

6.在下一窗口中填写最大的并发用户数,默认15即可

7.在“选择希望数据库缺省的操作模式”(select the mode in which you want your

databse to operate by defoult)窗口中选择“专用服务器模式”(dedicated server

mode)

8.在“选择希望在数据库中配置使用的选项”(select the options you want to

configure for use in your database)窗口中不选择任何选项。

9.在下一窗口中输入数据库名和例程名(global database name和SID),更改初

始化文件的目录为第二个安装点(即存放数据库文件的那个安装点),注意:

在后面的几个窗口中都把数据库文件的位置改为第二个安装点,其他都是用默

认值

10.如果系统中存在多个监听器,会提示选择监听器对话框。

增加用户

1.% su – oracle,以oracle用户登陆

2.更改ORACLE_SID环境变量为要增加用户的数据库名

3.% $ORACLE_HOME/bin/svrmgrl,运行$ORACLE_HOME/bin/svrmgrl

4.SVRMGR> connect internal

5.SVRMGR> create user username identified by password;,;号是必须的,建立用

户username,密码为password

SVRMGR> grant connect,resource to username;,为username分配权限

Oracle服务安装与配置

安装Oralce Server,按照Oracle服务命名约定(参见5.3.2节)生成服务实例。在生成的Oracle服务上,按照Oracle用户命名约定(参见5.3.3节)创建Oracle用户,并分配需要的权限,权限最少包括CONNECT和RESOURCE权限,但为了系统安全考虑,不要直接分配DBA权限给这些用户。

存储过程安装

1.点击“开始菜单-> Oracle8i->Application Development->SQL Plus”

2.点击SQL Plus窗口“文件->打开”,然后打开innumeric.sql文件。

3.在SQL>提示符状态输入”run”然后回车即可。

存储过程文件innumeric.sql,此文件的内容如下:

create or replace function isnumeric(c varchar2)

return number

is

n number;

begin

begin

n:=to_number(c);

exception when others then

return 0;

end;

return n;

end;

/

Oracle数据库的汉字显示问题

在SQL*Plus中insert进的都是中文的,为什么一存入服务器后,再select出的就是? ? ?了?

?错误现象:

1、有的时候,服务器数据先导出,重装服务器,再导入数据,结果,发生数据查

询是出现的是? ? ?。

2、有时,服务器设置就有问题,字符集设成单字节了。

?错误原因:

一般这种问题产生的原因是因为字符集设置不对造成的。

?解决方法:

1、检查服务器上Oracle数据库的字符集,检查的方法如下:

SQL> conn sys/change_on_install

连接成功.

SQL> desc props$

列名可空值否类型

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

NAME NOT NULL VARCHAR2(30)

VALUE$ VARCHAR2(2000)

COMMENT$ VARCHAR2(2000)

SQL> col value$ format a40

SQL> select name,value$ from props$;

NAME VALUE$

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

DICT.BASE 2

NLS_LANGUAGE AMERICAN

NLS_TERRITORY AMERICA

NLS_CURRENCY $

NLS_ISO_CURRENCY AMERICA

NLS_NUMERIC_CHARACTERS .,

NLS_DATE_FORMAT DD-MON-YY

NLS_DATE_LANGUAGE AMERICAN

NLS_CHARACTERSET ZHS16GBK

NLS_SORT BINARY

NLS_CALENDAR GREGORIAN

NLS_RDBMS_VERSION 7.3.4.0.0

GLOBAL_DB_NAME ORACLE.WORLD

EXPORT_VIEWS_VERSION 3

查询到14记录.

NLS_CHARACTERSET这个参数应该是ZHS16GBK,如不是,需要修改成此值,修改的方法如下,

SQL*Plus中修改方法:

SQL> update props$ set value$='新字符集' where

name='NLS_CHARACTERSET';

操作系统中修改方法:

connect internal

alter database ORCL character set ZHS16GBK;

alter database ORCL national character set ZHS16GBK;

注意修改数据库字符集后需要重启数据库。

2、检查操作系统级Oracle汉字显示的字符集,检查方法如下:

运行regedit,定位到:

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE

找到以下字符串:

NLS_LANG

检查是否以下内容,如不是,改之,修改方法如下:

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

注意修改数据库字符集后需要重启数据库。

Oracle最大链接数修改办法

修改$ORACLE_HOME/admin/oracle/pfile/init[$ORACLE_SID].ora文件中的processes参数的值,然后重新启动数据库即可。这时Oracle最大链接数可以改为100。

相关文档