操做系统 centerOS 7linux
如下是具体安装步骤:c++
一、 增长虚拟内存docker
dd if=/dev/zero of=/swapadd bs=1024 count=2006424 mkswap /swapadd swapon /swapadd
二、 检查依赖包数据库
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
三、 安装依赖包vim
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686
四、 建立用户和组bash
groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle passwd oracle
五、 修改内核参数session
vi /etc/sysctl.conf 增长或者修改 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
执行sysctl -p使配置生效oracle
六、 修改用户限制app
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/pam.d/login session required pam_limits.so vi /etc/profile 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
七、 建立安装目录ide
mkdir -p /u01/app/ chown -R oracle:oinstall /u01/app/ chmod -R 775 /u01/app/ 建立vi /etc/oraInst.loc inventory_loc=/u01/app/oracle/oraInventory inst_group=oinstall chown oracle:oinstall /etc/oraInst.loc chmod 664 /etc/oraInst.loc
八、 设置oracle环境变量
su – oracle vi ~/.bash_profile export ORACLE_BASE=/u01/app/oracle export ORACLE_SID=dbsrv2 source /home/oracle/.bash_profile env
九、 解压
pwd /usr/local/ unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip
十、复制响应文件模板
mkdir etc cp /usr/local/database/response/* /home/oracle/etc/ cp /home/oracle/database/response/* /home/oracle/etc/ chmod 777 /home/oracle/etc/*.rsp
十一、静默安装Oracle软件
su – oracle vi /home/oracle/etc/db_install.rsp oracle.install.option=INSTALL_DB_SWONLY #安装类型 ORACLE_HOSTNAME=docker // 主机名称(hostname查询) UNIX_GROUP_NAME=oinstall // 安装组 INVENTORY_LOCATION=/u01/app/oraInventory SELECTED_LANGUAGES=en,zh_CN,zh_TW // 选择语言 ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 //oracle_home ORACLE_BASE=/u01/app/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=dbsrv2 //SID oracle.install.db.config.starterdb.memoryLimit=8192 //自动管理内存的内存(M) oracle.install.db.config.starterdb.password.ALL=oracle //设定全部数据库用户使用同一个密码 SECURITY_UPDATES_VIA_MYORACLESUPPORT=false DECLINE_SECURITY_UPDATES=true
十二、安装
./runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp
安装完成执行脚本
su - root
/u01/app/oraInventory/orainstRoot.sh /u01/app/oracle/product/11.2.0/db_1/root.sh
1三、环境变量
su - oracle vi ~/.bash_profile export ORACLE_BASE=/u01/app/oracle export ORACLE_SID=dbsrv2 export ROACLE_PID=ora11g #export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 export PATH=$PATH:$ORACLE_HOME/bin export LANG="zh_CN.UTF-8" export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8" export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss' 使配置文件生效 source .bash_profile
1四、配置监听程序
$ORACLE_HOME/bin/netca /silent /responseFile /home/oracle/etc/netca.rsp
1五、安装数据库
vim /home/oracle/etc/dbca.rsp GENERAL] RESPONSEFILE_VERSION = "11.2.0" OPERATION_TYPE = "createDatabase" [CREATEDATABASE] GDBNAME = "dbsrv2" SID = "dbsrv2" TEMPLATENAME = "General_Purpose.dbc" CHARACTERSET = "AL32UTF8"
1六、建库后实例检查
ps -ef | grep ora_ | grep -v grep | wc -l ps -ef | grep ora_ | grep -v grep
1七、建库后监听检查
lsnrctl status
////////////////////////////////////////////////////////////////////////////////////////////////////////
安装过程当中可能出现的问题:
1. 数据库启动 ORA-01507: database not mounted
解决方案:删除掉lk<SID>文件
该文件位于$ORACLE_HOME/dbs 目录中,查找lk开头的文件 直接rm命令删掉便可
2.数据库启动 ORA-00205: error in identifying control file, check alert log for more info
网上解决方案为 设置环境变量 export NLS_LANG=AMERICAN_CHINA.ZHS16GBK
若是重启数据库依然出现该问题 则查看alter log,该文件位于$ORACLE_BASE/diag/rdbms/[实例名]/[SID]/trace/alert_[SID].log,若是按照文中路径配置则为/u01/app/oracle/diag/rdbms/orcl11g/dbsrv2/trace/alert_dbsrv2.log
检查启动失败日志
我遇到的问题以下
大概意思是控制文件被占用 解决方案参考 https://yq.aliyun.com/articles/414635
如下是该博客内容
思路:
一、看一下"lk" and "sgadef.dbf"这两个文件是否是存在着,若是存在将其删掉;
二、看是否是有后台进程存在;
三、看一下oracle的共享内存段及信号集(semaphores)是否是还存在着;
实际操做:
[oracle@linux ~]$ cd $ORACLE_HOME/dbs
[oracle@linux dbs]$ ls
hc_SID.dat initdw.ora init.ora lkSID orapwSID spfileSID.ora
[oracle@linux dbs]$ rm lkSID
[oracle@linux dbs]$ ls
hc_SID.dat initdw.ora init.ora orapwSID spfileSID.ora
[oracle@linux dbs]$ ps -ef|grep ora_|grep SID
oracle 4981 1 0 09:00 ? 00:00:00 ora_pmon_SID
oracle 4983 1 0 09:00 ? 00:00:00 ora_psp0_SID
oracle 4985 1 0 09:00 ? 00:00:00 ora_mman_SID
oracle 4987 1 0 09:00 ? 00:00:00 ora_dbw0_SID
oracle 4989 1 0 09:00 ? 00:00:00 ora_lgwr_SID
oracle 4991 1 0 09:00 ? 00:00:01 ora_ckpt_SID
oracle 4993 1 0 09:00 ? 00:00:01 ora_smon_SID
oracle 4995 1 0 09:00 ? 00:00:00 ora_reco_SID
oracle 4997 1 0 09:00 ? 00:00:00 ora_cjq0_SID
oracle 4999 1 0 09:00 ? 00:00:07 ora_mmon_SID
oracle 5001 1 0 09:00 ? 00:00:00 ora_mmnl_SID
oracle 5003 1 0 09:00 ? 00:00:00 ora_d000_SID
oracle 5005 1 0 09:00 ? 00:00:00 ora_s000_SID
oracle 5023 1 0 09:00 ? 00:00:00 ora_qmnc_SID
oracle 5133 1 0 09:00 ? 00:00:00 ora_q000_SID
oracle 5139 1 0 09:00 ? 00:00:00 ora_q001_SID
oracle 31755 1 1 13:21 ? 00:00:00 ora_j000_SID
[oracle@linux dbs]$ ps -ef|grep ora_|grep SID|grep pmon
oracle 4981 1 0 09:00 ? 00:00:00 ora_pmon_SID
[oracle@linux dbs]$ kill -9 4981
[oracle@linux dbs]$ ps -ef|grep ora_|grep SID|grep pmon
[oracle@linux dbs]$ ipcs -m
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
从新startup数据库,问题解决。