linux oracle11g安装步骤


注:虚拟机的内存至少给6个G
设置网络
nmcli conn mod ens33 ipv4.addresses "192.168.1.149/24" 
ipv4.gateway "192.168.1.1"  ipv4.dns "202.96.209.133" 

网卡设置个开机自启动
connection.autoconnect yes ipv4.method manual

centos7.6安装
1.centos7.6
2.yum -y install bash-completion net-tools zip unzip
3.nmcli conn add type ethernet con-name eth0 ifname ens123 ipv4.addresses "10.10.1.6/24" connection.autoconnect yes ipv4.method manual

oracle安装
1.安装依赖包
[root@localhost /]# yum -y install gcc gcc-c++ make binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static glibc glibc-common glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel numactl-devel sysstat unixODBC unixODBC-devel kernelheaders pdksh pcre-devel readline rlwrap 

错误:

出现/var/run/yum.pid 已被锁定,PID 为 11154 的另一个程序正在运行。时,
可用以下代码解除锁定
rm -f /var/run/yum.pid

设置环境变量(JDK)

方案一:先在/web/service/目录下上传JDK压缩包并解压。(也可以在根目录下上传WEB包,注web.tar.gz包里没有jdk,需要自己安装)  注:此web包是之前项目配置好的,直接压缩后删减拿过来的。

方案二:在根目录下新建JDK文件,上传对应的JDK。此步骤需要改此(export JAVA_HOME=/web/service/jdk1.8.xxx)路径。

先在/web/service/目录下上传JDK压缩包并解压。

[root@localhost /]# vim /etc/profile                           若无法使用VIM,则yum -y install
###添加以下内容
export JAVA_HOME=/web/service/jdk1.8.0_161(JDK版本及安装路径)
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

让修改的环境变量生效
[root@localhost /] source /etc/profile
验证jdk是否生效
[root@localhost /] java -version


2.创建用户和组
[root@localhost /]# groupadd oinstall && groupadd dba && useradd -g oinstall -G dba oracle
[root@localhost /]# echo "输入的密码" | passwd --stdin oracle && id oracle

3.将安装包上传到/data/u01/software目录下
[root@localhost /]# mkdir -p /data/u01/software
[root@localhost /]# cd /data/u01/software
[root@localhost software]# ll
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip

注:linux.x64_11gR2_database安装包地址:

链接:https://pan.baidu.com/s/10JvEHXf8TDeO7bh36EyGBQ 
提取码:2yb1

4.解压此安装包
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
[root@localhost software]# unzip linux.x64_11gR2_database_1of2.zip
[root@localhost software]# unzip linux.x64_11gR2_database_2of2.zip

5.创建目录并赋权
[root@localhost /]# mkdir -p /data/u01/app/oracle/product/11.2.0/dbhome_1
[root@localhost /]# mkdir /data/u01/app/oracle/{oradata,inventory,fast_recovery_area}
[root@localhost /]# chown -R oracle:oinstall /data/u01/app/oracle
[root@localhost /]# chmod -R 775 /data/u01/app/oracle

6.修改内核参数
[root@localhost /]# vi /etc/sysctl.conf
##添加以下内容
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 4194304
kernel.shmmax = 8589934592
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 41944304
#使内核新配置生效
[root@localhost /]# sysctl -p

7.修改用户限制
[root@localhost /]# vim /etc/security/limits.conf
##添加以下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240

8.修改/etc/pam.d/login文件
[root@localhost /]# vim /etc/pam.d/login
##添加以下内容
session required /lib64/security/pam_limits.so
session required pam_limits.so

9.修改/etc/profile文件
[root@localhost /]# vim /etc/profile
##添加以下内容
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

[root@localhost /] source /etc/profile

10.设置oracle环境变量
[root@localhost /]# su - oracle
[oraclet@localhost ~]# vim .bash_profile
##添加以下内容
export ORACLE_BASE=/data/u01/app/oracle
export ORACLE_HOME=/data/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=$ORACLE_SID
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG=american_america.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
#生效
[oraclet@localhost ~]# source .bash_profile

11.#编辑静默安装响应文件
[oraclet@localhost ~]# cp -R /data/u01/software/database/response/ . && cd response/
[oraclet@localhost ~]# vim db_install.rsp
#设置以下内容
oracle.install.option=INSTALL_DB_SWONLY                                       在29行
ORACLE_HOSTNAME=自己的主机名                  //默认为localhost.localdomain   37行
UNIX_GROUP_NAME=oinstall                                                      42行
INVENTORY_LOCATION=/data/u01/app/oracle/inventory                             47行 
SELECTED_LANGUAGES=en,zh_CN                                                   78行
ORACLE_HOME=/data/u01/app/oracle/product/11.2.0/dbhome_1                      83行
ORACLE_BASE=/data/u01/app/oracle                                              88行
oracle.install.db.InstallEdition=EE                                           99行
oracle.install.db.DBA_GROUP=dba                                              142行
oracle.install.db.OPER_GROUP=dba                                             147行
DECLINE_SECURITY_UPDATES=true                                                385行

12.安装
[oraclet@localhost ~]# cd /data/u01/software/database/
[oraclet@localhost database]# ./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
等待几分钟

13.#打开终端,以 root 身份登录,执行脚本:
[oraclet@localhost ~]# su - root
[root@localhost ~]# sh /data/u01/app/oracle/inventory/orainstRoot.sh
[root@localhost ~]# sh /data/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
[root@localhost ~]# vim /etc/hosts
127.0.0.1 后面加上主机名          //默认为localhost.localdomain

14.#用Oracle用户启动
[root@localhost ~]# su - oracle
[oracle@localhost ~]# lsnrctl start
[oracle@localhost ~]# netstat -tunlp|grep 1521

********配置好把下面的这个信息复制到txt(后面可能用于用于PLSQL连接)*******
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain(改成192.168.XX.XXX))(PORT=1521)))
The listener supports no services
The command completed successfully

****************************************************************************************************


15.#配置以静默方式建立新库,和实例 的响应文件
[oracle@localhost ~]# vim /home/oracle/response/dbca.rsp
#设置以下参数
GDBNAME = "orcl"                             在78行    
SID = "orcl"                                 142行
SYSPASSWORD = "SYS 用户密码"                 190行
SYSTEMPASSWORD = "SYSTEM 用户密码"           200行
SYSMANPASSWORD = "sysman"                    231行  
DBSNMPPASSWORD = "dbsnmp"                    241行 
DATAFILEDESTINATION =/data/u01/app/oracle/oradata     357行
RECOVERYAREADESTINATION=/data/u01/app/oracle/fast_recovery_area        367行
CHARACTERSET = "AL32UTF8"                    415行
TOTALMEMORY = "6144"                         540行


#查看配置结果
[oracle@localhost ~]# egrep -v "(^#|^$)" /home/oracle/response/dbca.rsp

16.#启用配置,以静默方式建立新库,和实例!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[oracle@localhost ~]# dbca -silent -responseFile /home/oracle/response/dbca.rsp
复制数据库文件
1% 已完成
3% 已完成
11% 已完成
....
100% 已完成
//等待几分钟

17.#检查实例后台进程
[oracle@localhost ~]# ps -ef | grep ora_ | grep -v grep
 
#查看 ORACLE_UNQNAME 环境变量!!!!!!!
[oracle@localhost ~]# env|grep ORACLE_UNQNAME

18.安装依赖包(用于记录操作(上下键进行查看操作记录))
切换到root用户
[oracle@localhost ~]# su - root
[root@localhost ~]# yum -y install readline* nmap perl rlwrap
在~下上传rlwrap-0.43.tar.gz并解压!!!!!!
[root@localhost ~]# tar -zxvf rlwrap-0.43.tar.gz 
[root@localhost ~]# cd rlwrap-0.43
[root@localhost rlwrap-0.43]# ./configure  &&  make  &&  make  install


19.#以 sysdba 身份登录
[root@localhost ~]# su - oracle
[oracle@localhost ~]# sqlplus / as sysdba

20.#启动 oralce 数据库
SQL>     
SQL> select 1 from dual;
SQL> exit

21.关闭防火墙
[oracle@localhost ~]$ su - root
[root@localhost ~]$ systemctl stop firewalld               暂时关闭防火墙
[root@localhost ~]$ systemctl disable firewalld            永久关闭防火墙

三、设置数据库自启动

1、安装好Oracle数据库后: 执行 dbstart和dbshut
[oracle@localhost ~]$ dbstart
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
Usage: /usr/oracle/product/11.2.0/db_1/bin/dbstart ORACLE_HOME
错误原因:dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题

[oracle@localhost ~]$ vim $ORACLE_HOME/bin/dbstart
[oracle@localhost ~]$ vim $ORACLE_HOME/bin/dbshut
分别打开两个文件修改(80和50行左右)

ORACLE_HOME_LISTNER=$1
修改为:
ORACLE_HOME_LISTNER=$ORACLE_HOME
修改后保存退出,问题解决

[oracle@localhost ~]$ dbstart

2、Linux启动时自动启动Oracle监听和实例

第一步:修改/etc/oratab文件
[oracle@localhost ~]$ vim /etc/oratab
找到:   orcl:/usr/oracle/product/11.2.0/db_1:N   
修改为: orcl:/usr/oracle/product/11.2.0/db_1:Y
(这个路径跟安装路径有关,$ORACLE_SID:$ORACLE_HOME:<N|Y>)


第二步:把lsnrctl start和dbstart添加到rc.local文件中:

root权限执行

[root@localhost ~]# vim /etc/rc.d/rc.local
#添加:
su - oracle -lc "/data/u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"
su - oracle -lc "/data/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart"
##说明:
##第一行为开机启动数据库监听服务,第二行为开机启动数据库。(路径跟安装路径相关)。
##注意:CentOs7中/etc/rc.d/rc.local不会开机执行,需添加执行权限。

查看/etc/rc.d/rc.local的权限

[root@localhost ~]# ll /etc/rc.d/rc.local
添加执行权限
[root@localhost ~]# chmod +x /etc/rc.d/rc.local

3、重启电脑后查看是否自启动成功
查看监听是否自启动成功

oracle用户

[root@localhost ~]# su - oracle

[oracle@localhost ~]$ lsnrctl status LISTENER
查看Oracle服务状态

[oracle@localhost ~]$ ps –ef | grep oracle

4、oracle的启动或关闭管理
[root@localhost oracle]# dbstart                   #启动
[root@localhost oracle]# dbshut                    #停止


四、创建XIBU_WMS和XIBU_INF用户

[oracle@localhost /]$ sqlplus / as sysdba
--创建XIBU用户
CREATE TABLESPACE TS_XIBU_WMS_DATA DATAFILE 
'/data/u01/app/oracle/oradata/orcl/TS_XIBU_WMS_DATA_01.DBF'  SIZE 2G AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED,
'/data/u01/app/oracle/oradata/orcl/TS_XIBU_WMS_DATA_02.DBF'  SIZE 2G AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;

--创建ZHCXIBU用户索引表空间
CREATE TABLESPACE TS_XIBU_WMS_IDX DATAFILE 
'/data/u01/app/oracle/oradata/orcl/TS_XIBU_WMS_IDX_01.DBF'  SIZE 1G AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED,
'/data/u01/app/oracle/oradata/orcl/TS_XIBU_WMS_IDX_02.DBF'  SIZE 1G AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;


**************
这里会提示IDX已存在,不用管,继续下一步:
ERROR at line 1:
ORA-01537: cannot add file
'/data/u01/app/oracle/oradata/orcl/TS_XIBU_WMS_IDX_01.DBF' - file already part
of database
******************


--创建用户时需要把表空间加进去
CREATE USER XIBU_WMS IDENTIFIED BY XIBU_WMS DEFAULT TABLESPACE TS_XIBU_WMS_DATA TEMPORARY TABLESPACE TEMP ;
GRANT CONNECT ,RESOURCE TO XIBU_WMS;
GRANT CREATE SEQUENCE TO XIBU_WMS;
GRANT CREATE SYNONYM TO XIBU_WMS;
GRANT CREATE VIEW TO XIBU_WMS;

alter user xiabu_wms default tablespace TS_XIBU_WMS_DATA;


--创建XIBU_INF用户
CREATE TABLESPACE TS_XIBU_INF_DATA DATAFILE 
'/data/u01/app/oracle/oradata/orcl/TS_XIBU_INF_DATA_01.DBF'  SIZE 2G AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED,
'/data/u01/app/oracle/oradata/orcl/TS_XIBU_INF_DATA_02.DBF'  SIZE 2G AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;

--创建ZHCXIBU用户索引表空间
CREATE TABLESPACE TS_XIBU_INF_IDX DATAFILE 
'/data/u01/app/oracle/oradata/orcl/TS_XIBU_INF_IDX_01.DBF'  SIZE 1G AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED,
'/data/u01/app/oracle/oradata/orcl/TS_XIBU_INF_IDX_02.DBF'  SIZE 1G AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;

**************
这里会提示IDX已存在,不用gaunt,继续下一步:
ERROR at line 1:
ORA-01537: cannot add file
'/data/u01/app/oracle/oradata/orcl/TS_XIBU_INF_IDX_01.DBF' - file already part
of database
******************

--创建用户时需要把表空间加进去
CREATE USER XIBU_INF IDENTIFIED BY XIBU_INF DEFAULT TABLESPACE TS_XIBU_INF_DATA TEMPORARY TABLESPACE TEMP ;
GRANT CONNECT ,RESOURCE TO XIBU_INF;
GRANT CREATE SEQUENCE TO XIBU_INF;
GRANT CREATE SYNONYM TO XIBU_INF;
GRANT CREATE VIEW TO XIBU_INF;

alter user xiabu_inf default tablespace TS_XIBU_INF_DATA;


部署结束,导入数据在下面步骤五、导入导出数据    

**************************************************************************************

上传对应的WEB包,启动时先把对应的redis 端口开启:
/web/service/redis/bin/redis-server ../conf/端口号.conf
关闭redis端口
/web/service/redis/bin/redis-cli -p  redis端口号  shutdown

更换授权文件目录
把路径给为这个/web/license/

vim /web/src/wms/WEB-INF/classes/license-config.properties


*************************************************************************************
*************************************************************************************
*************************************************************************************


#重启数据库:
[oracle@localhost ~]$ sqlplus / as sysdba
SQL> shutdown immediate       关闭数据库
SQL> startup             数据库启动
SQL> exit
[oracle@localhost ~]$ lsnrctl stop      停掉lsnrctl
[oracle@localhost ~]$ lsnrctl start       启用监听

当表空间和索引删除不掉时,或者提示已存在无法创建等情况,去/data/u01/app/oracle/oradata/orcl
目录下把对应的文件删除即可。

删除表空间

删除无任何数据对象的表空间:
首先使用PL/SQL界面化工具,或者使用oracle自带的SQL PLUS工具,连接需要删除的表空间的oracle数据局库。
确认当前用户是否有删除表空间的权限,如果没有 drop tablespace,请先用更高级的用户(如sys)给予授权或者直接用更高级的用户。
用drop tablespace xxx ,删除需要删除的表空间。

删除有任何数据对象的表空间
使用drop tablespace xxx including contents and datafiles;来删除表空间。

注意事项:
如果drop tablespace语句中含有datafiles,那datafiles之前必须有contents关键字,不然会提示ora-01911错误
以上就是表空间的删除方法,但是小编友情提示,还是不要随意删除,一旦操作不当,就会使得自己的数据库无法使用了。

  redis启动:  
[root@localhost bin]# ./redis-server ../conf/6379.conf 
[root@localhost bin]# ./redis-server ../conf/6380.conf 
[root@localhost bin]# ./redis-server ../conf/6381.conf 

78的要给权限
chmod -R 775 /web/*
[root@localhost webserver]# apache-tomcat-8.5.78-YYY-9082/bin/startup.sh
[root@localhost webserver]# apache-tomcat-8.5.78-MMM-9081/bin/startup.sh 
[root@localhost webserver]# apache-tomcat-8.5.78-WMS-9080/bin/startup.sh 

  
五、导出导入数据(接口同理)

备份导出ORACLE数据库
su - oracle
expdp XIBU_WMS/XIBU_WMS directory=dp_dir dumpfile=XIBU20220622.dmp logfile=XIBU20220622.log schemas=XIBU_WMS;

备份导入ORACLE数据库
su - oracle
impdp XIBU_WMS/XIBU_WMS@orcl directory=dp_dir dumpfile=XIBU20220622.dmp logfile=XIBU20220622.log schemas=XIBU_WMS table_exists_action=replace ignore=y;
  

***********************************注释***************************************
备份导出ORACLE数据库
su - oracle
expdp XIBU_WMS(用户名)/XIBU_WMS(密码) directory=dp_dir dumpfile=XIBU20220622(用户名_时间).dmp logfile=XIBU20220622(用户名_时间).log schemas=XIBU_WMS(用户名);

备份导入ORACLE数据库
su - oracle
impdp XIBU_WMS(用户名)/XIBU_WMS(用户名)@orcl directory=dp_dir dumpfile=XIBU20220622(备份文件名).dmp logfile=XIBU20220622(备份文件名).log schemas=XIBU_WMS table_exists_action=replace ignore=y;
******************************************************************************* 
  
  
  
  
  

猜你喜欢

转载自blog.csdn.net/Xin_shou__/article/details/118961739