目錄
pdksh-5.2.14-37.el5_8.1.x86_64.rpm
提示:檢查監視器: 監視器配置至少必須顯示 256 種顏色。。。解決辦法
System.Data.OracleClient 需要 Oracle 客戶端軟件 8.1.7 或更高版本
安裝
系統配置
操作系統:CentOS6.5_x64
安裝前裝備
#關閉防火牆
#service iptables stop
#修改主機名
[root@oracledb~]# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network
[root@oracledb ~]# hostname oracledb
#添加主機名與IP對應記錄
[root@oracledb ~]# vi /etc/hosts
127.0.0.1 oracledb
#關閉Selinux
[root@oracledb ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
[root@oracledb ~]# setenforce 0
安裝依賴包
#需要在能上網的情況下進行
[root@oracledb ~]# yum -y install gcc gcc-c++ make binutil scompat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel unixODBC unixODBC-devel
創建用戶和組
#sysctl -p
#groupadd -g 200 oinstall
#groupadd -g 201 dba
#useradd -u 440 -g oinstall -G dba oracle
#passwd oracle
修改內核參數
#vi /etc/sysctl.conf #末尾添加如下
net.ipv4.ip_local_port_range= 9000 65500
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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
vm.dirty_background_ratio=3
vm.dirty_ratio=5
vm.min_free_kbytes = 1048576
修改系統資源限制
#vi /etc/security/limits.conf #末尾添加如下
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
#vi /etc/pam.d/login
session required pam_namespace.so #下面添加一條pam_limits.so
session required pam_limits.so
#vi /etc/profile
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -u 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
創建安裝目錄及設置權限
#mkdir /data1/
#mkdir /data1/oracle/
#mkdir /data1/oracle/app/
#mkdir /data1/oracle/oradata/
#chmod 755 /data1/oracle/
#chmod 775 /data1/oracle/app/
#chown oracle.oinstall -R /data1/oracle/
設置oracle環境變量
#su - oracle
#vi ~/.bash_profile
export ORACLE_BASE=/data1/oracle/app
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=orcl
#source .bash_profile #立即生效
安裝Oracle
下載並解壓:
下載壓縮包放在/tmp 路徑下
[root@oracledb~]# xhost + #使所有用戶都能訪問圖形桌面
[root@oracledb~]# su –oracle
[oracle@oracle~]#./tmp/database/runInstaller
運行過程會提示讓你用root賬戶執行2個腳本,你將腳本的文件拿下來,在root賬戶下執行即可。
一些參考
開啓、關閉數據庫
1)切換用戶
su - oracle
2)命令行啓動監聽
lsnrctl
>start #啓動
>stauts #查看狀態
>exit #退出
3)啓動數據庫
sqlplus "/as sysdba"
>startup
4)關閉數據庫
sqlplus "/as sysdba"
>shutdown immediate
compat-libstdc++ 老是裝不上
在Linux上安裝Oracle時,檢測軟件包 compat-libstdc++時老是顯示沒有安裝,重新從網上下載了最新的安裝包後雖然顯示安裝成功了,但是重新檢測還是顯示沒有安裝。最後Google到了結果,原因是,檢測的時候應該使用:
rpm -qa 'compat-libstdc++*'
而非
rpm -q compat-libstdc++
pdksh-5.2.14-37.el5_8.1.x86_64.rpm
pdksh-5.2.14-37.el5_8.1.x86_64.rpm Oracle安裝時需要安裝的包
rpm –qa|grep pdksh #查看是否安裝
rpm –ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm #安裝,衝突時rpm -e 卸載衝突的包
沒有網絡的情況下安裝依賴包
在沒有網絡的情況下可以從啓動優盤或光盤中將Packages文件夾拷貝到目標機器上。
Packages中都是rmp包
#檢查
rpm -q binutils compat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXext libXtst libX11 libXau libXi make sysstat
#cd 到拷貝的路徑中,按照以下順利安裝。
rpm -ivh compat-libstdc++-33-3.2.3-61.x86_64.rpm
rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm
rpm -ivh libaio-devel-0.3.107-10.el6.x86_64.rpm
rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm
rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm
rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
rpm -ivh cpp-4.4.7-4.el6.x86_64.rpm
rpm -ivh gcc-4.4.7-4.el6.x86_64.rpm
rpm -ivh libstdc++-devel-4.4.7-4.el6.x86_64.rpm
rpm -ivh gcc-c++-4.4.7-4.el6.x86_64.rpm
rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
rpm -ivh ksh-20120801-10.el6.x86_64.rpm
提示:檢查監視器: 監視器配置至少必須顯示 256 種顏色。。。解決辦法
切換到root用戶
# su root
# xhost +
提示:xhost: unable to open display “”
# export DISPLAY=:0.0
# xhost +
提示:access control disabled, clients can connect from any host
切換oracle用戶
# su – oracle
再執行# sh runInstaller
問題解決!
出現亂碼則設置
export LANG="en_US.UTF-8"
linux通過一根網線與筆記本直連上網
首先將筆記本(筆記本IP爲11.101.9.20)的無線網絡共享。
然後在linux輸入
route -net 11.101.9.100 netmask 255.255.255.0 gw 11.101.9.104 route add default gw 11.101.9.104
注:
11.101.9.100(與筆記本IP一個網段)
11.101.9.104(筆記本的IP)
然後重啓網卡 /etc/init.d/network restart
設置sqlplus中的退格鍵
有些時候當你使用sqlplus登錄到數據庫中的時候,敲錯了命令想要刪除修改的時候,發現以前敲入的字符無法刪除,反而多出了^H字符。
SQL> show^H^H
[oracle@zeng ~]$ stty -a //顯示所有的終端設置。其中會有這樣的一個字段 erase = ^?;表示終端的清除字符的方式是Ctrl+Backspace。
可以修改成我們經常使用的Backspace鍵。
[oracle@zeng ~]$ stty erase ^H
在進入sqlplus中就可以按照我們熟悉的方式刪除敲錯的字符了。當你註銷linux會話再次登錄linux系統進入sqlplus的時候問題又來了。
SQL> show^H^H
想要讓該設置在每次登錄linux系統創建會話的時候生效,可以寫入.bash_profile文件中,在執行生效。
[oracle@zeng ~]$ vi .bash_profile //加入stty erase ^H
[oracle@zeng ~]$ . .bash_profile
查詢表空間
SELECT UPPER(F.TABLESPACE_NAME) "表空間名",
D.TOT_GROOTTE_MB "表空間大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空間(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') || '%' "使用比",
F.TOTAL_BYTES "空閒空間(M)",
F.MAX_BYTES "最大塊(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 1;
檢查oracle死鎖
查看鎖表進程SQL語句1:
select sess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name,
lo.locked_mode
from v$locked_object lo,
dba_objects ao,
v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.sid;
查看鎖表進程SQL語句2:
select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID;
殺掉鎖表進程:
如有記錄則表示有lock,記錄下SID和serial# ,將記錄的ID替換下面的738,1429,即可解除LOCK
alter system kill session '738,1429';
System.Data.OracleClient 需要 Oracle 客戶端軟件 8.1.7 或更高版本
原因:NTFS權限問題,在ORACLE9I時總是遇到
解決方法:
1、以管理員的用戶登錄;
2、找到ORACLE_HOME文件夾(我的是C:\oracle\ora92),點右鍵,選屬性--安全,在組或用戶欄中選“Authenticated Users”,在下面權限列表中把“讀取和運行”的權限去掉,再按應用;重新選上“讀取和運行”權限,點擊應用;選權限框下面的“高級”按鈕,確認“Authenticated Users”後面的應用於是“該文件夾、子文件夾及文件”,按確定把權限的更改應用於該文件夾;
3、重新啓動計算機,讓權限設置生效(請注意,這一步很重要);
4、登錄後運行asp.net應用,正常取得Oracle數據庫的數據。