全部博文(56)
分类: Oracle
2011-06-16 21:05:38
ORACLE 10G 数据库_安装手册
目 录
2.2.3 设置相关参数(connect / as sysdba). 50
2.4.3 以sys用户登陆,建MAINTAIN_PROFILE,SYS_PROFILE 57
4.1 关于AIX系统IY58143 补丁安装的检查. 69
此手册是针对如何安装ORACLE 10g软件,并创建一个oracle 10g数据库实例的过程。
编写此手册的目的是为安装Oracle 10g数据库的操作员提供规范和指导。
此手册适用于在AIX, Solaris和windows系统下安装并搭建Oracle 10g数据库。
此手册可用于在AIX, Solaris和windows系统下搭建Oracle 10g数据库,系统维护人为系统部开放平台数据库小组成员。
无
硬盘空间建议大小为10G。
如果机器的内存小于10g,建议为ORACLE实例分配1/3大小的物理内存。
安装ORACLE 10g前,首先检查操作系统是否满足ORACLE 10g的安装条件。AIX, Solaris和Windows操作系统的要求分别如下:
下表列出了安装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系统要求
设置情况——仅适于AIX和Solaris系统
对于裸设备
参数 |
值 |
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 确认操作系统的网络配置(AIX和Solaris都适用)
查看方法:
AIX:no -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
Solaris:ndd –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_DBA,oracle用户以administrator用户登录。
身份)
u ORACLE_BASE指向的目录
u ORACLE_HOME指向的目录
u ORACLE_HEALTH指向的目录:保存健康检查相关的文件。例如/ebankmove/jkjc
用户的.profile文件——仅适于AIX和Solaris系统
在数据库安装过程中,以下环境变量参数是必要的:
• ORACLE_BASE
• ORACLE_HOME
• ORACLE_SID
• ORA_NLS10 (10g新增的,替代9i的ORA_NLS33)
• PATH
• LD_LIBRARY_PATH
• ORACLE_HEALTH
• NLS_LANG
根据实际情况添加或修改以下参数:
• ORACLE_OWNER
• ORACLE_HOME
• ORACLE_BASE
• ORACLE_SID
(.profile模板在附件中给出。)
1,在图形界面下用oracle身份登陆操作系统。
如果是远程安装而且远程端为windows平台的话,使用软件EXTRA! X或Xmanager远程登录到服务器。
,设置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,传输介质
在AIX和Solaris下,采用bin(二进制)的方式传输介质。
2,解压tar包
介质传输到本地后,如果是tar包,需要先进行解压缩。将解压后的文件夹命名为Disk1,Disk2的形式。
注意安装介质的解压不能跨不同操作系统进行。
以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.sh和root.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
如该系统使用Stream,opatch的安装需要继续进行如下步骤:
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)有两种方法创建数据库,使用DBCA(Oracle Database Configuration Assistant)工具创建和手工创建。手工创建比较容易定位和排除错误,但是操作复杂,除非由较资深DBA操作。一般用户建议使用DBCA工具创建。
2)使用DBCA工具,在图形界面中运行$ORACLE_HOME/bin目录下的./dbca。
,选择数据库创建模板
“Next”,出现下面界面:
选择数据库创建模板,有四类选择:数据仓库(Data Warehouse),事务处理(Transaction Processing),一般用途(General Purpose)和用户自定义(Custom Database)。建议选择用户自定义(Custom Database)方式,使用该方式用户可以自己选择创建的内容和设置各项参数,点击“Next”。
根据开发中心的需求,输入用户自定义的Database Name和SID,点击“Next”。下图以Database Name和SID为icbc9为例。注意,数据库名和SID必须在1-8个字符之内。
和验证特性
选择是否配置企业管理器,设置邮件服务器。一般情况下无需配置。
为SYSTEM和SYS用户设置口令,设置后按“next”继续。
(根据开发中心的需求设置,请参照开发中心相应文档,下图为示例)
数据库的存储特性有三类:文件系统、裸设备和自动存储管理(ASM),ASM是ORACLE 10G的新特性。通常情况下,选择File system.
选择是否需要归档和FLASH RECOVERY。如果是生产数据库,强烈建议使用归档模式。FLASH RECOVERY是ORACLE 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,对于AIX和Solaris:执行命令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
(1)UNIX
进入安装目录,执行如下命令检查安装条件
$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
(2)Windows
在安装目录中执行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)锁定outln和dbsnmp帐户
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
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.ora、sqlnet.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.sql与chk_alert.sh)传到 alert目录下
sh chk_alert.sh
cd $ORACLE_HEALTH /alert/
查看目录下是否生成一个文件,文件名格式如alert_persondb.log.20071127001000
置crontab
定时策略,每天00:10执行。
例:若$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(sid为persondb)
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 <<<<
可以忽略,继续安装。
solaris10的package
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
安装过程文件的模板
文件的模板