1、安装系统时选择Desktop,采用xshell安装oracle时遇到的过多麻烦
2、安装依赖包
检查依赖包
rpm -q binutils compat-libstdc+±33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc+±devel make sysstat unixODBC unixODBC-devel
如果未安装,则可采用yum方式进行安装
yum -y install binutils compat-libstdc+±33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc+±devel make sysstat unixODBC unixODBC-devel
3、创建所需操作系统组和用户
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
4、设置oracle用户密码
passwd oracle 密码oracle
5、修改内核参数
在/sbin/sysctl.conf 文件中,使用文本编辑器或vi命令增加或修改以下参数
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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
修改后,使设置生效
/sbin/sysctl -p
此处有坑
执行完 /sbin/sysctl -p以后提示
[root@Oracle rar]# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
error: “net.bridge.bridge-nf-call-ip6tables” is an unknown key
error: “net.bridge.bridge-nf-call-iptables” is an unknown key
error: “net.bridge.bridge-nf-call-arptables” is an unknown key
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
解决方法如下:
#modprobe bridge
#lsmod|grep bridge
执行完上面命令后继续执行:
#sysctl -p
问题解决。
6、修改用户限制
在/etc/security/limits.conf 文件中,使用文本编辑器或vi命令增加或修改以下参数
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
在/etc/pam.d/login 文件中,使用文本编辑器或vi命令增加或修改以下内容
session required /lib/security/pam_limits.so
session required pam_limits.so
在/etc/profile 文件中,使用文本编辑器或vi命令增加或修改以下内容
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
7、创建安装目录(可根据情况,选择比较多空间的目录创建)
mkdir -p /u01/app/
chown -R oracle:oinstall /u01/app/
chmod -R 775 /u01/app/
8、创建/etc/oraInst.loc文件,内容如下:
nventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall
更改文件的权限
chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc
9、设置oracle环境变量
su - oracle
vi ~/.bash_profile
在最后加上以下内容
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=orcl
注意,除了ORACLE_BASE和ORACLE_SID,( /etc/profile和.bash_profile中)不设置任何oracle相关环境变量(ORACLE_HOME, PATH, LD_LIBRARY_PATH等)。
使设置生效
source /home/oracle/.bash_profile
检查环境变量:
env
10、解压oracle安装文件
unzip linux.x64_11gR2_database_1of2.zip unzip
linux.x64_11gR2_database_2of2.zip
如果为rar安装包需要安装解压rar文件的安装包
wget http://www.rarlab.com/rar/rarlinux-3.8.0.tar.gz
tar zxvf rarlinux-3.8.0.tar.gz
cd rar
make
make install
例如:将/etc 目录压缩为etc.rar 命令为:
rar a etc.rar /etc
将etc.rar 解压 命令为:
rar x etc.rar
unrar -e etc.tar
使用的时候出现一个错误
bash: /usr/local/bin/rar: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
是因为64位 系统中安装了32位程序
解决方法:
yum install glibc.i686
重新安装以后还有如下类系错误 再继续安装包
error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
yum install libstdc++.so.6
重新安装以后还有如下类系错误 再继续安装包
error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
yum install libstdc++.so.6
11、复制响应文件模板
mkdir etc (/home/oracle/ 目录下创建etc)
cp /home/oracle/database/response/* /home/oracle/etc/
12、设置响应文件权限
su - root
chmod 777 /home/oracle/etc/*.rsp
13、静默安装Oracle软件
su - oracle
修改安装Oracle软件的响应文件/home/oracle/etc/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY //29 行 安装类型
ORACLE_HOSTNAME=java-linux-test //37 行 主机名称
UNIX_GROUP_NAME=oinstall //42 行 安装组
INVENTORY_LOCATION=/u01/app/oracle/oraInventory //47 行 INVENTORY目录
SELECTED_LANGUAGES=en,zh_CN,zh_TW //78 行 选择语言
ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/db_1 //83 行 oracle_home
ORACLE_BASE=/u01/app/oracle //88 行 oracle_base
oracle.install.db.InstallEdition=EE //99 行 oracle版本
oracle.install.db.isCustomInstall=true //108行 自定义安装
oracle.install.db.DBA_GROUP=dba //142行 dba用户组
oracle.install.db.OPER_GROUP=oinstall //147行 oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //160行 数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl //165行 globalDBName
oracle.install.db.config.starterdb.SID=orcl //170行 SID
oracle.install.db.config.starterdb.memoryLimit=512 //200行 自动管理内存的最小内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //233行 设定所有
数据库用户使用同一个密码
DECLINE_SECURITY_UPDATES=true //385行 设置安全更新
进行静默安装Oracle软件
修改hosts文件 和etc的所属者和对应组
cd database
#######./runInstaller -silent -force -responseFile /home/oracle/etc/db_install.rsp
直接执行./runInstaller
14、安装步骤如下图
Oracle Database configuration时提示报错,如下图
解决方法
需要用root用户将本地hosts文件中IP地址和主机名加入进去,保存
然后再Retry即可
打开Terminal,切换到root用户
执行/u01/app/oracle/product/11.2.0/dbhome_1/root.sh 文件
以上安装完成
15、增加oracle环境变量
su - oracle
vi ~/.bash_profile
在最后加上以下内容
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export LIBPATH=${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 /home/oracle/.bash_profile
启动监听服务
lsnrctl start
其他
设置变量
source ./bash_profile
登录数据库
sqlplus /nolog
登录sys用户:
conn sys/oracle as sysdba
创建表空间、
CREATE TABLESPACE testcfg datafile ‘/u01/app/oracle/oradata/testcfg/testcfg.dbf’ size 600M autoextend on next 50m >maxsize unlimited;
用户名密码、
create user testcfg identified by testcfg default tablespace testcfg;
并授权对应权限
grant connect, resource to testcfg;
grant dba to testcfg;