1.操作系统及Oracle版本
Linux版本:red_hat release6.2 (Final)
Oracle版本:Oracle Database11g Release 2 (11.2.0.1.0) for Linux x86-64 (linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip)
2.硬件检测:
物理内存不少于1G
硬盘可以空间不少于5G
swap分区空间不少于2G
支持256色以上显卡
cpu主频不小于550mHZ
cat /etc/issue
uname -r (版本)
grep MemTotal /proc/meminfo (内存大小)
grep SwapTotal /proc/meminfo (交换区大小)
grep "model name" /proc/cpuinfo (CPU信息)
free (可用内存)
3.主机名确认无误
vi /etc/hosts
IP hostname(主机名)
service iptables stop
setenforce=0
如果交换空间不够:
dd if=/dev/zero of=/test bs=1G count=4
mkswap -f /test
swapon /test
free -m
一、下载安装相关依赖安装包:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
yum
install
-y binutils \
compat-libcap1 \
compat-libstdc++-33 \
compat-libstdc++-33.i686 \
gcc \
gcc-c++ \
glibc.i686 \
glibc \
glibc-devel \
glibc-devel.i686 \
pdksh \
libgcc.i686 \
libgcc \
libstdc++.i686 \
libstdc++ \
libstdc++-devel.i686 \
libstdc++-devel \
libaio.i686 \
libaio \
libaio-devel.i686 \
libaio-devel \
make
\
sysstat \
unixODBC \
unixODBC.i686 \
unixODBC-devel \
unixODBC-devel.i686 \
libXext.i686 \
libXext \
elfutils-libelf-devel \
unzip
|
二、内核参数修改
vi /etc/sysctl.conf
在文件末尾加上以下内容:
1
2
3
4
5
6
7
8
9
10
11
|
fs.
file
-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
|
立即执行修改:
sysctl -p
三、编辑vi /etc/pam.d/login文件:
在文件末尾添加以下内容:
session required pam_limits.so
四、修改用户的SHELL的限制,修改/etc/security/limits.conf文件
vi /etc/security/limits.conf
在文件末尾加上以下内容:
1
2
3
4
|
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
|
五、修改 /etc/profile 限制其他用户使用:
vi /etc/profile
在文件末尾加上以下内容:
1
2
3
4
5
6
7
8
|
if
[ $USER =
"oracle"
];
then
if
[ $SHELL =
"/bin/ksh"
];
then
ulimit
-p 16384
ulimit
-n 65536
else
ulimit
-u 16384 -n 65536
fi
fi
|
使设置生效
source /etc/profile
六、创建相应用户及用户组:
groupadd oinstall //创建安装组
groupadd dba //创建管理组
useradd -g oinstall -G dba -d /opt/oracle oracle //创建运行用户
passwd oracle //设置oracle用户的密码
修改目录权限:
chown -R oracle:oinstall /opt/
chmod 755 -R /opt/ 目录
切换到oracle用户下,解压:
[oracle@just ~]$ unzip linux.x64_11gR2_database_1of2.zip
[oracle@just ~]$ unzip linux.x64_11gR2_database_2of2.zip
七、设置oracle环境变量:
su - oracle
vi ~/.bash_profile
在最后加上以下内容:
export ORACLE_BASE=/opt/oracle
export ORACLE_SID=orcl
注意,除了ORACLE_BASE和ORACLE_SID,(/etc/profile和.bash_profile中)不设置任何oracle相关环境变量(ORACLE_HOME, PATH,LD_LIBRARY_PATH等)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
在安装完之后添加以下内容
exportORACLE_HOME=$ORACLE_BASE
/product/11
.2.0
/db_1
export
TNS_ADMIN=$ORACLE_HOME
/network/admin
exportPATH=.:${PATH}:$HOME
/bin
:$ORACLE_HOME
/bin
exportPATH=${PATH}:
/usr/bin
:
/bin
:
/usr/bin/X11
:
/usr/local/bin
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME
/lib
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME
/oracm/lib
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:
/lib
:
/usr/lib
:
/usr/local/lib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME
/JRE
export
CLASSPATH=${CLASSPATH}:$ORACLE_HOME
/JRE/lib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME
/jlib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME
/rdbms/jlib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME
/network/jlib
exportLIBPATH=${CLASSPATH}:$ORACLE_HOME
/lib
:$ORACLE_HOME
/ctx/lib
export
ORACLE_OWNER=oracle
export
SPFILE_PATH=$ORACLE_HOME
/dbs
export
ORA_NLS10=$ORACLE_HOME
/nls/data
|
使设置生效
source /opt/oracle/.bash_profile
检查环境变量:
env
同时,在使用静默安装的时候会检查DISPLAY的设置,如果经常说检查DISPLAY不行的话,到root用户下执行“xhost + 你的ip:0.0”
八、静默安装软件
8.1 复制响应文件模板
# su – oracle
mkdir etc //创建个目录
cp /opt/oracle/database/response/* /opt/oracle/etc/
设置响应文件权限
chmod 700 /opt/oracle/etc/*.rsp(注意所有者,oinstall)
8.2 静默安装Oracle软件
su - oracle
修改安装Oracle软件的响应文件/opt/oracle/etc/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY //安装类型,只装数据库软件
ORACLE_HOSTNAME=test //主机名称(hostname查询)
UNIX_GROUP_NAME=oinstall // 安装组
INVENTORY_LOCATION=/opt/oracle/oraInventory //INVENTORY目录(不填就是默认值)
SELECTED_LANGUAGES=en,zh_CN,zh_TW // 选择语言
ORACLE_HOME=/opt/oracle/product/11.2.0/db_1 // oracle_home
ORACLE_BASE=/opt/oracle // oracle_base
oracle.install.db.InstallEdition=EE // oracle版本
oracle.install.db.isCustomInstall=false //自定义安装,否,使用默认组件
oracle.install.db.DBA_GROUP=dba //dba用户组
oracle.install.db.OPER_GROUP=oinstall //oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl //globalDBName
oracle.install.db.config.starterdb.SID=orcl //SID
oracle.install.db.config.starterdb.memoryLimit=81920 //自动管理内存的内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //设定所有数据库用户使用同一个密码
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false(手动写了false)
DECLINE_SECURITY_UPDATES=true //设置安全更新(貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对)
开始静默安装
cd database
./runInstaller -silent -responseFile /opt/oracle/etc/db_install.rsp
安装中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。
查看安装日志信息了解安装进度
cd $ORACLE_BASE/oraInventory/logs
tail -f installActions*.log
出现类似如下提示表示安装完成:
#-------------------------------------------------------------------
/usr/oracle/oraInventory/orainstRoot.sh
/usr/oracle/product/11.2.0/db_1/root.sh
To execute the configuration scripts:
1. Open a terminal window
2. Log in as "root"
3. Run the scripts
4. Return to this window and hit"Enter" key to continue
Successfully Setup Software.
#-------------------------------------------------------------------
使用root用户执行脚本
这里是有两个脚本要执行,跑一下就好
su - root
/opt/oracle/product/11.2.0/db_1/root.sh
/opt/oracle/oraInventory/orainstRoot.sh
vi /opt/oracle/.bash_profile
最后添加上面下面内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
在安装完之后添加以下内容
exportORACLE_HOME=$ORACLE_BASE
/product/11
.2.0
/db_1
export
TNS_ADMIN=$ORACLE_HOME
/network/admin
exportPATH=.:${PATH}:$HOME
/bin
:$ORACLE_HOME
/bin
exportPATH=${PATH}:
/usr/bin
:
/bin
:
/usr/bin/X11
:
/usr/local/bin
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME
/lib
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME
/oracm/lib
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:
/lib
:
/usr/lib
:
/usr/local/lib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME
/JRE
export
CLASSPATH=${CLASSPATH}:$ORACLE_HOME
/JRE/lib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME
/jlib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME
/rdbms/jlib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME
/network/jlib
exportLIBPATH=${CLASSPATH}:$ORACLE_HOME
/lib
:$ORACLE_HOME
/ctx/lib
export
ORACLE_OWNER=oracle
export
SPFILE_PATH=$ORACLE_HOME
/dbs
export
ORA_NLS10=$ORACLE_HOME
/nls/data
|
执行source .bash_profile之后,netca和dbca命令就会出现
到这里,oracle11g的数据库实例软件就算是装好了,接下来配置数据库实例的基本参数文件~
注:相关修改可以参考一篇“oracle静默安装文件db_install.rsp详解”
8.3 静默配置监听
vi etc/netca.rsp
[GENERAL]
RESPONSEFILE_VERSION="11.2"
CREATE_TYPE="CUSTOM"
INSTALL_TYPE=""custom" "安装的类型("typical—典型","minimal—最小" or "custom—自定义")
LISTENER_NUMBER=1 监听器数量
LISTENER_NAMES={"orcl"} 监听器的名称列表
LISTENER_PROTOCOLS={"TCP;1521"} 监听器使用的通讯协议列表
LISTENER_START=""orcl"" 监听器启动的名称
然后运行:
netca /silent /responsefile /opt/oracle/etc/netca.rsp(注:参数如果用-silent–responseFile是不可执行的,会出错,后面的监听路径必须指定所在绝对路径)
正在对命令行参数进行语法分析:
参数"silent"= true
参数"responsefile"= /etc/netca.rsp
完成对命令行参数进行语法分析。
Oracle Net Services 配置:
完成概要文件配置。
Oracle Net 监听程序启动:
正在运行监听程序控制:
/opt/oracle/product/11.2.0/db_1/bin/lsnrctlstart LISTENER
监听程序控制完成。
监听程序已成功启动。
监听程序配置完成。
成功完成 Oracle Net Services 配置。退出代码是0
成功运行后,在/opt/oracle/product/11.2.0/db_1/network/admin目录下生成sqlnet.ora和listener.ora两个文件。
通过netstat-tlnp 命令,看到
tcp 0 0 :::1521 :::* LISTEN 5477/tnslsnr
说明监听器已经在1521端口上开始工作了。
8.4 静默建立新库(同时也建立一个对应的实例)
修改/etc/dbca.rsp,设置如下:
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0" //不能更改
OPERATION_TYPE = "createDatabase"
GDBNAME = "orcl.test" //全局数据库的名字=SID+主机域名
SID= "orcl" //对应的实例名字
TEMPLATENAME = "General_Purpose.dbc" //建库用的模板文件
SYSPASSWORD = "123456" //SYS管理员密码
SYSTEMPASSWORD = "123456" //SYSTEM管理员密码
DATAFILEDESTINATION = /opt/oracle/oradata //数据文件存放目录
RECOVERYAREADESTINATION=/opt/oracle/ flash_recovery_area //恢复数据存放目录
CHARACTERSET = "ZHS16GBK" //字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。(CHARACTERSET = "AL32UTF8"
NATIONALCHARACTERSET= "UTF8")
TOTALMEMORY = "5120" //oracle内存5120MB
然后静默运行:
$dbca -silent -responseFile etc/dbca.rsp
复制数据库文件
1% 已完成
3% 已完成
11% 已完成
18% 已完成
26% 已完成
37% 已完成
正在创建并启动Oracle 实例
40% 已完成
45% 已完成
50% 已完成
55% 已完成
56% 已完成
60% 已完成
62% 已完成
正在进行数据库创建
66% 已完成
70% 已完成
73% 已完成
85% 已完成
96% 已完成
100%已完成
有关详细信息, 请参阅日志文件"/opt/oracle/cfgtoollogs/dbca/orcl/orcl.log"。
查看日志文件
$cat /opt/oracle/cfgtoollogs/dbca/wang/wang.log
复制数据库文件
DBCA_PROGRESS : 1%
DBCA_PROGRESS : 3%
DBCA_PROGRESS : 11%
DBCA_PROGRESS : 18%
DBCA_PROGRESS : 26%
DBCA_PROGRESS : 37%
正在创建并启动Oracle 实例
DBCA_PROGRESS : 40%
DBCA_PROGRESS : 45%
DBCA_PROGRESS : 50%
DBCA_PROGRESS : 55%
DBCA_PROGRESS : 56%
DBCA_PROGRESS : 60%
DBCA_PROGRESS : 62%
正在进行数据库创建
DBCA_PROGRESS: 66%
DBCA_PROGRESS : 70%
DBCA_PROGRESS : 73%
DBCA_PROGRESS : 85%
DBCA_PROGRESS : 96%
DBCA_PROGRESS : 100%
数据库创建完成。有关详细信息, 请查看以下位置的日志文件:
/opt/oracle/cfgtoollogs/dbca/orcl。
数据库信息:
全局数据库名:orcl.test
系统标识符 (SID):orcl
九、命令行模式静默删除
1、首先查看dbca的帮助信息
$ dbca -help
dbca [-silent | -progressOnly | -customCreate] {<command><options> } | { [<command>[options] ] -responseFile <responsefile > } [-continueOnNonFatalErrors <true | false>]
修改dbca.rsp文件里以下几个参数,下面三个参数根据建库实际情况进行修改:
OPERATION_TYPE = "deleteDatabase"
SOURCEDB = "orcl"
SYSDBAUSERNAME = "sys"
SYSDBAPASSWORD = "123456"
然后运行:
$ dbca -silent -responseFile /u01/app/database/response/dbca.rsp
Connecting to database
4% complete
9% complete
14% complete
19% complete
23% complete
28% complete
47% complete
Updating network configuration files
48% complete
52% complete
Deleting instance and datafiles
76% complete
100% complete
Look at the log file"/u01/app/oracle/cfgtoollogs/dbca/orcl.log" for further details.
很简单数据库卸载完成了,请注意,只是数据库卸载完了,数据库软件还是在的。
各参数含义如下:
-silent 表示以静默方式删除
-responseFile 表示使用哪个响应文件,必需使用绝对路径
RESPONSEFILE_VERSION 响应文件模板的版本,该参数不要更改
OPERATION_TYPE 安装类型,该参数不要更改
SOURCEDB 数据库名,不是全局数据库名,即不包含db_domain
2、使用DBCA卸载数据库
dbca -silent -delete Database -responseFile dbca.rsp
a.选项-silent表示静默安装,免安装交互,大部分安装信息也不输出
b.选项-responseFile指定应答文件,要求用绝对路径