我建議將安裝文件放在windows的盤符下,共享文件夾,通過mount -t smbfs方式來讓linux訪問windows下共享的文件夾來進行安裝,對虛擬
下載,準備
我建議將安裝文件放在windows的盤符下,共享文件夾,通過mount -t smbfs方式來讓linux訪問windows下共享的文件夾來進行安裝,對虛擬linux來說,就不需要占用那么大的空間.
需要保證虛擬就機linux和windows之間的網絡暢通,用root用戶給linux設置ip地址,方法:root登錄圖形界面,"開始菜單"->"system settings"->"network"
虛擬linux磁盤空間8G以上,linux 2.8G,oracle 2.85G,數據庫2G;
虛擬機內存,我自己安裝分配了512M,速度還比較塊,我看別人用256M,很慢.
如果上面的具備了,可以進行下面的步驟了.
環境配置,安裝
1)添加用戶組,用root用戶登錄
groupadd orainstall
groupadd oradba
groupadd oraoper
useradd ora -G orainstall,oradba
可以根據自己的情況用不同的用戶名字和組,根據自己喜好.
2)切換到root用戶
vi /etc/sysctl.conf
然后在最后添加一行
kernel.shmmax = 261986254
如果遺漏這步,安裝的最后一步會報ORA-27123: unable to attach to shared memory segment錯誤.
3)在.bash_profile中添加環境變量
然后用ora用戶登錄,在該文件中添加如下的內容:
#ORACLE
export LD_ASSUME_KERNEL=2.4.1
export ORACLE_BASE=/home/ora/ora9
export ORACLE_HOME=/home/ora/ora9/oracle
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
#NoUse
export ORACLE_SID=linuxdb
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.US7ASCII
#LIB,CLASS
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
CLASSPATH=$CLASSPATH:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
修改.bash_profile之后,重新登錄,或者source .bash_profile就可以是上面配置的環境變量生效.
4)解壓縮文件
在windows下,將存放安裝文件的文件夾oracle共享,設置共享權限為可讀可寫,然后執行如下命令:
mount -t smbfs -o username=cl,password=chenli,ip=192.168.1.100 -l //chenli/oracle /home/ora/setup
命令解釋:
上面命令中,username=cl,password=chenli中cl是windows用戶,chenli是cl用戶的密碼
ip=192.168.1.100 中192.168.1.100 是windows主機的ip地址
//chenli/oracle 中,chenli是windows主機的主機名,oracle是共享文件夾
/home/ora/setup 是linux下的目錄路徑,必須存在,可以根據自己的需要,設定不同的路徑.
解壓文件,順序執行下面的命令:
cd /home/ora/setup
gunzip ship_9204_linux_disk1.cpio.gz
gunzip ship_9204_linux_disk2.cpio.gz
gunzip ship_9204_linux_disk3.cpio.gz
cpio -idmv < ship_9204_linux_disk1.cpio
cpio -idmv < ship_9204_linux_disk2.cpio
cpio -idmv < ship_9204_linux_disk3.cpio
執行完了之后,會出現Disk1,Disk2,Disk3三個目錄
5)安裝
用ora用戶登錄到linux的圖形化界面
進入/home/ora/setup/Disk1目錄
執行./runInstaller
注意,有些時候顯示的安裝界面是亂碼的,我的Red Hat linux 9的簡體中文版,安裝程序都是英文的,這個時候可以通過執行如下命令來解決問題:
export LC_ALL=C
export LANG=C
然后再執行./runInstaller就不會有亂碼了.
錯誤總結:
我在安裝過程中出現了一些問題,在這兒跟大家分享.
1)彈出對話框,顯示錯誤信息:thrown when the ip address of a host cannot be determined
這時候需要用root用戶打開/etc/hosts 編輯該文件,ip地址和主機名字的對應關系,盡量簡單,在第二列,即主機名列,不要出現ip地址形式x.x.x.x的主機名
2)在安裝的最后,安裝agent工具的時候出現如下的錯誤信息:
Parameter "orahome" = /oracle/product/9.2.0
Parameter "nodeinfo" = NO_VALUE
Agent Service Failed
這個問題是沒有打補丁引起的,不過該問題不會影響到數據庫的使用,只是agent工具不可用.
下載p2617419_220_GENERIC.zip p3006854_9204_LINUX.zip p3238244_9204_LINUX.zip
然后安裝,需要重新執行oracle的安裝./runInstaller,所以最好在安裝前打一下這個補丁.
啟動數據庫
用ora用戶登錄linux
首先執行命令:sqlplus "/ as sysdba"
顯示SQL>執行命令startup,啟動數據庫;執行shutdown,關閉數據庫.
啟動監控程序,在普通命令行下執行如下命令
lsnrctl start 啟動監控
lsnrctl stop 停止監控
使用數據庫
用ora用戶登錄主機
執行sqlplus "/as sysdba" 以系統dba的身份登錄數據庫.
然后創建表空間,創建用戶,給用戶授予權限
1)然后創建表空間
create tablespace devbase
datafile '/home/ora/tbspace/devbase_20080121.dbf' size 500M
autoextend on
next 100M
maxsize 1000M;
要確保/home/ora/tbspace目錄存在,有權限,足夠的空間存放表空間文件
2)創建用戶
create user dev
identified by dev123
default tablespace devbase
temporary tablespace temp;
創建用戶dev,密碼是否dev123,默認表空間為devbase
注意,這個時候還不能用dev登錄數據庫,因為dev用戶還沒有create session,connect,resource權限,還不能登錄;
3)給用戶授予權限
grant resource,connect to dev;
grant create session to dev;
grant create table to dev;
grant create tablespace to dev;
grant create view to dev;
這時你可以用dev用戶進行登錄了.
4)修改用戶密碼
用sys或者system用戶登錄,執行如下的sql修改用戶密碼
alter user dev identified by chenli;
最后還因為注意一個小問題,修改ORACLE_HOME/network/admin/tnsnames.ora,將配置該文件中所有HOST的值,全部由ip地址替換,這樣在登錄數據庫的過程總,減少了主機名字=>ip地址的解析過程,有些時候,會提高一下登錄的速度.
在普通linux用戶下建立開發環境
配置環境變量,搜索路徑中可以找到oracle程序.
vi .bash_profile 添加如下的配置
#oracle
export ORACLE_BASE=/home/ora/ora9
export ORACLE_HOME=/home/ora/ora9/oracle
export ORACLE_SID=linuxdb
export ORACLE_TERM=xterm
#LD_LIBRARY_PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/local/lib:$ORACLE_HOME/rdbms/demo
PATH=$PATH:/usr/bin:/usr/sbin:/usr/local/bin:.
PATH=$PATH:$ORACLE_HOME/bin
export PATH
建立普通用戶在路徑$ORACLE_HOME/bin,$ORACLE_HOME/include,$ORACLE_HOME/lib上所有目錄的xr讀執行權限,這樣該登錄用戶才能使用$ORACLE_HOME/bin目錄下的一些oracel程序.并且要保證在開發過程中,可以使用oracle下的頭文件,庫文件.
1)創建seq對象
create sequence SEQ_STAFF_ID
minvalue 1
maxvalue 9999999
start with 1
increment by 1
cache 20;
2)創建表
create table staff_info
(
staff_id number(10),
staff_name varchar2(20),
addr varchar2(200)
);
ok,一個基本的oracle數據庫就可以使用了.
注意的問題:
很早以前寫的安裝文檔
1.確保RPM開發包,使用下面命令查看是否已安裝這些包
rpm -q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils
2.Oracle官方網站下載Oracle9i安裝文件為:Linux9i_Disk1.cpio.gz,Linux9i_Disk2.cpio.gz,Linux9i_Disk3.cpio.gz
三個文件,進行解壓,,
zcat Linux9i_Disk1.cpio.gz | cpio -idmv
zcat Linux9i_Disk2.cpio.gz | cpio -idmv
zcat Linux9i_Disk3.cpio.gz | cpio -idmv
然后有Disk1 Disk2 Disk3三個目錄
3.設置內核參數
vi /etc/sysctl.conf,加入下面參數
kernel.shmmax=4294967295 內存512M
計算方法為:kernel:shmmax=1024*1024*RAM(M)/2
或者
編輯/etc/sysctl.conf
kernel.shmmax=4294967295
以上為512MB內存,所以設置這個數值。可根據實際情況設置。
這個shmmax是定義共享內存段的最大尺寸參數shmmax建議的設定值為物理內存的一半
執行sysctl -p生效
4.修改oracle用戶能夠打開的文件總數
vi /etc/security/limits.conf
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
4.建立數據目錄和用戶
以root的身份,使用groupadd命令增加dba組;
#groupadd dba
對于Oracle9i,還需要增加oinstall組,用來分配在數據倉庫中安裝軟件的權限
#groupadd oinstall
對于oracle9i,使用oinstall和dba組作為默認組創建oracle賬號
#useradd -g oinstall -G dba oracle
設置Oracle賬號的口令
#passwd oracle
為Oracle建立的相應目錄
#mkdir /opt/oracle
#mkdir /opt/oracle/product
#mkdir /opt/oracle/product/9.2.0
為使Oracle賬號在安裝期間使用這些安裝位置,必須具有適當的權限。將安裝位置的所有權限更改為Oracle賬號。
#chown -R oracle.oinstall /opt/oracle
#mkdir /var/opt/oracle
#chown oracle.dba /var/opt/oracle
#chmod 755 /var/opt/oracle
5.使用oracle賬號的.bash_profile插入下列環境變量
vi .bash_profile 設置變量
export LD_ASSUME_KERNEL=2.4.1
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/9.2.0
export ORACLE_SID=ora9
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
(1)export TNS_ADMIN=$ORACLE_HOME/network/admin
這樣設置不會頻頻遭遇監聽報錯
重新用oracle用戶登錄,環境就可以生效
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com