軟件:Vmware pro 15、Oracle 11gR2
oracle 11g R2
VMWARE PRO 15
系統:CentOS 7.6 64位
CentOS 7.6
我是在虛擬機上安裝的Linux,虛擬機配置如下
內存2G、1個2核CPU、硬盤空間40G
虛擬機配置
oracle 11g R2官網下載頁面
下載完畢,會得到如下兩個壓縮文件:
[root@localhost ~]# uname -m x86_64 [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [root@localhost ~]#
Linux系統版本
[root@localhost home]# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network [root@localhost home]# hostname oracledb
[root@localhost home]# vim /etc/hosts
在末尾處添加:本機IP地址 oracledb
修改主機名
[root@localhost home]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config [root@localhost home]# setenforce 0
[root@localhost home]# groupadd -g 200 oinstall [root@localhost home]# groupadd -g 201 dba [root@localhost home]# useradd -u 440 -g oinstall -G dba oracle #主組oinstall,其它組:dba [root@localhost home]# passwd oracle #設置密碼 更改用戶 oracle 的密碼 。 新的 密碼: 無效的密碼: 密碼未通過字典檢查 - 它基于(顛倒的)字典單詞 #Linux密碼驗證機制,請忽略 重新輸入新的 密碼: passwd:所有的身份驗證令牌已經成功更新。 [root@localhost home]#
新建用戶組及用戶
[root@localhost home]# vim /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
修改Linux內核
[root@localhost home]# sysctl -p #使配置生效 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 [root@localhost home]#
[root@localhost home]# vim /etc/security/limits.conf #末尾添加如下 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
資源限制修改
$ vim /etc/pam.d/login session required pam_namespace.so #下面添加一條pam_limits.so session required pam_limits.so
[root@localhost home]# vim /etc/profile #(如果做了第9步的limits.conf設置,這個設置就不需要了) if [ $USER="oracle" ]; then if [ $SHELL="/bin/ksh" ];then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
[root@localhost home]# mkdir -p /opt/app/oracle/ [root@localhost home]# chmod 755 /opt/app/oracle/ [root@localhost home]# chown oracle.oinstall -R /opt/app/oracle/
[root@localhost app]# su - oracle [oracle@oracledb ~]$ vim ~/.bash_profile #添加一下內如 export ORACLE_BASE=/opt/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export ORACLE_SID=orcl export ORACLE_PID=ora11g export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
修改環境變量
完成后執行:
[oracle@oracledb ~]$ source ~/.bash_profile #立即生效 [oracle@oracledb ~]$ env | grep ORA #查看環境變量是否完成 ORACLE_SID=orcl ORACLE_BASE=/opt/app/oracle ORACLE_PID=ora11g ORACLE_HOME=/opt/app/oracle/product/11.2.0/db_1 [oracle@oracledb ~]$
設置環境變量生效
[root@oracledb oracle]# 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
依賴安裝
[root@oracledb oracle]# 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
檢查依賴
安裝Oracle
安裝unzip:(如已安裝請忽略)
[root@oracledb home]# yum -y install unzip
將下載的Oracle壓縮包放入/opt目錄下,在/opt目錄下進行解壓
[root@oracledb home]# ls *.zip | xargs -n1 unzip -o
或者
$ unzip linux.x64_11gR2_database_1of2.zip $ unzip linux.x64_11gR2_database_2of2.zip
解壓后得到database,進入database下面的response文件夾,里面有3個文件
[root@oracledb response]# cd /opt/database/response/ [root@oracledb response]# ll total 76 -rw-rw-r--. 1 root root 44969 Feb 13 2009 dbca.rsp #創建數據庫應答 -rw-rw-r--. 1 root root 22557 Aug 15 2009 db_install.rsp #安裝應答 -rwxrwxr-x. 1 root root 5740 Feb 26 2009 netca.rsp #建立監聽、本地服務名等網絡設置的應答 [root@oracledb response]#
將db_install.rsp備份一份,在其基礎上修改內容
修改靜默安裝的配置文件
[root@oracledb response]# vim db_install.rsp #按照下方的參數進行修改 oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME=oracledb UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/opt/app/oracle/oraInventory SELECTED_LANGUAGES=en,zh_CN ORACLE_HOME=/opt/app/oracle/product/11.2.0/db_1 ORACLE_BASE=/opt/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=
開始靜默安裝,使用oracle用戶
[root@oracledb database]# su oracle [oracle@oracledb response]# cd /opt/database/ #進入/opt/database目錄 [oracle@oracledb database]# ./runInstaller -silent -force -responseFile /opt/database/response/db_install.rsp
安裝過程
[WARING]可暫時忽略,此時安裝程序仍在后臺進行,如果出現[FATAL],則安裝程序已經停止了。
安裝需要一會兒,如果想看安裝進度,可以再打開一個窗口,輸出會話日志
tail -f 日志路徑 #日志文件(下圖中紅色框中未日志文件絕對路徑)
當出現Successfully Setup Software.證明已經安裝成功,然后根據提示以root用戶執行腳本
安裝成功
[oracle@oracledb database]$ su root Password: [root@oracledb database]# sh /opt/app/oracle/oraInventory/orainstRoot.sh Changing permissions of /opt/app/oracle/oraInventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /opt/app/oracle/oraInventory to oinstall. The execution of the script is complete. [root@oracledb database]# sh /opt/app/oracle/product/11.2.0/db_1/root.sh Check /opt/app/oracle/product/11.2.0/db_1/install/root_oracledb_2019-10-08_02-50-55.log for the output of root script
監聽命令(注意:一定要切換回oracle用戶)
啟動監聽:
[oracle@oracledb database]# lsnrctl start
啟動監聽
重啟監聽:
[root@oracledb database]# lsnrctl reload
重啟監聽
停止監聽:
[oracle@oracledb database]# lsnrctl stop
停止監聽
查看監聽:
[root@oracledb database]# lsnrctl status
監聽狀態
[oracle@oracledb database]# $ORACLE_HOME/bin/netca /silent /responseFile /opt/database/response/netca.rsp
監聽配置
[oracle@oracledb database]# lsnrctl status
監聽狀態
[oracle@oracledb database]# vim /opt/database/response/dbca.rsp
修改如下內容:
GDBNAME="orcl" #第78行
SID="orcl" #第149行
CHARACTERSET="AL32UTF8" #第415行,去掉注釋
NATIONALCHARACTERSET="UTF8" #第425行 去掉注釋
保存退出
然后執行
[root@oracledb database]# su - oracle Last login: Tue Oct 8 02:40:43 EDT 2019 on pts/0 [oracle@oracledb ~]# $ORACLE_HOME/bin/dbca -silent -responseFile /opt/database/response/dbca.rsp
然后輸入兩次密碼后開始自動創建:
創建數據庫
[oracle@oracledb ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 16 14:26:57 2015 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to an idle instance. SQL> start SP2-1506: START, @ or @@ command has no arguments SQL> shutdown Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 759943168 bytes Fixed Size 2217224 bytes Variable Size 448793336 bytes Database Buffers 301989888 bytes Redo Buffers 6942720 bytes Database mounted. Database opened. SQL> exit; #退出數據庫控制臺
[oracle@oracledb oracle]$ vim /etc/oratab
其中:
orcl:/opt/app/oracle/product/11.2.0/db_1:N
把第三段的N改為Y
改后如下:
orcl:/opt/app/oracle/product/11.2.0/db_1:Y 務必是大寫的Y
保存后退出
[root@oracledb oracle]# su root #切換至root用戶 [root@oracledb oracle]# vim /etc/rc.local
#在文件末尾增加如下內容
su - oracle -c 'dbstart'
su - oracle -c 'lsnrctl start'
然后執行
[root@oracledb oracle]# chmod +x /etc/rc.local
其實開機自動以oracle用戶執行上面兩個命令啦
查看端口是否開放:
[root@oracledb oracle]# firewall-cmd --query-port=1521/tcp no
永久開放1521端口號:
[root@oracledb oracle]# firewall-cmd --permanent --zone=public --add-port=1521/tcp success
重啟防火墻:
之前寫過一篇在CentOS 7/8上安裝Oracle的文章,按照我寫的文章安裝成功了,但是卸載Oracle時出現了問題。今天,我就整理一篇手動安裝和卸載Oracle的文章吧。全文為實戰型內容,全程干貨。
如果文章對你有所幫助,請不要吝惜你的點贊、在看、留言和轉發,你的支持是我持續創作的最大動力!
1.CentOS7 / CentOS8 64位最小化安裝的虛擬機環境(這里的安裝步驟,我就直接省略了,大家自行安裝虛擬機環境)
2.Oracle 11gR2 64位 Linux版安裝包(關注【冰河技術】微信公眾號,回復“oracle”關鍵字即可獲取Oracle數據庫安裝包下載鏈接)。
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
操作用戶:root
systemctl stop firewalld.service
systemctl disable firewalld.service
操作用戶為:root。
執行如下命令安裝依賴包。
yum install -y automake autotools-dev binutils bzip2 elfutils expat \
gawk gcc gcc-multilib g++-multilib lib32ncurses5 lib32z1 \
ksh less lib32z1 libaio1 libaio-dev libc6-dev libc6-dev-i386 \
libc6-i386 libelf-dev libltdl-dev libodbcinstq4-1 libodbcinstq4-1:i386 \
libpth-dev libpthread-stubs0-dev libstdc++5 make openssh-server rlwrap \
rpm sysstat unixodbc unixodbc-dev unzip x11-utils zlibc unzip cifs-utils \
libXext.x86_64 glibc.i686
操作用戶為:root
groupadd -g 502 oinstall
groupadd -g 503 dba
groupadd -g 504 oper
groupadd -g 505 asmadmin
useradd -u 502 -g oinstall -G oinstall,dba,asmadmin,oper -s /bin/bash -m oracle
passwd oracle
上述命令執行完畢后,為oracle用戶設置密碼,例如,我這里設置的密碼為oracle
操作用戶:oracle操作目錄:/home/oracle
將Oracle 11gR2安裝文件上傳(可以使用sftp上傳)到該操作目錄下面,然后順序解壓安裝文件到該目錄。
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
操作用戶:root操作文件:/etc/security/limits.conf
vim /etc/security/limits.conf
在文件的末尾添加如下配置項。
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
操作用戶:oracle
mkdir ~/tools/oracle11g
操作用戶:oracle操作目錄:/home/oracle
vim ~/.bash_profile
在文件末尾添加如下配置項
export ORACLE_BASE=/home/oracle/tools/oracle11g
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export NLS_LANG=.AL32UTF8
export PATH=${PATH}:${ORACLE_HOME}/bin/:$ORACLE_HOME/lib64
使得環境變量生效。
source ~/.bash_profile
操作用戶:oracle操作目錄:/home/oracle
復制文件模板
cp /home/oracle/database/response/db_install.rsp .
注意:復制命令的最后一個 . 不能省略,表示將db_install.rsp文件從/home/oracle/database/response目錄拷貝到當前目錄。
對db_install.rsp文件進行編輯。
vim db_install.rsp
需要修改的配置項如下所示,這里,我將修改后的配置項列舉出來。
oracle.install.option=INSTALL_DB_AND_CONFIG
ORACLE_HOSTNAME=localhost #實際上可以修改成你自己的主機名或者域名(IP)
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/tools/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/home/oracle/tools/oracle11g/product/11.2.0/dbhome_1
ORACLE_BASE=/home/oracle/tools/oracle11g
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=1024
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.password.ALL=Oracle#123456
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.dbcontrol.emailAddress=test@qq.com #可以填寫你自己的郵箱地址
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/home/oracle/tools/oracle11g/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/home/oracle/tools/oracle11g/fast_recovery_area
oracle.install.db.config.starterdb.automatedBackup.enable=false
DECLINE_SECURITY_UPDATES=true
操作用戶:oracle操作目錄:/home/oracle/database
./runInstaller -silent -ignoreSysPrereqs -responseFile /home/oracle/db_install.rsp
接下來,就是默默的等待Oracle自行安裝了,等待一段時間后,如果輸出如下信息,則表明Oracle數據庫已經安裝成功。
The following configuration scripts need to be executed as the "root" user.
#!/bin/sh
#Root scripts to run
/home/oracle/tools/oraInventory/orainstRoot.sh
/home/oracle/tools/oracle11g/product/11.2.0/dbhome_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
根據上一步完成信息提示,執行以下兩行命令,具體位置需要根據你的安裝位置決定:
/home/oracle/tools/oraInventory/orainstRoot.sh
/home/oracle/tools/oracle11g/product/11.2.0/dbhome_1/root.sh
操作用戶:oracle
sqlplus /nolog
conn /as sysdba
startup
接下來,執行如下命令。
alter user system identified by system;
alter user sys identified by sys;
創建連接用戶。
create user SYNC identified by SYNC;
grant connect,resource,dba to SYNC;
啟動已經安裝的數據庫orcl。
操作用戶oracle
sqlplus /nolog
使用dba權限連接Oralce
connect / as sysdba
啟動數據庫
startup
確認啟動結果:
ORACLE instance started.
Total System Global Area 534462464 bytes
Fixed Size 2215064 bytes
Variable Size 373293928 bytes
Database Buffers 150994944 bytes
Redo Buffers 7958528 bytes
Database mounted.
Database opened.
這里,我們使用Navicat連接Oracle數據庫,如下所示。
這里,輸入的用戶名為SYNC,密碼為SYNC。
接下來,點擊“連接測試”,如下所示。
可以看到,Oracle數據庫連接成功。
[oracle@binghe101 ~]$ lsnrctl stop
[oracle@binghe101 ~]$ lsnrctl status
[oracle@binghe101 ~]$ sqlplus / as sysdba
SQL> shutdown immediate
[root@binghe101 app]# rm -rf /home/oracle/tools/oraInventory/
[root@binghe101 oracle]# rm -rf /home/oracle/tools/oracle11g/*
[root@binghe101 tmp]# rm -rf /tmp/*
[root@binghe101 tmp]# rm -f /etc/ora*
[root@binghe101 tmp]# rm -f /usr/local/bin/*
[root@binghe101 .oracle]# rm -rf /usr/tmp/.oracle/
[root@binghe101 tmp]# userdel -r oracle
[root@binghe101 tmp]# groupdel oper
[root@binghe101 tmp]# groupdel dba
[root@binghe101 tmp]# groupdel oinstall
[root@binghe101 tmp]# groupdel asmadmin
[root@binghe101 tmp]# vi /etc/security/limits.conf
[root@binghe101 tmp]# vi /etc/sysctl.conf
[root@binghe101 tmp]# sysctl -p
[root@binghe101 ~]# rm -rf /home/oracle/tools/oracle11g
關注「 冰河技術 」微信公眾號,后臺回復 “設計模式” 關鍵字領取《深入淺出Java 23種設計模式》PDF文檔?;貜汀?strong>Java8”關鍵字領取《Java8新特性教程》PDF文檔?;貜汀?strong>限流”關鍵字獲取《億級流量下的分布式限流解決方案》PDF文檔,三本PDF均是由冰河原創并整理的超硬核教程,面試必備!!
好了,今天就聊到這兒吧!別忘了點個贊,給個在看和轉發,讓更多的人看到,一起學習,一起進步!!
如果你覺得冰河寫的還不錯,請微信搜索并關注「 冰河技術 」微信公眾號,跟冰河學習高并發、分布式、微服務、大數據、互聯網和云原生技術,「 冰河技術 」微信公眾號更新了大量技術專題,每一篇技術文章干貨滿滿!不少讀者已經通過閱讀「 冰河技術 」微信公眾號文章,吊打面試官,成功跳槽到大廠;也有不少讀者實現了技術上的飛躍,成為公司的技術骨干!如果你也想像他們一樣提升自己的能力,實現技術能力的飛躍,進大廠,升職加薪,那就關注「 冰河技術 」微信公眾號吧,每天更新超硬核技術干貨,讓你對如何提升技術能力不再迷茫!