=====RDBMS安裝=====
# cd /etc/yum.repos.d/
# wget http://public-yum.oracle.com/public-yum-ol6.repo
//上傳 "RPM-GPG-KEY-oracle" to "/etc/pki/rpm-gpg/"
//上傳 pdksh-5.2.14-37.el5.x86_64.rpm
# yum install oracle-rdbms-server-11gR2-preinstall
//以上文件可從相應的網址獲取到,其中RPM-GPG-KEY-oracle需要手動copy編碼保文件
======修改主機======
1、機器名
[root@oracledb ~]# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network
[root@oracledb ~]# hostname oracledb
2、IP主機對應
step-2#添加主機名與IP對應記錄
[root@oracledb ~]# vi /etc/hosts
X.X.X.X oracledb
3、關閉防火牆selinux
[root@oracledb ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
[root@oracledb ~]# setenforce 0
4、修改系統資源限制
root@oracledb#vi/etc/security/limits.conf #末尾添加如下
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
[root@oracledb ~]# vi /etc/pam.d/login
session required pam_namespace.so #下面添加一條pam_limits.so
session required /lib64/security/pam_limits.so
session required /lib/security/pam_limits.so
session required pam_limits.so
5、創建目錄賦予權限
[root@oracledb ~]# mkdir /u01
[root@oracledb ~]# mkdir /u02
[root@oracledb ~]# chown -R oracle:oinstall /u01
[root@oracledb ~]# chown -R oracle:oinstall /u02
[root@oracledb ~]# su oracle
[root@oracledb ~]# mkdir -p /u01/app/oracle/product/11.2.0/db_1
[root@oracledb ~]# mkdir -p /u02/oradata
[root@oracledb ~]# mkdir -p /u02/oradata/oracledb #oracledb爲你數據庫實例名
6、配置用戶環境http://ruifar.blog.51cto.com/addblog.php
[oracle@oracledb ~]# vi /home/oracle/.bash_profile
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH
ORACLE_SID=oracledb; export ORACLE_SID
ORA_NLS33=$ORACLE_HOME/nls/admin/data; export ORA_NLS33
NLS_LANG=american_america.zhs16gbk;export NLS_LANG
PATH=$ORACLE_HOME/bin:$PATH; export PATH
[oracle@oracledb ~]# source /home/oracle/.bash_profile(使配置立即生效)
[oracle@oracledb ~]# env(檢查環境變量設置是否OK)
======安裝oracle=======
//上傳安裝包
//解壓縮1,2
[root@oracledb ~]$chown -R oracle:oinstall database //修改權限
//註銷root,以oracle身份登陸
[oracle@oracledb ~]# ./runInstaller
//安裝過程記錄oracle service_name和SID
create ande configure a database
single instance database installation
language english chinese
enterprise edition
character set : use unicode AL32UTF8
//安裝完成後運行
[root@oracledb ~]$ /u01/app/oraInventory/orainstRoot.sh
[root@oracledb ~]$ /u01/app/oracle/product/11.2.0/db_1/root.sh
======開放端口============
[root@oracledb ~]# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
======修改oracle開機啓動===========================
A、修改dbstart和dbshut腳本
[oracle@tsp-rls-dbserver ~]$ vi $ORACLE_HOME/bin/dbstart
[oracle@tsp-rls-dbserver ~]$ vi $ORACLE_HOME/bin/dbshut
找到文件中的
ORACLE_HOME_LISTNER=$1,修改爲:
ORACLE_HOME_LISTNER=$ORACLE_HOME
B、修改oratab文件
[oracle@tsp-rls-dbserver ~]$ vi /etc/oratab
將ORATSP:/home/oracle/app/product/11.2.0/dbhome_1:N
修改爲:
ORATSP:/home/oracle/app/product/11.2.0/dbhome_1:Y
C、修改rc.local文件(root用戶)
[root@tsp-rls-dbserver deps]# vi /etc/rc.d/rc.local
文件尾部添加如下信息:
su oracle -lc "/home/oracle/app/product/11.2.0/dbhome_1/bin/emctl start dbconsole"
su oracle -lc "/home/oracle/app/product/11.2.0/dbhome_1/bin/lsnrctl start"
su oracle -lc "/home/oracle/app/product/11.2.0/dbhome_1/bin/dbstart
======添加磁盤=======================
fdisk /dev/sdb //爲/dev/sdb分區
n
1
_
w
mkfs -t ext3 /dev/sdb1 //格式化sdb1
pvcreate /dev/sdb1 //磁盤建立
vgdisplay //顯示vg的情況
vgextend vg_oracledb /dev/sdb1 //將新磁盤添加到vg
vgdisplay //查看vg情況,Free的空間
lvextend -L 50G /dev/vg_oracledb/lv_root //擴展lv_root分區到大小50G,50G爲lv_root的新大小;
resize2fs /dev/vg_oracledb/lv_root //重新整理lv_root,使擴容立即生效
df -h //查看分區掛載大小
======創建表空間============
create tablespace abc logging datafile'/home/oracle/oradata/abc/abc.dbf' size 1024m autoextend on next 100m maxsize 10240m extent management local;
create tablespace NNC_DATA01 datafile '/home/oracle/oracledata/jnerp1/nnc_data01.dbf' size 500M autoextend on next 50M extent management local uniform size 256K;
=====創建用戶指定表空間=======
create user abc identified by abc default tablespace abc temporary tablespace abc_temp;
grant dba to abc;
刪除用戶權限
drop user abc cascade;
======數據導出===============
導出
1) 將數據庫 TEST 完全導出 , 用戶名 system 密碼 manager 導出到/home/oracle/backup/daochu.dmp 中
[oracle@oracledb]#exp system/manager@orcl file=/home/oracle/backup/daochu.dmp full=y
2) 將數據庫中 system 用戶與 sys 用戶的表導出
[oracle@oracledb]#exp system/manager@orcl file=/home/oracle/backup/daochu.dmp owner=(system,sys)
3) 將數據庫中的表 inner_notify 、 notify_staff_relat 導出
[oracle@oracledb]#exp aichannel/aichannel@orcl file=/home/oracle/backup/daochu.dmp tables=(inner_notify,notify_staff_relat)
導入
[oracle@oracledb]#imp system/manager@orcl file=/home/oracle/backup/daochu.dmp[oracle@oracledb]#imp aichannel/aichannel@orcl full=y file=/home/oracle/backup/daochu.dmp ignore=y
=============客戶端連接Listener不通過==============
而直接通過plsql可以正常連接數據庫,或者可以通過sqlplus 連接數據庫
經過debug和查找相關的資料發現問題原因如下:
jdbc連接數據庫的時候,需要使用數據庫的sid_name,而不是數據庫的services_name
而使用plsql連接數據庫的時候,只需要數據庫的services_name即可,所以修改連接字符串中的services_name 爲sid_name
附:
察看數據庫中當前的sid:
SQL> select INSTANCE_NAME from v$instance;
INSTANCE_NAME
----------------
oracledb
------------------------
SID==oracledb
service_name==orcl
------------------------