CentOS7安裝Oracle 11g資料庫
一、準備
1. Oracle11g安裝包:
p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
2. 虛擬機配置參考:
虛擬機安裝CentOS7具體過程參見://blog.51cto.com/14451009/2428059?source=dra
我的配置方案是40G的硬碟/boot(系統啟動目錄)6個G,/(根目錄)20個G,/home(存放所有用戶文件的根目錄)10個G,swap(虛擬記憶體)4個G。
二、CentOS7配置
首先確認關閉防火牆和Selinux,不知道可百度。
1. 創建用戶組和用戶
[root@localhost /]# groupadd oinstall [root@localhost /]# groupadd dba [root@localhost /]# user-g oinstall -G dba -m oracle #創建oracle用戶,歸屬oinstall和dba兩個組 [root@localhost /]# groups oracle # 驗證oracle對應的組 oracle : dba [root@localhost /]# id oracle uid=1001(oracle) gid=1002(dba) groups=1002(dba) #少了oinstall,再用usermod把用戶加到oinstall組 [root@localhost /]# usermod -a -G oinstall oracle [root@localhost /]# id oracle uid=1001(oracle) gid=1002(dba) groups=1002(dba),1001(oinstall) [root@localhost /]# groups oracle oracle : dba oinstall
2. 創建目錄
[root@localhost /]# mkdir -p /data/oracle [root@localhost /]# mkdir -p /data/oraInventory [root@localhost /]# mkdir -p /data/database [root@localhost /]# cd /data #驗證創建情況 [root@localhost data]# ll total 0 drwxr-xr-x. 2 root root 6 Jul 11 11:36 database drwxr-xr-x. 2 root root 6 Jul 11 11:36 oracle drwxr-xr-x. 2 root root 6 Jul 11 11:36 oraInventory [root@localhost data]# cd .. [root@localhost /]# chown -R oracle:oinstall /data/oracle #改變目錄屬主為oracle [root@localhost /]# chown -R oracle:oinstall /data/oraInventory [root@localhost /]# chown -R oracle:oinstall /data/database [root@localhost /]# ll /data total 0 drwxr-xr-x. 2 oracle oinstall 6 Jul 11 11:36 database drwxr-xr-x. 2 oracle oinstall 6 Jul 11 11:36 oracle drwxr-xr-x. 2 oracle oinstall 6 Jul 11 11:36 oraInventory
3. 修改內核版本名稱
因為oracle默認不支援在centos7上安裝,所以改為redhat-7
[root@localhost /]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@localhost /]# cp /etc/redhat-release /etc/redhat-release.bak #備份 [root@localhost /]# vi /etc/redhat-release redhat-7
4. 安裝依賴包
[root@localhost /]# yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers gl ibc-static kernel-headers libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel libstdc++-static make numactl-devel sysstat unixODBC unixODBC-devel
Oracle前提校驗依賴pdksh,但yum雲上沒有,網上查了說可以用ksh代替,這裡單獨安裝
[root@localhost /]# yum -y install pdksh
5. 修改內核參數
參考:Linux 下安裝Oracle 時,/etc/sysctl.conf 內核參數設置詳解 //blog.csdn.net/weixin_34239169/article/details/89830714
[root@localhost /]# cp /etc/sysctl.conf /etc/sysctl.conf.bak [root@localhost /]# vi /etc/sysctl.conf # 添加下面內容 kernel.shmall = 2097152 kernel.shmmax = 2147483648 # 也可以是kernel.shmmax = 4294967295 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65000 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 [root@localhost /]# /sbin/sysctl -p # 執行立即生效 [root@localhost /]# cat /proc/sys/kernel/shmmax # 驗證是否生效
6. 修改用戶oracle限制參數,提高軟體運行性能
[root@localhost /]# cp /etc/security/limits.conf /etc/security/limits.conf.bak [root@localhost /]# vi /etc/security/limits.conf # 在最後添加下面幾行: oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
7. 修改用戶oracle環境變數
[root@localhost /]# cp /home/oracle/.bash_profile /home/oracle/.bash_profile.bak [root@localhost /]# vi /home/oracle/.bash_profile ...... # 注釋下面兩行 # PATH=$PATH:$HOME/.local/bin:$HOME/bin # export PATH # 添加下面內容 export ORACLE_BASE=/data/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=en_US.UTF-8 export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
退出後用root用戶執行下面命令,使該配置文件即時生效。
[root@localhost /]#source /home/oracle/.bash_profile
三、安裝Oracle資料庫
1. 將oracle11g安裝包拷貝到centos,解壓到/data/database
[root@localhost data]# unzip p13390677_112040_Linux-x86-64_1of7.zip -d /data/database [root@localhost data]# unzip p13390677_112040_Linux-x86-64_2of7.zip -d /data/database [root@localhost data]# chown -R oracle:oinstall /data/database # 修改所有者 [root@localhost data]# ll /data/database total 0 drwxr-xr-x. 7 oracle oinstall 136 Aug 27 2013 database
2. 開始安裝oracle資料庫
[root@localhost data]# su oracle #切換到oracle用戶安裝 [oracle@localhost data]$ cd /database/database #進入解壓後的路徑 [oracle@localhost database]$ ./runInstaller #執行安裝程式
僅安裝資料庫軟體
單實例安裝
語言添加Simplified Chinese
安裝路徑和.bash_properties環境變數配置中的一致
這裡提示pdksh缺失,因為已經安裝了ksh,所以可以ignore all,然後點擊Next。
最後一步,保留安裝過程,新開一個xshell窗口,按提示要求用root登錄並執行以下腳本,然後回到此介面點擊OK。
[root@localhost /]# /data/oraInventory/orainstRoot.sh Changing permissions of /data/oraInventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /data/oraInventory to oinstall. The execution of the script is complete. [root@localhost /]# /data/oracle/product/11.2.0/db_1/root.sh Performing root user operation for Oracle 11g The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /data/oracle/product/11.2.0/db_1 Enter the full pathname of the local bin directory: [/usr/local/bin]: # 這裡直接回車 Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ... ......
遇到報錯:
解決方案: 保留安裝過程,另外開啟一個終端窗口,找到$ORACLE_HOME/sysman/lib /ins_emagent.mk文件,將
$(MK_EMAGENT_NMECTL)
替換為
$(MK_EMAGENT_NMECTL) -lnnz11
然後在安裝過程中點擊Retry即可。
到此,oracle資料庫軟體安裝完成,下面要創建監聽和實例。
四、創建Oracle實例
參考://blog.csdn.net/lia17/article/details/82256565
1. 創建監聽:
使用oracle用戶登錄,執行netca 命令進入可視化監聽配置介面,一路Next完成
[oracle@localhost database]$ whereis netca netca: /data/oracle/product/11.2.0/db_1/bin/netca [oracle@localhost database]$ cd /data/oracle/product/11.2.0/db_1 [oracle@localhost db_1]$ netca
監聽配置完成。
2. 創建實例:
[oracle@localhost db_1]$ dbca #執行配置程式
配置實例名orcl
配置sys和system密碼
Memory Size要在40%~60%之間
Charater sets要選擇ZHS16GBK,否則顯示中文會亂碼
點擊OK,結束創建實例!至此,可以正常使用oracle11g資料庫了。
五、創建Oracle登錄用戶
1. 在centos中用sys用戶登錄,驗證是否正常能正常登陸
[oracle@localhost db_1]$ sqlplus sys/password as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Sat Jul 11 14:07:00 2020 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> SELECT * FROM v$pwfile_users; SQL> exit;
2. 退出後用PL/SQL訪問登錄,用sys用戶登錄
-- 創建表空間 -- 默認設置表空間自動擴展,且每次擴展空間大小為100M,限制最大空間為5G,注:datafile後面是表空間的物理存儲路徑,文件名的後綴可以隨便. create tablespace test_user01 datafile '/data/oracle/oradata/orcl/test_user01.dbf' size 200M autoextend on next 100m maxsize 5G; -- 創建用戶 create user test_user01 identified by test_user01; -- 分配表空間到用戶 alter user test_user01 default tablespace test_user01; -- 賦權sysdba許可權 grant sysdba to test_user01; -- 賦權其他許可權,否則無法登錄 grant create session,create table,create view,create sequence,connect,resource,unlimited tablespace to test_user01; -- 嘗試用test_user01登錄 -- conn test_user01/test_user01; -- 登錄之後查詢用戶所具有的許可權 select * from session_privs; /*-- 刪除用戶及其相關對象,刪除之前先斷開相關鏈接 drop user username cascade;*/
參考鏈接:
中國:
//www.cnblogs.com/dudu99/p/11074489.html
//blog.csdn.net/lia17/article/details/82256565
//blog.csdn.net/csgd2000/article/details/100224722
//www.cnblogs.com/MicleZhou2020/p/12200622.html
國外:
//dbaora.com/install-oracle-11g-release-2-11-2-on-centos-linux-7/
//oracle-base.com/articles/11g/oracle-db-11gr2-installation-on-oracle-linux-7
Oracle官方:
//www.oracle.com/cn/technical-resources/articles/hunter-rac11gr2-iscsi2.html#13