使用tar命令可以实现快速部署和安装Oracle的目的,当然,前提是您手中已经有了一份被您精心调优后的数据库tar包,此后,您就可以使用解tar的方式在其他的服务器上进行快速部署安装了。
下面展现一下这个“快速”的过程(斟酌一下哪些步骤还可以简化?)。
--------------------------------------------------------------------------------
1.安装必须的系统包
[root@secDB Server]# cd /media/RHEL_5.3\ x86_64\ DVD/Server/
rpm -ivh setarch-2*
rpm -ivh make-3*
rpm -ivh glibc-2*
rpm -ivh libaio-0*
rpm -ivh compat-libstdc++-33-3*
rpm -ivh compat-gcc-34-3*
rpm -ivh compat-gcc-34-c++-3*
rpm -ivh libXp-1*
rpm -ivh openmotif-2*
rpm -ivh compat-db-4*
--------------------------------------------------------------------------------
2.修改sysctl.conf文件并使用“sysctl -p”命令使之生效
# vi /etc/sysctl.conf
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
# /sbin/sysctl -p
--------------------------------------------------------------------------------
3.编辑limits.conf文件,尾部添加下面的内容
# vi /etc/security/limits.conf
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
--------------------------------------------------------------------------------
4.编辑login文件,添加一行内容
# vi /etc/pam.d/login
session required /lib/security/pam_limits.so
--------------------------------------------------------------------------------
5.修改config文件
# vi /etc/selinux/config
SELINUX=disabled
#SELINUXTYPE=targeted(注销该行)
SELINUXTYPE=disabled
--------------------------------------------------------------------------------
6.此时,最好重启一下服务器。
--------------------------------------------------------------------------------
7.创建oracle用户及组,并设置密码
# groupadd oinstall
# groupadd dba
# groupadd oper
# useradd -m -g oinstall -G dba oracle
# passwd oracle
输入密码:oracle
--------------------------------------------------------------------------------
8.将tar包解开
这里要注意的的地方是:确认之前生成tar包的路径选用的是绝对路径还是相对路径,确保解tar后保持原有的目录结构不变。
[root@secDB /]# tar -xvf oracle_10203_.tar
--------------------------------------------------------------------------------
9.su到oracle用户,编辑.bash_profile配置文件
# su - oracle
# vi ~/.bash_profile
内容为:
# .bash_profile
set -o vi
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=secooler
export ORACLE_TERM=xterm
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH:.
export PATH=$PATH:/usr/sbin:/sbin:$HOME/bin:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin:$ORACLE_BASE/common/oracle/bin:$ORACLE_HOME/bin:/oracle/crs/oracle/product/10.2.0/crs/bin:$ORA_CRS_HOME/bin
#LD_ASSUME_KERNEL=2.4.1; export LD_ASSUME_KERNEL
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
set -o vi
--------------------------------------------------------------------------------
10. 修改listener.ora文件和tnsnames.ora文件,将其中的IP地址替换为服务器的具体IP信息,并修改为静态监听(您也可以不使用静态监听的模式,以您具体测试结果为准)
scl@secDB /home/oracle$ cat $ORACLE_HOME/network/admin/listener.ora
# listener.ora Network Configuration File: /oracle/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
# listener.ora Network Configuration File: /oracle/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/app/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = secooler)
(ORACLE_HOME = /oracle/app/oracle/product/10.2.0/db_1)
(SID_NAME = secooler)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 144.194.192.100)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
scl@secDB /home/oracle$ cat $ORACLE_HOME/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /oracle/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
secooler =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 144.194.192.100)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = secooler)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
--------------------------------------------------------------------------------
11.启动监听
scl@secDB /home/oracle$ lsnrctl start
--------------------------------------------------------------------------------
12.修改hosts文件,将主机的名字添加到“127.0.0.1”后面,修改后的样例如下
[root@secDB ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 secDB localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
--------------------------------------------------------------------------------
13.最后,启动数据库,并验证数据库的可用性
scl@secDB /home/oracle$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on Wed Oct 21 14:41:21 2009
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Connected to an idle instance.
SQL> startup;
ORACLE instance started.
Total System Global Area 1577058304 bytes
Fixed Size 2073024 bytes
Variable Size 385879616 bytes
Database Buffers 1174405120 bytes
Redo Buffers 14700544 bytes
Database mounted.
Database opened.
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for Linux: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
SQL>
--------------------------------------------------------------------------------
14.小结
如果您经常在相同的操作系统环境下频繁的部署和安装小型的Oracle数据库,可以考虑使用这个解tar的方法。这样可以避免图形化界面安装过程的枯燥和乏味,同时可以节省DBA的宝贵时间。
这种方法也是快速构建测试环境的高效方法,可以真实的再现原有数据库的细节。
Good luck.
-- The End --
下面展现一下这个“快速”的过程(斟酌一下哪些步骤还可以简化?)。
--------------------------------------------------------------------------------
1.安装必须的系统包
[root@secDB Server]# cd /media/RHEL_5.3\ x86_64\ DVD/Server/
rpm -ivh setarch-2*
rpm -ivh make-3*
rpm -ivh glibc-2*
rpm -ivh libaio-0*
rpm -ivh compat-libstdc++-33-3*
rpm -ivh compat-gcc-34-3*
rpm -ivh compat-gcc-34-c++-3*
rpm -ivh libXp-1*
rpm -ivh openmotif-2*
rpm -ivh compat-db-4*
--------------------------------------------------------------------------------
2.修改sysctl.conf文件并使用“sysctl -p”命令使之生效
# vi /etc/sysctl.conf
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
# /sbin/sysctl -p
--------------------------------------------------------------------------------
3.编辑limits.conf文件,尾部添加下面的内容
# vi /etc/security/limits.conf
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
--------------------------------------------------------------------------------
4.编辑login文件,添加一行内容
# vi /etc/pam.d/login
session required /lib/security/pam_limits.so
--------------------------------------------------------------------------------
5.修改config文件
# vi /etc/selinux/config
SELINUX=disabled
#SELINUXTYPE=targeted(注销该行)
SELINUXTYPE=disabled
--------------------------------------------------------------------------------
6.此时,最好重启一下服务器。
--------------------------------------------------------------------------------
7.创建oracle用户及组,并设置密码
# groupadd oinstall
# groupadd dba
# groupadd oper
# useradd -m -g oinstall -G dba oracle
# passwd oracle
输入密码:oracle
--------------------------------------------------------------------------------
8.将tar包解开
这里要注意的的地方是:确认之前生成tar包的路径选用的是绝对路径还是相对路径,确保解tar后保持原有的目录结构不变。
[root@secDB /]# tar -xvf oracle_10203_.tar
--------------------------------------------------------------------------------
9.su到oracle用户,编辑.bash_profile配置文件
# su - oracle
# vi ~/.bash_profile
内容为:
# .bash_profile
set -o vi
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=secooler
export ORACLE_TERM=xterm
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH:.
export PATH=$PATH:/usr/sbin:/sbin:$HOME/bin:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin:$ORACLE_BASE/common/oracle/bin:$ORACLE_HOME/bin:/oracle/crs/oracle/product/10.2.0/crs/bin:$ORA_CRS_HOME/bin
#LD_ASSUME_KERNEL=2.4.1; export LD_ASSUME_KERNEL
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
set -o vi
--------------------------------------------------------------------------------
10. 修改listener.ora文件和tnsnames.ora文件,将其中的IP地址替换为服务器的具体IP信息,并修改为静态监听(您也可以不使用静态监听的模式,以您具体测试结果为准)
scl@secDB /home/oracle$ cat $ORACLE_HOME/network/admin/listener.ora
# listener.ora Network Configuration File: /oracle/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
# listener.ora Network Configuration File: /oracle/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/app/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = secooler)
(ORACLE_HOME = /oracle/app/oracle/product/10.2.0/db_1)
(SID_NAME = secooler)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 144.194.192.100)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
scl@secDB /home/oracle$ cat $ORACLE_HOME/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /oracle/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
secooler =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 144.194.192.100)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = secooler)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
--------------------------------------------------------------------------------
11.启动监听
scl@secDB /home/oracle$ lsnrctl start
--------------------------------------------------------------------------------
12.修改hosts文件,将主机的名字添加到“127.0.0.1”后面,修改后的样例如下
[root@secDB ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 secDB localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
--------------------------------------------------------------------------------
13.最后,启动数据库,并验证数据库的可用性
scl@secDB /home/oracle$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.3.0 - Production on Wed Oct 21 14:41:21 2009
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Connected to an idle instance.
SQL> startup;
ORACLE instance started.
Total System Global Area 1577058304 bytes
Fixed Size 2073024 bytes
Variable Size 385879616 bytes
Database Buffers 1174405120 bytes
Redo Buffers 14700544 bytes
Database mounted.
Database opened.
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for Linux: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
SQL>
--------------------------------------------------------------------------------
14.小结
如果您经常在相同的操作系统环境下频繁的部署和安装小型的Oracle数据库,可以考虑使用这个解tar的方法。这样可以避免图形化界面安装过程的枯燥和乏味,同时可以节省DBA的宝贵时间。
这种方法也是快速构建测试环境的高效方法,可以真实的再现原有数据库的细节。
Good luck.
-- The End --
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/519536/viewspace-617447/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/519536/viewspace-617447/