=====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
------------------------
转载于:https://blog.51cto.com/ruifar/1758774