[root@SMART Server]# rpm -Uvh binutils-2* [root@SMART Server]# rpm -Uvh compat-db*
[root@SMART Server]# rpm -Uvh compat-libstdc* [root@SMART Server]# rpm -Uvh control-center* [root@SMART Server]# rpm -Uvh gcc-4* [root@SMART Server]# rpm -Uvh gcc-c++*
[root@SMART Server]# rpm -Uvh glibc-common* [root@SMART Server]# rpm -Uvh libstdc*
[root@SMART Server]# rpm -Uvh libstdc++-devel* [root@SMART Server]# rpm -Uvh make* [root@SMART Server]# rpm -Uvh pdksh* [root@SMART Server]# rpm -Uvh sysstat* [root@SMART Server]# rpm -Uvh setarch*
[root@SMART Server]# rpm -ivh libXp-1.0.0-8.1.el5.i386.rpm [root@SMART Server]# rpm -ivh libXpm-3.5.5-3.i386.rpm
[root@SMART Server]#rpm- ivh libXp-devel-1.0.0-8.1.el5.i386.rpm
ORACLE安装前的配置
[root@SMART vg_fs]# vi /etc/sysctl.conf
以下为oracle官方文档上/etc/sysctl.conf设置的参数 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096
kernel.sem = 250 32000 100 128 fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 1048576 net.core.rmem_max = 1048576 net.core.wmem_default = 262144 net.core.wmem_max = 262144
[root@SMART vg_fs]# /sbin/sysctl –p //使修改后的 sysctl 文件立即生效
[root@SMART vg_fs]# vi /etc/security/limits.conf 加入以下行到/etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
[root@SMART vg_fs]# vi /etc/pam.d/login 加入以下行到/etc/pam.d/login
session required /lib/security/pam_limits.so
6
session required pam_limits.so
[root@SMART vg_fs]# vi /etc/profile 加入以下行到/etc/profile
if [ $USER = \
if [ $SHELL = \
ulimit -p 16384 ulimit -n 65536 else
ulimit -u 16384 -n 65536 fi fi
[root@SMART vg_fs]# su - oracle
[oracle@SMART ~]$ vi .bash_profile export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export CLASSPATH
安装oracle软件和数据库
[root@SMART Server]# xhost + [root@SMART Server]#su - oracle
[oracle@SMART ~]$unzip 10201_database_linux32.zip [oracle@SMART database]$export DISPLAY=:0.0 [oracle@SMART database]$ ./run* 安装过程中不建立数据库,采用DBCA建库 [oracle@SMART database]$ dbca
选择rawdevice方式,并且采用前面建立的映射文件
7
安装过程中出错,提示分区错误,经网上搜索为oracle10.2.0.1不支持裸设备,需要升级到10.2.0.4,因此没有采用裸设备而使用文件系统安装,打完补丁再将数据库从文件系统迁移到裸设备。
关闭linux防火墙,便于客户端连接
[root@SMART ~]# service iptables stop
oracle10G版本10.2.0.1.0升级为10.2.0.4.0 安装升级包
[oracle@SMART oracle]$unzip p6810189_10204_Linux-x86.zip [oracle@SMART oracle]$export DISPLAY=:0.0 [oracle@SMART oracle]$cd Disk1 [oracle@SMART Disk1]$ ./run*
数据库升级
System表空间要有一定未使用空间,检查数据库中空间使用情况:
select
total.tablespace_name, round(total.MB,2)
as
Total_MB,
round(total.MB-free.MB, 2) as Used_MB,
round((1-free.MB/total.MB)*100, 2)||'%' as Used_Pct from
(select tablespace_name, sum(bytes)/1024/1024 as MB from dba_free_space
8
group by tablespace_name) free,
(select tablespace_name, sum(bytes)/1024/1024 as MB from dba_data_files group by tablespace_name) total
where free.tablespace_name=total.tablespace_name order by Used_Pct desc;
启动数据库为升级模式 SQL> startup upgrade
SQL> spool upgrade_info.log 运行脚本收集升级信息,包括空间需求等 SQL> @?/rdbms/admin/utlu102i.sql SQL> spool off
[oracle@SMART ~]$ lsnrctl start
SQL> SPOOL patch.log
SQL> @?/rdbms/admin/catupgrd.sql SQL> SPOOL OFF
检查下输出patch.log有没有错误信息,主要看最后几行,有必要的话重新运行catupgrd.sql
SQL> SHUTDOWN IMMEDIATE SQL> STARTUP
运行utlrp.sql重新编译无效的PL/SQL packages SQL> @?/rdbms/admin/utlrp.sql 运行以下命令检查组件升级后的信息
SQL> select comp_name, version, status from sys.dba_registry;
RMAN备份和还原 数据库RMAN备份
设置数据库为归档模式,指定归档位置 SQL> startup mount
9
SQL> alter database archivelog; SQL> archive log list
Database log mode Archive Mode Automatic archival Enabled
Archive destination /oracle/product/10.2.0/db_1/dbs/arch Oldest online log sequence 25 Next log sequence to archive 27 Current log sequence 27
设置闪回区域和归档目录:
SQL> alter system set db_recovery_file_dest_size=360M SCOPE=both; SQL> alter system set db_recovery_file_dest='/oradata/fla' scope=both;
SQL> alter system set log_archive_dest_1='LOCATION=/oradata/arch' SCOPE=both;
SQL> create pfile from spfile;
RMAN备份在默认不设置文件位置情况下默认存放文件到闪回区域,另外开启闪回数据库和还原点功能需要使用闪回区域。
RMAN备份全库:数据库在open状态
[oracle@SMART oradata]$ mkdir rman_bak [oracle@SMART oracle]$ rman target /
RMAN> configure CONTROLFILE AUTOBACKUP on; RMAN> run{ 2> backup database tag 'full_bak1127' format '/oradata/rman_bak/db_%U';
3> sql 'alter system archive log current'; 4> backup tag 'arc_1127' format '/oradata/rman_bak/arc_%U' archivelog all delete input; 5> }
根据RMAN的保留策略删除不需要的备份: RMAN> crosscheck backup;
RMAN> delete expired backup; RMAN> crosscheck copy; RMAN> delete obsolete; RMAN> list backup;
单个数据文件系统移植到raw device
RMAN> copy datafile 4 to '/dev/raw/raw3';
RMAN> sql \to ''/dev/raw/raw3''\
RMAN> sql 'alter tablespace users online';
10