zoukankan      html  css  js  c++  java
  • centos平台搭建Oracle11g数据库+远程连接

    经过了几天的摸爬滚打,终于成功的能在宿主机上(window10上的Plsql)去成功的连上虚拟机上的centos数据库

    下面将自己的经验分享给大家:

    具体的centos7、centos6上安装Oracle11g的过程可以见下面:

     自己的错误点总结:对于使用上面的方式在第13步不知道是否是出错了,但是到了14步,自己按照里面在设置新的数据库实例的一些参数的时候,有一些没有设置,比如SID GDBNAME的值好像都没有设置对,所以在未发现之前,所有的配置都配置完毕之后出了下面的一大堆的问题(

    问题:1、自己在centos上可以用sqlplus sys/自己的密码 as sysdba  能正常的登录到数据库中,但是用在sys登录后创建的用户newuser登录就登不上(登录语句:sqlplus newuser/自己的密码@orcl), @后面的orc是自己创建数据库实例的时候起的名称,也是SID,一般自己配置的SID和Global Database  Name    

    配置的数据库如下图中的orcl

      

    2、用sqlplus  newuser/newuser@orcl248登录不成功,但是用sqlplus  newuser/newuser登录能登上,是因为@orcl的时候,能成功的连上,因为此时不加@数据库实例ID的话,默认的是连接到默认的库上的,而当加上@orcl248之后,是想通过orcl248(连接描述符)这个连接串的名称去连接到特定的那个数据库(特定的数据库指:SERVICE_NAME:服务器服务名称  也就是下面的orcl)

    tnsnames.ora中的内容

     客户端为了远程连接服务器,必须先和服务器上的监听进程联络,Oracle通过tnsnames.ora文件中的连接描述符来说明连接信息。

    名词解释:

    ORCL248:连接描述符

    address_list:表示客户端经由多种协议与一台或多台服务器连接。在上面的例子中表示客户端使用TCP协议与服务器端连接。

    PROTOCOL:使用的协议

    HOST :是TCP/IP协议使用的服务器IP地址。
    PORT :是TCP/IP使用的端口地址。

    CONNECT_DATA: 连接数据库的连接配置

    SERVER=DEDICATED: 表示用专用服务器连接oracle数据库

    SERVICE_NAME:服务器服务名称

    3、自己在window宿主机上通过PLSQL dev登录的时候,出现错误:window连接centos上的oracle'出现ora12514:tns监听程序当前无法识别

    解决的办法可以参考:

    解决windows7无法连接CentOS7系统中oracle问题:ORA-12514 TNS 监听程序当前无法识别(https://blog.csdn.net/u010915017/article/details/80430386

     

    试过这些东西方法之后,自己的问题还是没有解决:接着请教了大神,说是先将现有的database(orcl248)删除

    ,之后再去重新创建一个新的oracle实例sid为orcl,因为之用的是上面呢的      教程     linux安装Oracle11G  去静默建立的database实例和静默配置的监听,但是出了问题(初步鉴定为自己的第 12、根据响应文件静默安装Oracle11g   中设置出了错,

    第二次重新的按照centos 7和Oracle11g,直接从0步走到了14步,但是还是本地的sys可以连、本地sys登录上之后创建的用户newuser不加@orcl可以连,加了不可以连   远程还是不可以连。

    自己的问题的成功的解决

    最终自己将数据库实例orcl248删除,之后通过带gnome图形界面的centos 7 调出图形界面(

    Oracle创建新数据库,新用户,以及连接此用户的方法心得  https://blog.csdn.net/jiaruochao/article/details/52128719

    用终端输入dbca调出下面的那个界面

    成功的以创建 了一个oracle数据库实例

    在创建的过程中遇见的问题:由于默认的数据库的文件存储的位置一般是选择图中是选项,但是自己当选了默认的之后,再后面的步骤中一直无法走动,提示空间至少要1080但是只有985MB,所以自己返回又直接的将数据文件的存储的位置更改为   用户的/  也就是根目录下,之后可以到了最后的界面

    自己解锁一个普通用户

     自己在带gonme的centos的终端下操作:

    使用netca命令调出listener.ora配置文件的配置界面

    [root@localhost admin]# netca
    
    Oracle Net Services Configuration:
    Stopping Oracle Net Listener:
        Running Listener Control: 
          /data/oracle/product/11.2.0/bin/lsnrctl stop LISTENER
        Listener Control complete.
        Listener stopped successfully.
        Deleted listener: LISTENER
    Configuring Listener:LISTENER
    Listener configuration complete.
    Oracle Net Listener Startup:
        Running Listener Control: 
          /data/oracle/product/11.2.0/bin/lsnrctl start LISTENER
        Listener Control complete.
        Listener started successfully.
    Oracle Net Services configuration successful. The exit code is 0
    

      调出的界面:

    之后先把已经存在的listener监听delete了,

    已经存在的listener.ora中的内容为

    [root@localhost admin]# more listener.ora
    # listener.ora Network Configuration File: /data/oracle/product/11.2.0/network/admin/li
    stener.ora
    # Generated by Oracle configuration tools.
    
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        )
      )
    
    ADR_BASE_LISTENER = /data/oracle

    用下面的netca调出的界面更改之后 的内容为:

    netca调出的界面:这个是针对listener.ora文件进行配置更改,删除,增加的一个管理界面

     

    [root@localhost admin]# more listener.ora
    # listener.ora Network Configuration File: /data/oracle/product/11.2.0/network/admin/li
    stener.ora
    # Generated by Oracle configuration tools.
    
    LISTENER =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.27.102)(PORT = 1521))
      )
    
    ADR_BASE_LISTENER = /data/oracle
    

      当用这个管理界面配置完毕之后,不用lsnrctl stop、lsnrctl start去重新的启动监听,因为会自动的重启,见上面的netca调出的界面保存之后显示

    [root@localhost admin]# netca
    
    Oracle Net Services Configuration:
    Stopping Oracle Net Listener:
        Running Listener Control: 
          /data/oracle/product/11.2.0/bin/lsnrctl stop LISTENER
        Listener Control complete.
        Listener stopped successfully.
        Deleted listener: LISTENER
    Configuring Listener:LISTENER
    Listener configuration complete.
    Oracle Net Listener Startup:
        Running Listener Control: 
          /data/oracle/product/11.2.0/bin/lsnrctl start LISTENER
        Listener Control complete.
        Listener started successfully.
    Oracle Net Services configuration successful. The exit code is 0
    

      

     之后直接在centos的终端下可以成功的连接到orcl这个数据库实例了

    成功的结果如下:这个相当于在本地的客户端上去连接指定的orcl数据库

    之后在window10远程客户端连接centos上的orcl数据库

    具体的tnsnames.ora文件

    xnjCentos1=                                                                                          
      (DESCRIPTION =                                                  
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.27.102)(PORT = 1521))
        (CONNECT_DATA =                                               
          (SERVER = DEDICATED)                                        
          (SERVICE_NAME = orcl)                                      )                                                             
      )

     远程登录成功

     

    下面的转自:https://www.cnblogs.com/mmzs/p/9033112.html     

    作者 :淼淼之森

    纯的命令行的centos 7   安装Oracle11g的过程

    、0、下载Orcle11G

     

    说明一下:
    [root@myYUn install]#中的myYUn
    等价于
    [root@iz2f570bi1k56uz install]#中的iz2f570bi1k56uz;
    这是为了界面效果调整的,但是有些没调整到,理解一哈。

    1、上传文件到服务器或虚拟机的/install目录下

    [root@myYUn install]# rz –y

    如果rz –y命令不能使用,可用如下方法解决

    yum install lrzsz -y

    2、解压文件到当前目录:

    [root@myYUn install]# unzip linux.x64_11gR2_database_1of2.zip

    [root@myYUn install]# unzip linux.x64_11gR2_database_2of2.zip

    如果unzip命令不能使用,依次执行如下命令:

         yum list | grep zip/unzip
    
         yum install zip
    
         yum install unzip 

    将解压后的文件夹直接移动到/software目录下:

    [root@myYUn install]# mv database/ /software/

    [root@myYUn install]# cd /software

    [root@myYUn install]# ll

     

    3、关闭selinux

    [root@myYUn software]# vim /etc/selinux/config

    设置SELINUX=disabled

    [root@myYUn software]# setenforce 0

    4、关闭防火墙

    查看系统版本

    [root@myYUn software]# cat /etc/redhat-release

    CentOS Linux release 7.3.1611 (Core)

    [root@myYUn software]# getconf LONG_BIT

    64

    如果是6及以下:

    [root@myYUn software]# service iptables stop

    [root@myYUn software]# service iptables status

    [root@myYUn software]# chkconfig iptables off

    如果是centenOS7:

    [root@myYUn software]# systemctl restart firewalld.service

    [root@myYUn software]# systemctl list-unit-files|grep firewalld.service

    firewalld.service                             disabled

    [root@myYUn software]# systemctl disable firewalld.service

    5、安装Oracle 11g依赖包

    [root@myYUn software]# yum install gcc make binutils gcc-c++ compat-libstdc++-33elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-develnumactl-devel sysstat unixODBC unixODBC-devel pcre-devel –y

    6、添加安装用户和用户组

    [root@myYUn software]# groupadd oinstall

    [root@myYUn software]# groupadd dba

    [root@myYUn software]# useradd -g oinstall -G dba oracle

    [root@myYUn software]# passwd oracle

    Changing password for user oracle.

    New password:

    BAD PASSWORD: The password is shorter than 8 characters

    Retype new password:

    passwd: all authentication tokens updated successfully.

    [root@myYUn software]# id oracle

    uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)

    7、修改内核参数配置文件

    [root@myYUn software]# vim /etc/sysctl.conf

    在末尾添加以下内容:

    复制代码
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmall = 2097152
    kernel.shmmax = 1073741824
    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 = 1048576 
    复制代码

    查看是否成功写进/etc/sysctl.conf文件中:

    [root@myYUn software]# sysctl -p

    其中kernel.shmmax = 1073741824为本机物理内存(2G)的一半,单位为byte。

    8、修改用户的限制文件

    修改/etc/security/limits.conf文件:

    [root@myYUn software]# 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 

    修改/etc/pam.d/login文件:

    [root@myYUn software]# vim /etc/pam.d/login

    在末尾添加以下内容:

    session required  /lib64/security/pam_limits.so
    session required   pam_limits.so 

    修改/etc/profile文件:

    [root@ myYUn software]# vim /etc/profile

    在末尾添加以下内容:

    复制代码
    #oracle配置
    if [ $USER = "oracle" ]; then
      if [ $SHELL = "/bin/ksh" ]; then
          ulimit -p 16384
          ulimit -n 65536
      else
          ulimit -u 16384 -n 65536
      fi
    fi 
    复制代码

    9、创建安装目录和设置文件权限

    [root@myYUn software]# mkdir -p /data/oracle/product/11.2.0

    [root@myYUn software]# mkdir /data/oracle/oradata

    [root@myYUn software]# mkdir /data/oracle/inventory

    [root@myYUn software]# mkdir /data/oracle/fast_recovery_area

    [root@myYUn software]# chown -R oracle:oinstall /data/oracle

    [root@myYUn software]# chmod -R 775 /data/oracle

    10、设置oracle用户环境变量

    首先切换到oracle用户下:

    [root@myYUn software]# su -l oracle

    [oracle@myYUn ~]$ vim .bash_profile

    在末尾添加如下内容:

    ORACLE_BASE=/data/oracle

    ORACLE_HOME=$ORACLE_BASE/product/11.2.0

    ORACLE_SID=orcl

    PATH=$PATH:$ORACLE_HOME/bin

    export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

    注意,标红处必须与创建的数据库实例名称一致,否则数据库启动后无法访问。第一次配置完记得source一下。

    [oracle@myYUn ~]$ source .bash_profile

    11、编辑静默安装响应文件

    复制安装文件夹response到当前oracle用户的家目录下:

    [oracle@myYUn ~]$ cp -R /software/database/response/ .

    [oracle@myYUn ~]$ cd response/

    [oracle@myYUn response]$ vim db_install.rsp

    需要设置的选项如下:

    oracle.install.option=INSTALL_DB_SWONLY

    ORACLE_HOSTNAME=CentOS

    UNIX_GROUP_NAME=oinstall

    INVENTORY_LOCATION=/data/oracle/inventory

    SELECTED_LANGUAGES=en,zh_CN

    ORACLE_HOME=/data/oracle/product/11.2.0

    ORACLE_BASE=/data/oracle

    oracle.install.db.InstallEdition=EE

    oracle.install.db.DBA_GROUP=dba

    oracle.install.db.OPER_GROUP=dba

    DECLINE_SECURITY_UPDATES=true

    12、根据响应文件静默安装Oracle11g

    [oracle@myYUn response]$ cd /software/database/

    [oracle@myYUn database]$ ./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq

    如果执行以上命令出错,会提示有参数格式,按照提示参数格式修改修改即可,一般是由于word中的字体、符号格式复制到客户端命令行后不一致引起,修改即可。

    楼主遇到了交换空间不足的问题:

    解决方案如下(在root用户下执行):

    [root@myYUn /]# free

    [root@myYUn /]# dd if=/dev/zero of=swapfile bs=1024 count=500000

    500000+0 records in

    500000+0 records out

    512000000 bytes (512 MB) copied, 1.67013 s, 307 MB/s

    [root@myYUn /]# mkswap swapfile

    Setting up swapspace version 1, size = 499996 KiB

    no label, UUID=c5e355eb-e73e-4aa0-b882-cb6d1f88e6bc

    [root@myYUn /]# swapon swapfile

    swapon: /swapfile: insecure permissions 0644, 0600 suggested.

    [root@myYUn /]# free

    开始Oracle在后台静默安装。安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在后台进行,如果出现Successfully Setup Software,则安装程序已经停止了。

    可以在以下位置找到本次安装会话的日志:/data/oracle/inventory/logs/installActions2018-05-13_02-14-55PM.log

    可以切换终端执行top命令查看后台进程一直是在安装的,/data目录也在不断增大,

    当出现以下提示时,代表安装成功:

    按照要求执行脚本。

    打开终端,退出到root身份登录,执行脚本:

    [oracle@iZ2f570bi1k56uZ database]$ exit

    logout

    [root@iZ2f570bi1k56uZ software]# sh /data/oracle/inventory/orainstRoot.sh

    Changing permissions of /data/oracle/inventory.

    Adding read,write permissions for group.

    Removing read,write,execute permissions for world.

    Changing groupname of /data/oracle/inventory to oinstall.

    The execution of the script is complete.

    [root@iZ2f570bi1k56uZ software]# sh /data/oracle/product/11.2.0/root.sh

    Check /data/oracle/product/11.2.0/install/root_iZ2f570bi1k56uZ_2018-05-13_14-25-04.log for the output of root script

  • 相关阅读:
    codevs 2149 矩形周长
    codevs 3044 矩形面积求并
    codevs 1293 送给圣诞夜的极光
    codevs 2806 红与黑
    codevs 1536 海战
    codevs 1262 不要把球传我
    codevs 2606 约数和问题
    BZOJ 2301 problem b
    BZOJ 3994 约数个数和
    codevs 1173 最优贸易
  • 原文地址:https://www.cnblogs.com/isme-zjh/p/11459771.html
Copyright © 2011-2022 走看看