vmware虛擬機CentOS7安裝oracle資料庫

来源:https://www.cnblogs.com/bearduncle/archive/2018/04/25/8944756.html
-Advertisement-
Play Games

想用linux虛擬機裝一個oracle,中間遇到的坑太多了,最後總算是安裝好了,一定要寫個全面的教程出來。 話不多說 通用編輯命令: vi test.txt #進入編輯模式 編輯完成後按ESC退出編輯模式 :wq 回車 保存編輯的文件 1.設置linux開機自動打開網路連接,不打開網路連接Secur ...


想用linux虛擬機裝一個oracle,中間遇到的坑太多了,最後總算是安裝好了,一定要寫個全面的教程出來。

話不多說

通用編輯命令:

vi test.txt   #進入編輯模式

編輯完成後按ESC退出編輯模式

:wq 回車 保存編輯的文件

1.設置linux開機自動打開網路連接,不打開網路連接SecureCRT連接不上。

cd /etc/sysconfig/network-scripts/   #進入網路腳本目錄

vi ifcfg-ens33     #編輯文件

最後一行 ONBOOT=no 改為 “yes”保存並退出。

2.卸載CentOS7自帶jdk1.8,安裝自己的jdk並設置環境變數

rpm -qa |grep jdk   #查看jdk安裝目錄(自己電腦已經卸載了jdk,借圖。。。)

#使用remove命令移除所有jdk相關軟體

yum -y remove java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64   
yum -y remove java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64
yum -y remove java-1.7.0-openjdk-headless-1.7.0.141-2.6.10.5.el7.x86_64
yum -y remove java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
yum -y remove copy-jdk-configs-2.2-3.el7.noarch

可輸入java命令判斷是否卸載完成

vi /etc/profile  #添加自己的jdk目錄環境變數

添加以下內容:

export JAVA_HOME=/usr/local/soft/java/jdk1.7 #註意這裡是自己的jdk解壓目錄
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

保存退出
source /etc/profile   #使配置生效

可輸入java、javac、java -version命令判斷新配置的java環境是否正常

3.創建運行oracle資料庫的系統用戶和用戶組
groupadd oinstall
groupadd dba
useradd -g oinstall -g dba -m oracle
passwd oracle   #該命令會讓你兩次確認密碼,密碼過於簡單不符合規則會要求重新輸入

4.創建oracle資料庫安裝目錄,並將目錄賦權給oracle用戶

mkdir -p /opt/oracle
mkdir -p /opt/oracle/oraInventory
mkdir -p /opt/oracle/database
chown -R oracle:oinstall /opt/oracle
chown -R oracle:oinstall /opt/oracle/oraInventory
chown -R oracle:oinstall /opt/oracle/database

註意:最好選擇opt目錄下,直接選擇home目錄下大多安裝時提示空間不足

5.修改OS系統標識

vi /etc/redhat-release

將原系統標識改為: redhat-7

6.安裝oracle資料庫所需要的軟體包

yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh numactl-devel glibc-headers

7.關閉防火牆(永久性的)
systemctl disable firewalld.service

 8.關閉selinux ,需要重啟生效,可以等接下來幾個步驟做完再重啟。

vi /etc/selinux/config

9.修改內核參數
vi /etc/sysctl.conf

添加如下內容:

net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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  #使配置生效

10.對oracle用戶設置限制,提高軟體運行性能
vi /etc/security/limits.conf
添加:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

 

11.配置用戶環境變數
vi /home/oracle/.bash_profile
添加:
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

source /home/oracle/.bash_profile  #使配置生效

12.將oracle資料庫兩個壓縮文件包放到 /opt/oracle/database目錄下並解壓,操作不贅述。

解壓命令:unzip 文件名

解壓後對目錄授權:chown -R oracle:oinstall /opt/oracle/database/database/

13.重啟linux使用oracle用戶登錄

 14.最好使用linux界面命令進入/opt/oracle/database/database目錄下,執行命令:

./runInstaller -jreLoc /usr/local/soft/java/jdk1.7.0_80/

註意:這裡指定了oracle安裝時jdk的安裝路徑,否則oracle啟動界面next時會卡在某個界面不會動,中間一條豎線!!!這個問題困擾了我好幾天!!!

靜心等待幾秒鐘,出現oracle安裝界面,恭喜你,安裝可以正常進行了!

15.swap空間不足解決辦法

執行命令:

dd if=/dev/zero of=/opt/swap bs=1024 count=2048000
mkswap /opt/swap
swapon /opt/swap
free -m #查看記憶體狀態

接下來checkagain

ok,swap不足的問題解決了,勾選Ignore All繼續next !

oracle的安裝比較漫長,耐心等待即可。

安裝至68%的時候會彈出問題,點擊continue即可,接下來還會彈出一次,還是continue即可。

安裝至95%的時候會提示配置資料庫管理員賬戶的密碼,並且需要執行兩條命令,不要關閉安裝界面,配置好密碼後直接去目錄下執行即可。

 

安裝完成後

[oracle@localhost ~]$ lsnrctl start  #開啟監聽服務

[oracle@localhost ~]$ sqlplus / as sysdba  #登入

SQL> shutdown immediate   #立即關閉資料庫服務(一般是關閉狀態)
SQL> startup   #開啟資料庫服務(重要,必輸)

SQL> exit      #退出

 

寫的不好大家多多擔待,基本上我遇到的問題按照這種步驟都解決了,linux安裝oracle確實是個難題,不同linux版本安裝都會遇到各種坑,大家有什麼不清楚的可以留言提問,我知道的儘力幫你解決。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 原文鏈接:http://www.cnblogs.com/xrq730/p/8890896.html,轉載請註明出處,謝謝 Redis從入門到精通:初級篇 平時陸陸續續看了不少Redis的文章了,工作中也一直在用Redis,感覺是時候對過往Redis的所學進行一次系統性的總結。《Redis從入門到精通 ...
  • SQL中UNION和UNION ALL的區別及用法介紹,僅供參考,如有錯誤,歡迎糾正。 ...
  • Oozie Spark Action 配置 Spark Action 用來運行spark 任務,流程任務必須等當前節點的spark任務執行完成之後才能執行後續節點任務。運行Spark Job,必須在 spark action裡面配置 job-tracer,name-node,master,和一些必要 ...
  • Oozie Email Action 配置 Shell Action 可以用來為oozie中的流程任務發送郵件,Email Action 必須配置 to收件人,cc收件人(可選),郵件主題,郵件內容,多個收件人可以使用,分割收件人地址。Email Action是同步執行的,流程任務必須等當前節點的郵 ...
  • row_number的用途非常廣泛,排序最好用它,它會為查詢出來的每一行記錄生成一個序號,依次排序且不會重覆,註意使用row_number函數時必須要用over子句選擇對某一列進行排序才能生成序號。 rank函數用於返回結果集的分區內每行的排名,行的排名是相關行之前的排名數加一。簡單來說rank函數 ...
  • 涉及到sock連接的問題。 為了測試MySQL的某些個特性,在一個機器上安裝了多個MySQL的實例,如下截圖,有兩個實例,一個埠是8000,一個埠是8001。在使用mysql -uroot -p -P8001連接至埠號為8001的MySQL實例的時候,show variables like ' ...
  • 今天安裝完Mysql後,開啟發生了錯誤: 1、打開相應文件夾,查看錯誤信息: 2、打開錯誤信息文件,查看錯誤原因是:Plugin 'FEDERATED' is disabled. /usr/sbin/mysqld: Table 'mysql.plugin' doesn't exist 3、‘mysq ...
  • 本文目錄: 1.1 視窗和開窗函數簡介 1.2 OVER()語法和執行位置 1.3 row_number()對分區排名 1.4 rank()和dense_rank() 1.5 percent_rank()和cume_dist() 1.6 ntile()數據分組 1.7 取相鄰行數據:lag()函數和 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...