1. 程式人生 > >CentOS 6.5 安裝Oracle 11g R2

CentOS 6.5 安裝Oracle 11g R2

一、安裝前系統準備:
1、#修改主機名
[[email protected] ~]# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network

[[email protected] ~]# hostname oracledb

2、#新增主機名與IP對應記錄
[[email protected] ~]# vi /etc/hosts 
192.168.90.179    oracledb

3、#關閉Selinux
[[email protected]

~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config  
[[email protected] ~]# setenforce 0

4、安裝依賴包
[[email protected] ~]# yum -y install  gcc gcc-c++ make binutilscompat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-commonglibc-devel 
libaio libaio-devel libgcclibstdc++ libstdc++-devel unixODBC unixODBC-devel

5、建立使用者和組
[[email protected] ~]# sysctl -p 
[[email protected] ~]# groupadd -g 200 oinstall 
[[email protected] ~]# groupadd -g 201 dba 
[[email protected] ~]# useradd -u 440 -g oinstall -G dba oracle 
[[email protected] ~]# passwd oracle

6、修改核心引數
[[email protected]

~]# vi/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

7、修改系統資源限制

[[email protected] ~]# vi/etc/security/limits.conf #末尾新增如下 
oracle  soft  nproc  2047 
oracle  hard  nproc  16384 
oracle  soft  nofile  1024 
oracle  hard  nofile  65536

[[email protected] ~]# vi/etc/pam.d/login 
session    required    pam_namespace.so  #下面新增一條pam_limits.so 
session    required    pam_limits.so

8、建立安裝目錄及設定許可權

[[email protected] ~]# mkdir /opt/oracle/app/ 
[[email protected] ~]# mkdir /opt/oracle/oradata/ 
[[email protected] ~]# chmod 755/opt/oracle/ 
[[email protected] ~]# chmod 775/opt/oracle/app/ 
[[email protected] ~]# chown oracle.oinstall -R /opt/oracle/

9、設定oracle環境變數

[[email protected] ~]$ vi ~/.bash_profile 
export ORACLE_BASE=/opt/oracle/app
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export   ORACLE_SID=orcl 
[[email protected] ~]$ source .bash_profile  #立即生效

10、安裝oracle

下載並解壓:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
[[email protected]~]# unzip /media/linux.x64_11gR2_database_1of2.zip 
[[email protected]~]# unzip /media/linux.x64_11gR2_database_2of2.zip 
[[email protected]~]# xhost +  #使所有使用者都能訪問圖形桌面 
[[email protected]~]# su –oracle 
[[email protected]~]#./media/database/runInstaller

#輸入接受一些安全問題的郵件地址







#安裝完成後,會出來一個對話方塊,提示使用root使用者執行這兩個指令碼

[[email protected] ~]$ /opt/oracle/oraInventory/orainstRoot.sh 
[[email protected] ~]$ /opt/oracle/app/product/11.2.0/dbhome_1/root.sh

備註:Sql plus命令報command not found的解決

分析和解決
這種情況應該是路徑的問題,應該Oracle剛剛安裝成功的,而且安裝過程中沒有出現異常。
我echo $oracle_home為空,echo $path也為空,問題就出在這裡了。
然後我
export ORACLE_HOME=<your Oracle Home>
export PATH=$ORACLE_HOME/bin:$PATH
再次執行Sqlplus命令,ok,可以了。


Oracle常用命令
[[email protected] ~]# su –oracle
[[email protected] ~]# sqlplus / as sysdba
SQL> startup #啟動資料庫例項
SQL> shutdown immediate #關閉資料庫例項
SQL> select * from tab; #檢視所有表
SQL> select name from v$datafile #檢視資料庫存放目錄
SQL> show parameter service #檢視服務名
SQL> select * from v$instance; #檢視例項名
SQL> select name from v$database; #檢視資料庫名
SQL> select * fromdba_users; #檢視所有使用者資訊
SQL> select username,password from dba_users; #只查詢使用者和密碼
SQL> select * fromv$pwfile_users; #檢視具有sysdba許可權的使用者
SQL> select * fromdba_ustats; #檢視當前使用者資訊
SQL> select * fromuser_sys_privs #檢視當前使用者系統許可權
SQL> select * fromuser_role_privs #檢視當前使用者角色
SQL> select * fromdba_sys_privs #檢視指定使用者所具有的系統許可權
SQL> select * fromv$version #檢視oracle版本
SQL> select * fromuser_views #檢視檢視資訊
[[email protected] ~]# lsnrctl start #開啟遠端監聽埠
###遠端連線資訊

10、oracle使用者
#sys和system使用者區別
1>.儲存資料重要性不同
sys存放資料字典的基表和檢視,由資料庫自己維護,任何使用者都不能手動更改,sys使用者擁有dba、sysdba、sysoper等角色或許可權,是oracle許可權最高使用者。
而system使用者只存放一些一級的內部資料,如oracle的一些特性或工具的管理資訊。用於資料庫管理,System使用者擁有普通dba角色許可權。
2>.許可權不同
sys使用者具有sysdba或sysoper系統許可權,登入em也只能用這兩個身份,不能用normal。
system使用者只能用normal身份登入em,除非你對它授予了sysdba的系統許可權或syspoer系統許可權。
#sysdba和sysoper兩個系統許可權區別
normal是普通使用者
sysdba擁有最高的系統許可權,登入後是sys
sysoper主要用來啟動、關閉資料庫,sysoper登入後用戶是public
#dba和sysdba的區別
先了解下oracle服務的建立過程:建立例項 --> 啟動例項 --> 建立資料庫
啟動過程:例項啟動 --> 裝載資料庫 --> 開啟資料庫
sysdba是管理oracle例項的,它的存在不依賴於整個資料庫完全啟動,只要例項啟動了,它就已經存在,以sysdba身份登入,裝載資料庫,開啟資料庫。只有資料庫打開了,或者整個資料庫完全啟動後,dba角色才有存在的基礎。

經過這次的安裝,剛接觸Oracle的朋友們,已經不再對Oracle陌生了吧!