硬件要求:
物理内存不少于1G
硬盘可用空间不少于5G
swap分区空间不少于2G
#vi /etc/redhat-release
//操作系统,系统只支持Red Hat Enterprise Linux 6,CentOS 6其实就是RHEL6,但Oracle不认,所以要改一下
#CentOS release 6.3 (Final) 这行注释掉,加上下面的
Red Hat Enterprise Linux 6
# chkconfig iptables off //永久关闭不安全,本地无所谓
# vi /etc/sysconfig/selinux
SELINUX=enforcing改成SELINUX=disabled
# vi /etc/hosts
添加一行内容:IP 机器名
# vi /etc/security/limits.conf 在文件后增加
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
# vi /etc/sysctl.conf //末尾添加如下,如该参数已设置过,则不需添加该项
net.ipv4.ip_local_port_range= 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576
# sysctl -p //使配置生效
yum -y install \
binutils \
compat-libcap1 \
compat-libstdc++-33 \
compat-libstdc++-33*.i686 \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc*.i686 \
glibc \
glibc-devel \
glibc-devel*.i686 \
ksh \
libgcc*.i686 \
libgcc \
libstdc++ \
libstdc++*.i686 \
libstdc++-devel \
libstdc++-devel*.i686 \
libaio \
libaio*.i686 \
libaio-devel \
libaio-devel*.i686 \
make \
sysstat \
unixODBC \
unixODBC*.i686 \
unixODBC-devel \
unixODBC-devel*.i686 \
libXp
附:rpm包检查包、安装包、卸载包命令
# rpm -qa|grep xxx
# rpm -ivh xxx.rpm
# rpm -e --nodeps xxx.rpm
执行命令
# groupadd oinstall
# groupadd dba
# groupadd oper
# useradd -g oinstall -G dba,oper oracle
# echo "oracle" | passwd --stdin oracle
查看一下
# id oracle
uid=501(oracle) gid=501(oinstall) 组=501(oinstall),502(dba),503(oper)
#passwd oracle
# mkdir -p /var/app
# mkdir -p /var/app/oracle
# mkdir -p /var/app/oracle/product
# mkdir -p /var/app/oracle/product/11.2.0
# mkdir -p /var/app/oracle/product/11.2.0/dbhome_1
# mkdir -p /home/oracle/backup //数据备份目录
# mkdir -p /home/oracle/oraInventory //清单目录
# chown -R oracle:oinstall /var/app
# chown -R oracle:oinstall /home/oracle/backup
# chown -R oracle:oinstall /home/oracle/oraInventory
# chmod -R 775 /var/app
# vi .bash_profile
umask 022
export ORACLE_BASE=/var/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=ora11g
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
#source .bash_profile //oracle环境变量生效
#Unzip 文件名 //解压文件得到database文件夹
解压后得到database目录,其中包含response目录,该目录中有三个rsp文件,用来作为静默安装时的应答文件的模板。三个文件作用分别是:
db_install.rsp:安装应答
dbca.rsp:创建数据库应答
netca.rsp:建立监听、本地服务名等网络设置的应答
cp -R /var/app/oracle/database/response /home/oracle
$ less /opt/database/response/db_install.rsp |grep -v "#"|grep -v "^$"
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=bigdata06
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/var/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/var/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.CLUSTER_NODES=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=ora11g
oracle.install.db.config.starterdb.SID=ora11g
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=1500
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.dbcontrol.emailAddress=
oracle.install.db.config.starterdb.dbcontrol.SMTPServer=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES=true //一定要设为 true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
此处加完执行运行权限赋予:
#chmod 755 -R /var/app/oracle/database
cd /var/app/oracle/database
$./runInstaller -silent -responseFile /var/app/oracle/database/response/db_install.rsp
(必要时可以在后面加 -ignorePrereq)
$ cd /home/oracle/oraInventory/logs
$ tail -f installActions*log
//出现successfully setup software;则表示安装成功
$ /home/oracle/oraInventory/orainstRoot.sh
$ /var/app/oracle/product/11.2.0/dbhome_1/root.sh
$cd /var/app/oracle/database/response
$netca /silent /responsefile /var/app/oracle/database/response/netca.rsp
//成功运行后,在/var/app/oracle/product/11.2.0/dbhome_1/network/admin目录下生成sqlnet.ora和listener.ora两个文件
$ netstat -tlnp | grep 1521 //查看1521端口工作情况
$ vi /var/app/oracle/database/response/dbca.rsp
GDBNAME = "ora11g.mophee" //78 行 全局数据库的名字=SID+主机名;注意mophee是我的主机名
SID="ora11g" //149行 SID
SYSPASSWORD = "oracle" //190行
SYSTEMPASSWORD = "oracle" //200行
CHARACTERSET="AL32UTF8" //415行 编码
NATIONALCHARACTERSET="UTF8" //425行 编码
$ $ORACLE_HOME/bin/dbca -silent -responseFile /var/app/oracle/database/response/dbca.rsp
//此命令执行需要多等会
很重要:找到这个连接串文件
添加:LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
测试:
$ sqlplus / as sysdba
看到这个恭喜你,小伙伴你基本已经装好oracle了。
遇到问题:(因为研究遇到不少问题,遇到就去解决,所以只记得几个印象深刻的)
解决办法:查看oracle用户的环境变量.bash_profile内容,执行source .bash_profile;使其立即使用
如果登录oracle之后,出现
方法一:这个问题不要着急
$ORACLE_HOME/bin/dbstart //执行该句看看日志的问题
我的抱着个错
错误原因
dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题
解决方法:
分别打开两个文件找到:ORACLE_HOME_LISTNER=$1,修改为
ORACLE_HOME_LISTNER=$ORACLE_HOME,命令如下:
[oracle@oracle11g ~]$ vi $ORACLE_HOME/bin/dbstart
[oracle@oracle11g ~]$ vi $ORACLE_HOME/bin/dbshut
方法二:修改/var/app/oracle/product/11.2.0/dbhome_1/dbs目录下的init.ora
修改文件名为initora11g.ora
修改内容中:
删除 diagnostic_dest这行
数据库startup重启,如果报错
造成原因:/dev/shm必须大于MEMORY_TARGET,如果/dev/shm比MEMORY_TARGET小就会报错。
解决方法:
Root用户下,分别执行以下命令:
$ cat /etc/fstab | grep tmpfs
$ mount -o remount,size=10G /dev/shm
$ cat /etc/fstab | grep tmpfs
$ df -h
Oracle用户下startup成功
问题三:
(1)首先将/var/app/oracle/product/11.2.0/dbhome_1/network/admin 目录下
Listener.ora和tnsnames.ora中的host都换为oracle服务器的ip
(2)在虚拟机oracle用户下
lsnrctl stop;
lsnrctl start;
如果
则说明服务监听有问题。
执行下列命令解决:
sqlplus / as sysdba
show parameter service_names; //查看服务名称
alter system register; //手动注册服务
quit;
lsnrctl start;
出现下面情景即为正常
至此,plsql就能连接oracle成功了。