Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1149293
  • 博文数量: 56
  • 博客积分: 1682
  • 博客等级: 上尉
  • 技术积分: 719
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-21 17:29
文章分类
文章存档

2013年(1)

2012年(11)

2011年(44)

分类: Oracle

2011-06-16 21:05:38

 

 

                                                                                                                      

ORACLE 10G 数据库_安装手册

 

 

 


目 录

 

1   概述. 5

1.1     目的. 5

1.2     适用范围. 5

1.3     系统概述. 5

1.4     参考资料. 5

2   系统安装. 6

2.1     系统安装. 6

2.1.1   安装准备. 6

2.1.2   安装步骤. 15

2.1.3   检查验证. 46

2.2     安装Statspack 48

2.2.1   建立perfstat表空间. 48

2.2.2   安装statspack 49

2.2.3   设置相关参数(connect / as sysdba. 50

2.3     安装RDA工具. 50

2.3.1   解压安装包. 50

2.3.2   检查安装条件. 50

2.3.3   安装配置. 52

2.4     安全设置. 54

2.4.1   为缺省用户修改密码. 54

2.4.2   设置密码复杂度. 57

2.4.3   sys用户登陆,建MAINTAIN_PROFILE,SYS_PROFILE 57

2.4.4   建立监控用户moni 58

2.4.5   为每个数据库管理员建立单独的帐号. 58

2.4.6   应用安全策略,授予用户. 60

2.4.7   关闭操作系统用户认证方式. 62

2.4.8   LISTENER程序增加密码. 63

2.4.9   重起数据库. 64

2.5     注意事项. 64

3   部署脚本. 65

3.1     Alert 65

3.1.1   建目录 alert 65

3.1.2   准备脚本. 65

3.1.3   验证. 65

3.1.4   设置crontab 66

3.2     Awr 66

3.2.1   建目录 awr 66

3.2.2   准备脚本. 66

3.2.3   验证. 66

3.2.4   设置crontab 67

3.3     日志服务器. 67

3.3.1   修改tnsnames.ora 67

3.3.2   修改account文件. 67

3.3.3   建目录. 68

4   常见问题处理. 69

4.1     关于AIX系统IY58143 补丁安装的检查. 69

4.2     关于solaris10package 69

4.3     listener启动失败. 69

4.4     oraInst.loc脚本. 70

4.5     裸设备问题. 71

5   附件. 72

5.1     .profile文件的模板. 72

5.2     RDA安装过程. 74

5.3     Listener.ora文件的模板. 74

5.4     Sqlnet.ora文件的模板. 74


此手册是针对如何安装ORACLE 10g软件,并创建一个oracle 10g数据库实例的过程。

编写此手册的目的是为安装Oracle 10g数据库的操作员提供规范和指导。

此手册适用于在AIX, Solariswindows系统下安装并搭建Oracle 10g数据库。

此手册可用于在AIX, Solariswindows系统下搭建Oracle 10g数据库,系统维护人为系统部开放平台数据库小组成员。

  硬盘空间建议大小为10G

  如果机器的内存小于10g,建议为ORACLE实例分配1/3大小的物理内存。

  安装ORACLE 10g前,首先检查操作系统是否满足ORACLE 10g的安装条件。AIX, SolarisWindows操作系统的要求分别如下:

  下表列出了安装ORACLE 10g必须的AIX操作系统版本及系统包。

1 AIX版本要求

2 AIX补丁要求

IY43980,IY44810 ,IY45462 ,IY45707 ,IY46214 ,IY46605 ,IY48525,IY51801,IY59082 ,IY94343 ,IY58143,IY59386,IY60930

3 AIX安装包要求

bos.adt.base

bos.adt.lib

bos.adt.libm

bos.perf.perfstat

bos.perf.libperfstat

bos.perf.proctools

X11.motif.lib(Spatial only

检查步骤为:

1,检查AIX系统的版本,是否满足表1

使用命令 # oslevel -r

2,检查操作系统是否安装了需要的系统软件包,是否满足表2,表3要求。

  1)检查是否安装了OS补丁

使用命令

# lslpp -l bos.adt.base bos.adt.lib bos.adt.libm   bos.perf.perfstat bos.perf.libperfstat bos.perf.proctools

    2)检查是否已安装IY包:

使用命令

/usr/sbin/instfix -i -k"IY43980 IY44810 IY45462 IY45707 IY46214 IY46605 IY48525 IY51801 IY59082 IY94343 IY58143 IY59386 IY60930 IY94343"

    如果检查到有操作系统软件包或补丁没有被安装,则需要首先安装相应的软件包或补丁,之后再开始ORACLE软件的安装工作。

  下表列出了安装ORACLE 10g必须的Solaris操作系统版本及系统包。

4 Solaris版本和安装包要求

5 Solaris补丁要求

检查步骤为:

1.       检查操作系统的版本,是否满足表1。使用命令 # uname –r

2.       检查操作系统是否安装了需要的系统软件包,是否满足表2,表3要求。      使用命令

# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot\

SUNWsprox SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt

Solaris10

SUNWsprox——已经不用

检查是否安装了OS补丁,使用命令,例如

# /usr/sbin/patchadd -p | grep 119961

Solaris10不需要安装OS补丁包。

3.       如果检查到有操作系统软件包或补丁没有被安装,则需要首先安装相应的软件包或补丁,之后再开始ORACLE软件的安装工作。

    6说明了支持ORACLE 10g安装的Windows操作系统版本及系统架构。

6 Windows系统要求

设置情况——仅适于AIXSolaris系统

    对于裸设备

参数

MAXPERM

30

MAXCLIENT

30

MINPERM

10

    对于文件系统(缓存文件系统参数)  vmo -a |grep perm  root

参数

MAXPERM%

50

MAXCLIENT%

50

MINPERM%

30


maximum number of processes allowed per user
=processes +500

——修改system文件(以root身份)

    该文件位于etc目录下,强烈建议修改前一定要做好备份。修改完后重启机器以使修改生效。重启后才能继续下面的安装操作。

增加内容如下:

     set shmsys:shminfo_shmmax=4294967295

     set shmsys:shminfo_shmmin=1

         set shmsys:shminfo_shmmni=200

         set shmsys:shminfo_shmseg=200

         set semsys:seminfo_semmni=300

         set semsys:seminfo_semmsl=300

         set semsys:seminfo_semmns=300

         set semsys:seminfo_semopm=300

         set semsys:seminfo_semvmx=32767

         set pt_cnt=1024

         set npty=1024

         set sadcnt=2048

         set nautopush=1024

         set dosynctodr=0

         set noexec_user_stack=1          

2.1.1.4  确认操作系统的网络配置(AIXSolaris都适用)

查看方法:

AIXno -a | grep rfc1323

         no -a | grep ipqmaxlen

no -a | grep sb_max

no -a | grep udp_sendspace

no -a |grep udp_recvspace

no -a | grep tcp_sendspace

no -a | grep tcp_recvspace

Solarisndd –get /dev/tcp tcp_xmit_hiwat        

AIX

Solaris

no -po rfc1323=1

 

no -ro ipqmaxlen=512

 

no -po sb_max=41943040

ndd -set /dev/udp udp_max_buf 41943040

ndd -set /dev/tcp tcp_max_buf 41943040

no -po udp_sendspace=2097152

ndd -set /dev/udp udp_xmit_hiwat 2097152

no -po udp_recvspace=20971520

ndd -set /dev/udp udp_recv_hiwat 20971520

no -po tcp_sendspace=65536

ndd -set /dev/tcp tcp_xmit_hiwat 65536

no -po tcp_recvspace=65536

ndd -set /dev/tcp tcp_recv_hiwat 65536

使用的组和用户(以root身份)

Solaris

1,确认ORACLE用户和组的设置是否符合下表规定。

oracle身份登陆操作系统

$ id

uid=234(oracle) gid=210(dba)

参数

用户名

Oracle

UID

234

用户所在文件系统

/oracle

组名

Dba

GID

210

oracle用户的process resource limits (ulimit)应设置为

参数

time(seconds)

unlimited

file(blocks)

unlimited

data(kbytes)

unlimited

stack(kbytes)

32768

memory(kbytes)

unlimited

Coredump(blocks)

2097151

nofiles(descriptors)

2000

 

可通过查看文件/etc/security/limits

Ulimit -a

                                           

indows

    Windows系统下,为oracle建立组ORA_DBAoracle用户以administrator用户登录。                                 

身份

u ORACLE_BASE指向的目录

u ORACLE_HOME指向的目录

u ORACLE_HEALTH指向的目录:保存健康检查相关的文件。例如/ebankmove/jkjc

用户的.profile文件——仅适于AIXSolaris系统

在数据库安装过程中,以下环境变量参数是必要的:

• ORACLE_BASE

• ORACLE_HOME

• ORACLE_SID

• ORA_NLS10 10g新增的,替代9iORA_NLS33

• PATH

• LD_LIBRARY_PATH

• ORACLE_HEALTH

• NLS_LANG

根据实际情况添加或修改以下参数:

• ORACLE_OWNER

• ORACLE_HOME

• ORACLE_BASE

• ORACLE_SID

(.profile模板在附件中给出。)

1,在图形界面下用oracle身份登陆操作系统。

如果是远程安装而且远程端为windows平台的话,使用软件EXTRA! XXmanager远程登录到服务器。

,设置DISPLAY参数

如果已在.profile设置(例如上面所列的.profile模板),就不用执行以下操作。在Terminal下运行以下命令:

$DISPLAY=本地IP:0.0

$export DISPLAY

如果是通过光盘安装,在AIX上需要首先mount光盘,步骤如下:

1. root用户登录:

$ su - root

2.如果需要,unmount 当前mount好的光盘,然后将它取走。

# umount /dvd

3.插入光盘,执行如下命令来mount光盘

# /usr/sbin/mount -rv cdrfs /dev/cd0 /dvd

/dev/cd0光盘驱动器的设备名,/dvd挂接点目录。

4. 如果Oracle Universal Installer出现光盘位置界面,输入光盘挂接点的目录路径。

如果介质不是安装光盘,需要进行如下准备工作:

1,传输介质

AIXSolaris下,采用bin(二进制)的方式传输介质。

2,解压tar

介质传输到本地后,如果是tar包,需要先进行解压缩。将解压后的文件夹命名为Disk1Disk2的形式。

注意安装介质的解压不能跨不同操作系统进行。   

root身份,运行安装目录下的rootpre.sh文件。

$cd /cdrom/cdrom0(或 cd 安装目录/disk1

$cd database

$./runInstaller    按回车(或在file manager里进入ORACLE安装光盘,点击runInstaller。)

界面将提示是否已经运行了rootpre.sh:(只适用于AIX

Has 'rootpre.sh' been run by root? [y/n] (n)

键入y,继续。

    下面是欢迎界面,可以选择基本安装(Basic Installation)或者是高级安装(Advanced Installation),建议选择高级安装,以便自己制定需要安装的组件:

         安装类型有三种企业版(Enterprise Edition),标准版(Standard Edition)和用户自定义(Custom)。建议选择企业版安装。

    注意,记住此步配置的ORACLE_HOME的名称和路径,在安装补丁包时将重填此信息(见2.2.2节)。

    请确保所有检查都被通过,才能进入下一步。如果存在检查不成功的条目,应首先verify

    显示安装软件涉及的文件系统的空间情况。如果有文件系统可用空间不足,界面将会以红色字体标识,将不能继续安装,需要先进行处理。

root.sh脚本

    安装完成之后,要以root用户执行图中指定的orainstRoot.shroot.sh脚本。

     

在脚本运行后,点击OK继续,可能会出现如下错误提示信息。(解决方法见)

10.2.0.n补丁集(以10.2.0.3为例说明) (/install/10patch)

    结束正在运行的oracle进程,运行./runInstaller。安装过程与2.1介绍的步骤类似,如下:

    首先提示,

               Has '/usr/sbin/slibclean' been run by root? [y/n] (n)

    在另一会话中以root身份运行该脚本。

  安装10.2.0.n补丁时,要将安装路径和名称设置为与之前安装的10.2.0.1一致的位置上。请对比参考2.1.5节。

    点击next继续,可能会出现如下错误提示信息(原因与2.1.9相同),解决方法详见4.4下文

    显示安装软件涉及的文件系统的空间情况。如果有文件系统可用空间不足,界面将会以红色字体标识,将不能继续安装,需要先进行处理。

    安装完成之后,要以root用户执行指定的root.sh脚本。

2.1.2.3  Opatch补丁

2.1.2.3.1 最新Opatch工具(见下列附件)

具体安装方法请见相应安装手册。例如5201883的文档名为《ORACLE PATCH 5201883 FOR SOLARIS64安装手册.doc

2.1.2.3.2 SOLARIS

Solairs sparc 64-bit平台的 ORACLE 10g升级补丁目前总共12,如下:

u 5648872

u 5686711

u 5728380

u 5871314

u 5892355

u 5907779

u 6079591

u 6081556

u 6128197

u 5176098

u 5201883

u 6133264

2.1.2.3.3 AIX

AIX5305平台的 ORACLE 10g升级补丁目前总共13,如下:

u 6349875

u 6128197

u 6081556

u 6079591

u 5907779

u 5892355

u 5871314

u 5728380

u 5648872

u 5501528

u 5176098

u 5201883

u 6133264

如该系统使用Streamopatch的安装需要继续进行如下步骤:

1.   先回滚以下patch

u  6128197

u  6121248

u  5892355

2.   安装stream patch

u  6081550包含的:

5287523,5472702,5744428,6069074

u  6081547包含的:

5209867,5844945,6010833

u  6267873

u  6043052

u  6375952

u  5093060

u  6909784

u  6319315

u  6353377

2.1.2.4  创建数据库

    1)有两种方法创建数据库,使用DBCAOracle Database Configuration Assistant)工具创建和手工创建。手工创建比较容易定位和排除错误,但是操作复杂,除非由较资深DBA操作。一般用户建议使用DBCA工具创建。

    2)使用DBCA工具在图形界面中运行$ORACLE_HOME/bin目录下的./dbca

,选择数据库创建模板

Next”,出现下面界面:

    选择数据库创建模板,有四类选择:数据仓库(Data Warehouse),事务处理(Transaction Processing),一般用途(General Purpose)和用户自定义(Custom Database)。建议选择用户自定义(Custom Database)方式,使用该方式用户可以自己选择创建的内容和设置各项参数,点击“Next”。

    根据开发中心的需求,输入用户自定义的Database NameSID,点击“Next”。下图以Database NameSIDicbc9为例。注意,数据库名和SID必须在1-8个字符之内。

和验证特性

    选择是否配置企业管理器,设置邮件服务器。一般情况下无需配置。

    SYSTEMSYS用户设置口令,设置后按“next”继续。

(根据开发中心的需求设置,请参照开发中心相应文档,下图为示例)

               数据库的存储特性有三类:文件系统、裸设备和自动存储管理(ASM),ASMORACLE 10G的新特性。通常情况下,选择File system.

               选择是否需要归档和FLASH RECOVERY。如果是生产数据库,强烈建议使用归档模式。FLASH RECOVERYORACLE 10G新功能,我行目前较少使用。

点击Edit Archive Mode Parameters,编辑归档文件路径。

    用户根据实际应用需要选择。建议除Enterprise Manager Repository,其他都不选择。

    点击右下standard database components 按钮,勾掉其中的组件选项。

(根据开发中心的需求设置,请参照开发中心相应文档)

注意:

    数据块大小字符集参数,在建立实例后将不能被修改。所以在安装实例时,一定要确认设置的正确性。请遵照开发中心文档进行配置。

    内存的设置:如果机器的内存小于10G,建议为ORACLE实例分配1/3大小的物理内存。

 

设置内存参数:

设置块大小和进程数量,配置Data block的大小,如果存储和内存空间比较宽松,一般选择8K比较适中。

设置“Database Character Set”为ZHS16GBK-GBK16-bit Simplified Chinese和“National Character Set”为“AL16UTF16”编码。

    设置连接模式,连接模式有专有模式(Dedicated)和共享模式(Shared)两种,如果应用使用的连接方式多为长连接,则应使用专有模式,如果使用的连接方式多为短连接,则应该使用共享模式:

数据库的存储结构

在这个界面内,可以调整配置控制文件、表空间、数据文件、回滚段和重做日志的概要信息和选项信息。

数据库文件

建议将ORACLE软件与数据库放置于不同的文件系统上。如果不是裸设备,建议根据数据库大小的要求,创建一个文件系统来保存数据库文件,挂在/oradata下。将控制文件,数据文件,日志文件和临时文件保存在该目录下。另外,为归档文件创建一个文件系统,挂在/oraarch下。

l  控制文件

保存路径:/oradata/ORACLE_SID/controlfile   

参数要求: maxdatafiles  1024  

                     MAXLOGFILES       32

                     MAXLOGMEMBERS  5

u 数据文件

    保存路径:/oradata/ORACLE_SID/datafile   本地管理  

u 临时文件

    保存路径:/oradata/ORACLE_SID/tempfile   本地管理

u 日志文件

    保存路径:/oradata/ORACLE_SID/logfile   

一般设置为三组。大小100MB,每个日志组内两个日志成员。

 

l  归档文件

    保存路径:/oraarch/ORACLE_SID/arch 

表空间的设置

1,表空间的Extent管理一般使用“Locally Manager”(默认)。

2,不选择自动扩展选项

3,必须按以下规则设置系统表空间及其大小

 

表空间

大小

SYSTEM

1G

SYSAUX

1G

TEMP

1G

TOOLS

500M

USERS

500M

UNDO

1G

REDO

100M

创建选项

    可以选择立即创建数据库和保存数据库创建脚本。

在这个界面内,你可以确认初始化参数或者根据需要更改初始化参数。

    进度条到达100%之后,点击“Exit”,安装完成。

       

软件能否正常使用

1,检查安装的数据库软件组件

sqlplus "/as sysdba"

SQL> select comp_name,version, status from dba_registry;

COMP_NAME                                      VERSION                   STATUS

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

Oracle Database Catalog Views                      10.2.0.1.0                     VALID

Oracle Database Packages and Types                 10.2.0.1.0                     VALID

Oracle Workspace Manager                         10.2.0.1.0                     VALID

Oracle Enterprise Manager                          10.2.0.1.0                     VALID

2,检查安装的数据库软件版本信息

SQL> select * from v$version;

BANNER

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

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi

PL/SQL Release 10.2.0.1.0 - Production

CORE    10.2.0.1.0      Production

TNS for IBM/AIX RISC System/6000: Version 10.2.0.1.0 - Productio

NLSRTL Version 10.2.0.1.0 - Production

1,检查oracle后台进程是否都已启动:

2,对于AIXSolaris:执行命令ps -ef|grep ora_

1)列出已启动的oracle后台进程,如下例(XXX代表数据库实例名):

oracle 377062      1   0 14:25:37      -  0:00 ora_dbw0_gft

 oracle 487444      1   0 14:25:37      -  0:00 ora_mman_gft

 oracle 503872      1   0 14:25:37      -  0:00 ora_ckpt_gft

 oracle 544798      1   0 14:25:37      -  0:00 ora_psp0_gft

 oracle 549000      1   0 14:25:53      -  0:00 ora_q000_gft

 oracle 553052      1   0 14:25:37      -  0:00 ora_pmon_gft

 oracle 561324      1   0 14:25:53      -  0:00 ora_q001_gft

oracle 618522      1   0 14:25:37      -  0:00 ora_mmon_gft

 oracle 622768      1   0 14:25:37      -  0:00 ora_lgwr_gft

 oracle 626722      1   0 14:25:43      -  0:00 ora_qmnc_gft

 oracle 647240      1   0 14:25:37      -  0:00 ora_smon_gft

 oracle 716916      1   0 14:25:37      -  0:00 ora_mmnl_gft

 oracle 720994      1   0 14:25:37      -  0:01 ora_cjq0_gft

 oracle 725092      1   0 14:25:37      -  0:00 ora_reco_gft

    2对于windows系统

打开控制面板->管理工具->服务查看oracle服务是否启动。

检查数据库状态:

Select status from v$instance;

STATUS

----------------------       数据库状态是否为Open

OPEN

使用命令:

$ lsnrctl

LSNRCTL> status

查看端口是否已经打开。

新建listener.ora文件

start

Statspack

在第一次使用statspack监控之前,需要建立perfstat表空间。此表空间一经建立,可以重复使用,因此只需在第一次安装statspack前建立。注意,创建时不使用AUTOEXTEND选项以便监控STATSPACK数据。下例中建立了一个名为perfstat的表空间:

SQL> create tablespace perfstat datafile ' /oracle/app/oracle/oradata/{sid}/perfstat.dbf' size 500m;

以操作系统用户oracle进入sqlplus

sqlplus /nolog

以具有sysdba权限的用户登录,如果是密码验证方式,操作员输入密码登录。下面为操作系统验证方式登录:

SQL>  connect / as sysdba

Connected.

运行这个创建脚本时,会创建一个叫perfstat的用户,执行这个脚本可以建立所有的STATSPACK表,并且会安装STATSPACK PL/SQL包。当运行该脚本时,会提示输入下列信息:

·指定perfstat用户的密码******

·指定perfstat用户的默认表空间(这时会有数据库的表空间列表,选择其中一个。因为之前已经创建了perfstat表空间,就输入“perfstat”

·指定perfstat用户的临时表空间(选择数据库的表空间列表中的一个,一般使用temp表空间,输入“temp”。)

timed_statistics:设置为true

job_queue_processes:应设置为>1的值

实施方法:

SQL>  alter system set timed_statistics=true;

RDA工具

oracle用户进行安装

在安装路径中进行解压,执行如下命令

UNIX

$tar xvf rda_4.9-070920.tar

Windows

使用解压缩工具winzip等解压安装文件rda_4.9-070920.zip

1UNIX

进入安装目录,执行如下命令检查安装条件

$sh rda.sh –cv

返回结果如下,表明可以安装

Loading the file list ...

Checking the directory '.' ...

Checking the directory 'RDA/Macro' ...

Checking the directory 'RDA/Macro/Unix' ...

Checking the directory 'RDA/Macro/Windows' ...

Checking the directory 'RDA/Object' ...

Checking the directory 'hcve' ...

Checking the directory 'modules' ...

No issues found

如果数据库服务器没有配置perl路径,则会提示如下的错误

Error: Perl not found in the PATH or in known directory locations.

Although the default RDA engine requires Perl, compiled versions

without Perl requirements are available for major platforms. Please

download the platform-specific RDA engine from MetaLink and place

within the top directory of your RDA installation.

    这种情况的问题解决方法:采用直接执行perl脚本的方式,命令如下

$sh rda.pl –cv

2Windows

在安装目录中执行xxx:\rda\>rda.cmd –cv

返回结果如下,表明可以安装

Loading the file list ...

Checking the directory '.' ...

Checking the directory 'RDA/Macro' ...

Checking the directory 'RDA/Macro/Unix' ...

Checking the directory 'RDA/Macro/Windows' ...

Checking the directory 'RDA/Object' ...

Checking the directory 'hcve' ...

Checking the directory 'modules' ...

No issues found

如果出现如下错误,表明系统没有perl执行环境,需要添加perl执行环境,添加所需的软件包见附录。添加方法如下,将软件包解压到$ORACLE_HOME下即可,然后再执行以上检查方法。

Error: Perl not found in the PATH or in known folder locations.

Although the default RDA engine requires Perl, a compiled version without

Perl requirements is available. Please download the platform-specific RDA

engine from MetaLink and place within the top folder of your RDA

installation.

在安装目录下执行如下命令开始进行安装配置

UNIX:

$sh rda.sh –S

或者:$sh rda.pl –S

Windows:

xxx:\rda\>rda.cmd -S

AIX环境下可能存在较长时间的等待后才开始进行配置。

整个配置过程见附件4.2

配置过程中,较多的选项采用默认的,这里只列出了需要进行输入或者更改的配置:

l  Enter the Oracle Home to be used for data analysis

Hit 'Return' to accept the default (/oracle10/app/oracle/product/10.2.0.1)

> 最好需要确认一下

l  Enter the Oracle SID to be analyzed

Hit 'Return' to accept the default (icbc10)

> 最好确认一下

l  Is the INIT.ORA for the database to be analyzed located on this machine? (Y/N)

Hit 'Return' to accept the default (Y)

> spfileicbc10.ora

确认并输入正确的初始化参数文件

l  Enter an Oracle User ID (userid only) to view DBA_ and V$ tables. If RDA will be run under the Oracle software owner's ID, enter a '/' here, and select Y at the SYSDBA prompt to avoid being prompted for the database password at runtime.

Hit 'Return' to accept the default (system)

> perfstat这里默认是system帐户,如果不知道system帐户密码,则使用perfstat帐户,前提是知道其密码

l  Is the Database Control for 10G in use on this node (Y/N)?

Hit 'Return' to accept the default (N)

> Y(进入$ORACLE_HOME看是否有EM安装,名字为:主机名_SID,如果存在则说明已经安装)

l  Enter the directory where Database Control is installed

Hit 'Return' to accept the default

(/oracle10/app/oracle/product/10.2.0.1/generatedb._icbc10)

> 最好确认一下

l  Warning: The specified directory does not -yet- exist

Do you want to specify a new value (Y/N)?N

 

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

S440EM: Collects Oracle Enterprise Manager Information

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

Should RDA analyze Oracle Enterprise Manager (Y/N)?

Hit 'Return' to accept the default (N)

> N

新密码设置规则:

更改所有默认密码,将密码重新设置为:用户名+#123

oracle安装时的默认ID、密码和新密码的信息详见下表:

Username

Default Password

New Password

\

******    

Outln      

\     

******

wmsys      

\     

******

sys        

\

******

system     

      

******

dip        

\    

******

tsmsys     

\

******

perfstat   

\    

******

 

修改系统默认账户的密码方法

--可登录需整改数据库服务器上,进行如下操作:

--(1)查询下面系统缺省系统用户密码

sqlplus "/ as sysdba"

spool icbc10_default_password.txt; 

connect system/manager;

connect sys/change_on_install;

connect dbsnmp/dbsnmp;

connect outln/outln;

connect wmsys/wmsys;

connect dip/dip;

connect tsmsys/tsmsys;

connect perfstat/perfstat;

spool off

--(2)修改数据库缺省用户密码

sqlplus "/ as sysdba"

alter user system identified by ******;

alter user sys identified by ******;

alter user dbsnmp identified by ******;

alter user outln identified by ******;

alter user wmsys identified by ******;

alter user dip identified by ******;

alter user tsmsys identified by ******;

alter user perfstat identified by ******;

--(3)锁定outlndbsnmp帐户

alter user outln account lock

alter user dbsnmp account lock

要求:设置强密码参数和资源参数,以降低账户风险。

具体要求:

Oracle系统中,用户能使用用户化或默认的PROFILE文件配置,以下RESOURCE_NAME能为每个用户进行设置

A) PASSWORD_VERIFY_FUNCTION(密码复杂度)

密码的复杂性,说明被调用的脚本名称。

B) PASSWORD_LIFE_TIME(密码有效时间)

同一密码在连续使用被拒绝前使用的天数。

C) PASSWORD_REUSE_TIME(密码历史记录保留时间)

一个密码能被再次使用前的天数。

D) PASSWORD_REUSE_MAX(密码历史记录保留次数)

一个密码能够再次被使用前,更改密码的次数。假如password_reuse_max被设置为一个值,password_reuse_time 一定是无限制的。

E) FAILED_LOGIN_ATTEMPTS(最大错误登录次数)

一个账户被锁定前,失败的登录尝试次数。

F) PASSWORD_LOCK_TIME(密码锁定时间)

经过某一指定次数的登录尝试后,一个账户被锁定的天数。

G) SESSIONS_PER_USER(每一用户的最大会话数)

每个用户可以同时开启的最大会话个数。

H) IDLE_TIME(最长空闲时间)

一个进程被断开前,允许最长的空闲时间。这个值是非常短的。长时间运行的查询和其他操作不必受这个限制,因为当他们空闲时,不能实际的观察到。

sys用户登陆,建verify_function存储过程。脚本为:

create profile MAINTAIN_PROFILE limit

  idle_time 30

  sessions_per_user 5

  failed_login_attempts 3

  password_life_time 90

  password_reuse_time unlimited

  password_reuse_max 3

  password_lock_time 6

  password_grace_time 5

  password_verify_function VERIFY_FUNCTION;

 

create profile SYS_PROFILE limit

  idle_time unlimited

  failed_login_attempts 3

  password_life_time 90

  password_reuse_time unlimited

  password_reuse_max 3

  password_lock_time 6

  password_grace_time 5

  password_verify_function VERIFY_FUNCTION;

create user moni identified by moni#123 default tablespace users TEMPORARY TABLESPACE temp;

grant connect to moni;

grant SELECT ANY DICTIONARY to moni;

grant SELECT_CATALOG_ROLE to moni;

alter user moni default role connect;

管理员账号包括:

管理员

用户名

密码

\

\

******

\

\

******

\

\

******

\

\

******

\

\

******

\

\

******

\

\

******

实施方法:

         根据管理员的需求建管理员用户:管理员帐户均使用users表空间。

例,建立上表中涉及的用户。

create user gaojh identified by ******profile maintain_profile default tablespace users TEMPORARY TABLESPACE temp;

create user xusj identified by ****** profile maintain_profile default tablespace users TEMPORARY TABLESPACE temp;

create user houzr identified by ****** profile maintain_profile default tablespace users TEMPORARY TABLESPACE temp;

create user lin identified by ****** profile maintain_profile default tablespace users TEMPORARY TABLESPACE temp;

create user raotp identified by ****** profile maintain_profile default tablespace users TEMPORARY TABLESPACE temp;

create user zhaosb identified by ****** profile maintain_profile default tablespace users TEMPORARY TABLESPACE temp;

create user huangym identified by ****** profile maintain_profile default tablespace users TEMPORARY TABLESPACE temp;

为管理员授权

grant connect to gaojh,xusj,houzr,lin,raotp,huangym,zhaosb;

grant SELECT ANY DICTIONARY to gaojh,xusj,houzr,lin,raotp,huangym,zhaosb;

grant SELECT_CATALOG_ROLE to gaojh,xusj,houzr,lin,raotp,huangym,zhaosb;

定义角色

alter user gaojh default role connect;

alter user xusj default role connect;

alter user houzr default role connect;

alter user lin default role connect;

alter user raotp default role connect;

alter user huangym default role connect;

alter user zhaosb default role connect;

ALTER USER system profile SYS_PROFILE;

alter user sys profile SYS_PROFILE;

AUDIT_TRAIL=OS 表示所有审计记录指向操作系统的一个文件。

Alter system resource_limit=true

整改内容:启用数据库审计功能并进行审计设置,记录DDL语句及登录失败的审计信息

实施方法:

启用数据库审计功能并进行审计设置

sqlplus "/ as sysdba"

--下面命令查看audit_trail,结果VALUE值显示为“NONE”,需要启用数据库审计功能。

show parameter audit_trail;

--下面命令为修改参数

alter system set audit_trail = os scope = spfile;

alter system set resource_limit=true scope = spfile;

--下面命令为加入审计设置

audit user;

audit tablespace;

audit system audit;

audit system grant;

audit rename,grant on DEFAULT;

audit alter system;

audit session by system;

audit session by gaojh,xusj,houzr,lin,raotp,huangym,zhaosb ;

audit create session by session whenever not successful;

audit alter table;

audit index;

audit alter database;

audit session whenever not successful;

要求:不允许使用外部认证.

具体要求:

Oracle中,用户可以通过操作系统进行认证,而不需使用密码再次登录数据库。用户账户由Oracle维护,但密码管理和用户认证由外部服务完成。通过在init.ora文件中设置以下参数生效:

A) OS_AUTHENT_PREFIX 应被注释掉. 这个参数缺省值为OPS$,它定义了Oracle在每个用户的操作系统账号前面添加的前缀。当一个用户试图连接数据库时,Oracle将添加了前缀的用户名与数据库中的Oracle用户名进行比较,例如:如果数据库中存在OPS$ABC这个账号,则操作系统中的用户“ABC”可以不需要密码登录数据库。

B) REMOTE_OS_AUTHENT 应被设置为 FALSE. 如果这个参数设置为 TRUE,则允许从远程操作系统进行认证而不仅是从本地操作系统。

这意味着如果操作系统的安全受到威胁,数据库有可能被非授权访问.

整改内容:不设置外部认证的相关参数

实施方法:

设置初始化参数

os_authent_prefix为空

alter system set os_authent_prefix='' scope=spfile; 静态参数

audit_sys_operations=true

alter system set audit_sys_operations=true scope=spfile;静态参数

Remote_os_authent=false

alter system set remote_os_authent =false scope=spfile;静态参数

create pfile from spfile;

shutdown immediate;

修改$ORACLE_HOME/dbs/initSID.ora文件,添加一行信息如下:

*.os_authent_prefix=''

*. remote_os_authent=false

create spfile from pfile;

startup;

LISTENER密码均规定设为******

实施方法:

$lsnrctl

LSNRCTL>status

显示目前监听进程状态

LSNRCTL>change_password

Old password:      为空,回车,若原有密码,则输入旧密码

New password:      键入新密码——******

Reenter new password:      再次键入新密码

显示命令成功完成。

LSNRCTL>set password

Password:    提供设置的密码

LSNRCTL>save_config     保存设置

LSNRCTL>exit  密码已经成功设置完成

设置密码后,以后在lsnrctl中的任何命令均需要先使用

LSNRCTL>set password

Password:    提供设置的密码

才可以键入其它命令。

在文件listener.orasqlnet.ora中添加参数

sqlnet.ora 位于$ORACLE_HOME/network/admin/sqlnet.ora

添加如下内容

SQLNET.INBOUND_CONNECT_TIMEOUT=0

listener.ora位于$ORACLE_HOME/network/admin/listener.ora

添加如下内容(添加灰色标出部分)

#----ADDED BY TNSLSNR 24-MAY-2007 16:38:29---

PASSWORDS_LISTENER = 53B99BFEF030EB83

LOGGING_LISTENER = ON

#--------------------------------------------

LOCAL_OS_AUTHENTICATION_LISTENER=OFF

INBOUND_CONNECT_TIMEOUT_LISTENER=0

     上述安全设置修改成功后在测试空闲时重新起数据库使设置参数生效。

(1)   安装介质的解压不能跨不同操作系统进行。

(2)   数据块大小字符集参数,在建立实例后将不能被修改。所以在安装实例时,一定要确认设置的正确性。请遵照开发中心文档进行配置。

(3)   内存的设置:如果机器的内存小于10G,建议为ORACLE实例分配1/3大小的物理内存。

alert

(1)   模板,包括两个文件

(2)   修改chk_alert.sh脚本中的环境变量值,与当前数据库的配置一致。

l  ORACLE_HOME

l  ORACLE_BASE

l  ORACLE_HEALTH

(3)   修改sql文件中的spool路径为$ORACLE_HEALTH的值/alert/

(4)   将脚本(bk_dir.sqlchk_alert.sh)传到 alert目录下

 

sh chk_alert.sh

cd $ORACLE_HEALTH /alert/

查看目录下是否生成一个文件,文件名格式如alert_persondb.log.20071127001000

 

crontab

定时策略每天0010执行。

$ORACLE_HEALTH=/ebankmove/jkjc/

crontab -e     插入如下一行信息:

10 0 * * * sh /ebankmove/jkjc/alert/chk_alert.sh

awr

(1)   模板,包括一个文件

(2)   修改脚本中的环境变量值,使与当前数据库的配置一致。

l  ORACLE_HOME

l  ORACLE_BASE

l  ORACLE_HEALTH

l  ORACLE_SID

(3)   将脚本(awr.sh)传到 awr目录下

执行,sh awr.sh

cd $ORACLE_HEALTH /awr/

查看目录下是否有生成了一个最近两小时间的一个awr报告,文件名格式如

persondb_20071111_14_15awr.txt(sidpersondb)

crontab

定时策略,每整点05分执行。

$ORACLE_HEALTH=/ebankmove/jkjc/

crontab -e     插入如下一行信息

5 * * * * sh /ebankmove/jkjc/awr/awr.sh

tnsnames.ora

文件位于$ORACLE_HOME/network/admin/

添加类似如下一段语句,填写准确的HOST,PORT,SERVICE_NAME信息,其中tnsname可以自己命名,一般为被监控数据库的ORALCE_SID,示例如下:

tnsname=

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 80.56.145.3)(PORT = 1526))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = corpordb)

    )

  )

account文件

为了将新数据库纳入现有的监控脚本的监控范围,在监控脚本涉及的account文件中,添加一行新数据库的信息。包括以下三个文件,请按以下格式分别将数据库信息录入:

u /oradata/jkjc/account.txt——主库

IP moni   moni#123       tnsname

u /oradata/jkjc/bin/alert /accountos.txt——所有数据库

IP  oracle          oracle用户密码  alert路径 tnsname

u /oradata/jkjc/bin/archivelog/account.txt——归档模式   

IP moni   moni#123 tnsname

 

/orachk/alert目录下新建以数据库服务器IP命名的文件夹。

例如:

cd /orachk/alert

mkdir 80.16.145.11

3.3.3.1  验证

tail -100 /orachk/session/session.log

tail -100 /orachk/session/process.log

tail -100 /orachk/sga/freem.log

tail -100 /orachk/sga/lib_cache.log

tail -100 /orachk/sga/Dict_cache.log

tail -100 /orachk/sga/buf_cache.log

tail -100 /orachk/archivelog/archivelog.log

tail -100 /orachk/temp/temp.log

tail -100 /orachk/undo/undo.log

 

分别查看每个log中是否有新添加的数据库实例的检查结果。

4          常见问题处理

4.1             关于AIX系统IY58143 补丁安装的检查

         AIX操作系统下,当安装过程进行到步骤2.1.2.1.6检查系统环境需求时,如果检测结果显示:

                Checking for IY58143(bos.adt.prof,5.3.0.1); found Not found.      Failed <<<<

 

            Checking for IY58143(bos.cifs_fs.rte,5.3.0.1); found Not found.   Failed <<<<

    可以忽略,继续安装。

solaris10package

SUNWi15cs X11 ISO8859-15 Codeset Support

SUNWi1cs  X11 ISO8859-1 Codeset Support

没有也不影响。

启动失败

如果启动listener时,报类似如下错误信息:

   TNS-12537: TNS:connection closed
           TNS-12560: TNS:protocol adapter error
          TNS-00507: Connection closed
          Linux Error: 29: Illegal seek

修改 /etc/hosts 文件,加入:
127.0.0.1 localhost.localdomain localhost

脚本

    在安装数据库软件和升级包时,可能会遇到下图所描述的报错信息,在这种情况下,

root用户执行以下命令:

         ls -l etc/oraInst.loc

         -rw-r--r--   1 root     system           61 Oct 17 04:08 etc/oraInst.loc

         1,检查该文件是否存在,否则以root身份执行以下命令:

                 cd $ORACLE_HOME/oraInventory

                 cp -rp oraInst.loc etc/oraInst.loc

         2,如果文件存在,查看文件的属性设置是否正确:权限为644,用户为root,属组为system。否则以root身份修改文件属性。

    如果在裸设备上安装数据库实例的过程中,如果遇到下图所描述的报错信息:

 

ORACLE用户执行以下命令:

jar -xvf 安装介质路径/stage/Components/oracle.has.common

/10.2.0.1.0/1/DataFiles/filegroup17.jar

例如:jar -xvf  /oracle/install/dvd1/database/stage/Components/

oracle.has.common/10.2.0.1.0/1/DataFiles/filegroup17.jar

 

文件的模板

.profile文件的模板具体如下:(红色标出的为必须设置的环境变量

# @(#)local.profile 1.8      99/03/26 SMI

#! /bin/ksh

stty istrip

set EDITOR=vi

export EDITOR

PATH=/usr/ccs/bin:/usr/bin:/usr/ucb:/etc:.

ORACLE_OWNER=oracle

ORACLE_BASE=/u02/oracle/app/oracle

ORACLE_HOME=/u02/oracle/app/oracle/products/10.2.0.1

ORACLE_TERM=ansi

ORACLE_SID=ora10g

ORACLE_HEALTH=/ebankmove/jkjc

ORACLE_SERVICE=$ORACLE_SID

DB_NAME=$ORACLE_SID

NLS_LANG="AMERICAN_AMERICA.ZHS16CGB231280"

           ORA_NLS10 = $ORACLE_HOME/nls/data

#ORA_PWFILE=$ORACLE_HOME/dbs/orapw

LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:/usr/openwin/lib:/usr/lib:/usr/ucblib

#ORA_ORCL_PWFILE=$ORACLE_HOME/dbs/orapw

TMPDIR=/tmp

TERM=vt100

ORACLE_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:$PATH:.

MAIL=/usr/spool/mail/`logname`            # mailbox location

PATH=$ORACLE_PATH:$PATH:.    # set command search path

export PATH MAIL NLS_LANG ORA_NLS33 ORACLE_SID ORACLE_HOME  ORACLE_BASE  ORACLE_TERM TERM ORACLE_PATH LD_LIBRARY_PATH ORA_PWFILE ORA_ORCL_PWFILE TMPDIR ORACLE_OWNER DB_NAME ORACLE_SERVICE

umask 022

CDPATH=.:$HOME:$ORACLE_HOME:$ORACLE_BASE/admin/$ORACLE_SID

export CDPATH HOME

HOSTDIR="`hostname`>$"

PS1=$HOSTDIR

echo "oralce 10.2.0.3 env is set"

LOGINFROM=`who am i | cut -f2 -d"(" | cut -f1 -d")"`

DISPLAY=${LOGINFROM}

export LOGINFROM DISPLAY

echo ""

echo "DISPLAY=$DISPLAY"

echo ""

if [ "`tty`" = "/dev/console" ] ; then

    if [ "$TERM" = "sun" -o "$TERM" = "sun-color" -o "$TERM" = "AT386" ]

    then

           if [ ${OPENWINHOME:-""} = "" ] ; then

                  OPENWINHOME=/usr/openwin

                  export OPENWINHOME

           fi

           echo ""

           echo "Starting OpenWindows in 5 seconds (type Control-C to interrupt)"

           sleep 5

           echo ""

           $OPENWINHOME/bin/openwin

           clear              # get rid of annoying cursor rectangle

           exit         # logout after leaving windows system

    fi

fi

安装过程

文件的模板

文件的模板

阅读(6032) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~