系統:redhat6.5
在安裝之前要注意,oracle對於系統的空間是有要求的,安裝前可以查看下:
使用free -m查看交換空間大小,oracle XE 要求至少有1.2G 的交換空間,擴充的方法在我另外一篇博文上已經說明。傳送門http://www.linuxidc.com/Linux/2012-08/66973.htm
使用df -h查看tmpfs的大小,oracle XE 在init.ora文件中給出了最低要求,默認是1G 。
這裏我們要把tmpfs擴充爲2G:
1.修改/etc/fstab文件:
找到此行:tmpfs /dev/shm tmpfs defaults 0 0
修改爲: tmpfs /dev/shm tmpfs defaults,size=2048M 0 0
2.重新加載tmpfs:
使用命令:
#umount /dev/shm; mount /dev/shm;
然後輸入
df -h /dev/shm查看輸出:
Filesystem Size Used Avail Use% Mounted on
tmpfs 2.0G 492M 1.6G 25% /dev/shm
說明重新加載成功。 【Linux公社 http://www.linuxidc.com 】
做完這些,我們還要做一些安裝一些依賴包:
sudo yum install libaio*
來安裝libaio包
之後解壓安裝包,
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
進入Disk1文件夾
安裝解壓後的rpm包
rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm
安裝成功後會提示成功,然後以super user身份運行以下腳本進行配置:
# /etc/init.d/oracle-xe configure
包括http的端口,如果你的服務器上運行了tomcat 而且沒有改過端口配置 要把默認的8080端口換掉以免衝突。
另外,程序還會要求你爲默認管理員賬戶 sys 設置密碼。隨後會等待一段時間,請耐心。
安裝結束後,系統會自動建立一個名爲oracle的用戶,home dir位置在 /u01/app/oracle 也就是數據庫安裝的位置。
爲了使用方便,我們可以把個人用戶家目錄下(例如student目錄下)的.bashrc 和.bash_profile拷貝到該目錄下,再用chown改變文件所屬:
# chown oracle .bash_profile
# chown oracle .bashrc
# chmod 755 .bash_profile
# chmod 755 .bashrc
之後, 我們要設置一下環境變量:
修改/etc/profile文件,添加如下內容:
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/xe; export ORACLE_HOME
ORACLE_SID=XE; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
TNS_ADMIN=$ORACLE_HOME/network/admin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
注意:以下幾點:
XE版本里只能有一個instance, 我將SID修改了以後貌似會報錯,所以SID就不用修改了。
BASE和HOME兩個變量後儘量不要加斜線 '/' ,有可能會報錯,雖然不知到爲什麼... 同時,TNS_ADMIN這個變量一定要有。
修改完後使用命令 # source /etc/profile 重新加載改文件。
輸入 echo $ORACLE_BASE修改是否成功
初始化數據庫:
# su Oracle
如果不知道密碼 可以用 # passwd oracle重新設置
修改init.ora:
cd /u01/app/oracle/product/11.2.0/xe/dbs/
cp init.ora initXE.ora
vi initXE.ora
將該文件修改成如下內容:
db_name='XE'
memory_target=1G
processes = 150
audit_file_dest='/u01/app/oracle/admin/orcl/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = ('/u01/app/oracle/oradata/', '/u01/app/oracle/oradata/')
compatible ='11.2.0'
切換隻oracle用戶 使用sqlplus鏈接數據庫
sqlplus /nolog
進入sqlplus控制檯
SQL> connect as sysdba
提示輸入用戶名密碼: 使用sys/password登錄
啓動並裝載數據庫
SQL> startup mount
11g xe版本已經內置了一個設置好的數據庫 XE, 因此不許要手動創建數據庫,但是需要初始化數據庫結構
運行一下兩行代碼:
SQL> @?/rdbms/admin/catalog.sql
SQL> @?/rdbms/admin/catproc.sql
等待出現提示complete之後,進行下一步。
如果運行過程中出現database didn‘t open 則需要重新啓動並裝載數據庫。 【Linux公社 http://www.linuxidc.com 】
接下來創建用戶,初始數據庫中應當已經存在users表,因此直接插入數據就可以了:
SQL> create user myaccount
2 identified by “mypassword”
3 default tablespace users;
授權用戶:
SQL> grant dba to myaccount;
之後可以exit然後用該用戶登錄。
插表測試:
SQL> create table test_table (txt varchar2(100) not null);
SQL> insert into test_table values('Hello world !');
插入數據成功後查詢
SQL> select * from test_table;
如果查詢成功,那麼恭喜你,大功告成了!