操做系統 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數據庫,問題解決。