zoukankan      html  css  js  c++  java
  • SQL记录-Linux CentOS配置ORACLE 12c

    1.准备LIINX软件包

    操作系统:centos7

    虚拟机:VMware 12

    JDK:1.8

    数据库:oracle 12c

    2.配置基础环境

    2.1 部署虚拟机VM(过程略)

    2.2 部署操作系统Centos(过程略)

    2.3 配置NAT网络环境

    #网络适配器为NAT模式

    #VM虚拟机-编辑-虚拟网络编辑器-添加VMnet8节点,配置NAT模式网段:子网-192.168.66.0,网关-192.168.66.2

    #设置centos静态IP配置(/etc/sysconfig/network-scripts/ifcfg-ens33 )

    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=no
    IPV6_AUTOCONF=no
    IPV6_DEFROUTE=no
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens33
    UUID=7ea5375c-4db2-4132-9df9-dfe79362f31c
    DEVICE=ens33
    ONBOOT=yes
    GATEWAY=192.168.66.2
    PADDR=192.168.66.68
    NETMASK=255.255.255.0
    DNS1=192.168.66.2
    

    #关闭防火墙:systemctl stop firewalld.service    systemctl disable firewalld.service

    #关闭SLinux安全控制

    #vim /etc/selinux/config
    #SELINUX=enforcing #注释掉
    #SELINUXTYPE=targeted #注释掉
    SELINUX=disabled #增加
    :wq! #保存退出
    #setenforce 0 #使配置立即生效
    

    #将有线网或无线网共享给vmnet8(网络连接右键-属性-共享)

    #ping www.baidu.com  测试网络是否连通

    3.配置JDK

    #mkdir /usr/app   新建目录

    #上传并解压软件包到/usr/app,使用mv更名为jdk1.8.0

    #配置/etc/profile

    vim /etc/profile
    #set java environment  
    export JAVA_HOME=/usr/app/jdk1.8.0
    export JRE_HOME=/usr/app/jdk1.8.0/jre  
    export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib  
    export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin  
    export JAVA_HOME JRE_HOME CLASS_PATH PATH 
    
    #source /etc/profile  立即生效
    #java  -version   测试JDK环境是否正常
    

    4.创建oracle相关用户和组

    #groupadd dba 创建组别
    #groupadd oinstall #创建组别
    #useradd -g oinstall -G dba -m oracle 添加用户并指定组别
    #id oracle 查看用户的组别信息
    uid=500(oracle) gid=501(oinstall) groups=501(oinstall),500(dba)
    #passwd oracle 设置登录密码
    

    5.创建oracle软件安装目录

    #df -TH 查看挂载情况,保证至少有60GB的空间,显存2.5GB以上
    #mkdir /usr/app/oracle/oracle -p
    #mkdir /usr/app/oracle/oraInventory  -p
    #mkdir /usr/app/oracle/database  -p
    #chown -R oracle. /usr/app/oracle 授予组别和拥有者
    #chmod 755 -R /usr/app/oracle 授权相关权限
    #ls -ll /usr/app/oracle 查看组别是否为oinstall,拥有者是否为oracle
    

    6.上传oracle安装包

    #使用xftp上传到/usr/app/oracle/database下,并使用tar zxvf或unzip进行解压

    #chown -R oracle. /usr/app/oracle 授予组别和拥有者

    #chmod 755 -R /usr/app/oracle 授权相关权限

    7.配置oracle环境

    vim /etc/profile
    export ORACLE_BASE=/usr/app/oracle/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1
    export ORACLE_SID=ORCL
    export ORACLE_TERM=xterm
    export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
    if [ $USER = "oracle" ];then
        if [ $SHELL = "/bin/ksh" ];then
            ulimit -p 16384
            ulimit -n 65536
        else
            ulimit -u 16384 -n 65536
        fi
    fi
    #source /ect/profile   立即生效
    

    8.修改内核参数和安全控制

    #vim /etc/sysctl.conf 添加以下内容
    
    kernel.shmmax = 68719476736
    kernel.shmall = 4294967296
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576
    fs.aio-max-nr = 1048576
    net.ipv4.ip_local_port_range = 9000 65500
    fs.file-max = 6815744
    kernel.sem = 250 32000 100 128
    kernel.shmmni = 4096
    
    #sysctl -p  #立即生效
    
    #修改安全限制
    #vim /etc/security/limits.conf文件末尾添加如下内容
    oracle          soft    nproc           2047
    oracle          hard    nproc           16384
    oracle          soft    nofile          4096
    oracle          hard    nofile          65536
    
    #vim /etc/pam.d/login文件,添加以下内容
    session    required     pam_limits.so
    

    9.安装依赖包

    yum install -y gcc gcc-c++ libaio glibc compat-libstdc++-33 elfutils-libelf-devel libaio-devel libgcc libstdc++ libstdc++-devel unixODBC unixODBC-devel glibc-common ksh make sysstat pdksh
    

    10.xshell远程调用xmanager图形安装

    #安装xshell、xmanager系列软件

    #无桌面Linux系统(安装桌面组件)

       yum clean all

       yum groupinstall  "X Window System" -y

       yum groupinstall  "Desktop"

       yum groupinstall  "GNOME Desktop Environment" -y

       yum -y install tigervnc-server

       yum -y install lrzsz scp mlocate

    #xshell会话设置

    #su oracle 切换用户输入密码

    #export DISPLAY=172.20.107.151:0.0 #w查看客户端IP

    #xhost +

    access control disabled,clients can connect from any host

    #gnome-panel  #连接Xmanager进入图形界面(可忽略)

    #进入database目录,执行runInstaller,选择好参数进行安装

    #./runInstaller 执行安装

    #有桌面的LINUX系统

     使用oracle用户登录桌面,执行./runInstaller进行安装,选择安装数据库软件-单个实例进行安装。

    11.dbca新建数据库

    Linux系统新建数据库,需要启动图形界面

    #su oracle 切换用户输入密码

    #export DISPLAY=172.20.107.151:0.0 #w查看客户端IP

    #xhost +

    #dbca    ###勾选enterprise manager

    输入SID、数据库名、system/sys的密码,选择好字符集GBK-Chinese,注意db_block_size块不可更改,根据操作系统固定为8192,对应8k,最大支持单个数据文件32GB,如超出范围,需另加一个数据文件,并指定在同一表空间下。

    12.数据库启动和关闭操作

    #su oracle
    
    #lsnrctl start  启动监听
    
    #lsnrctl status 查看监听状态
    
    #lsnrctl stop 停止监听
    
    #ps -ef | grep ora_  查看oracle进程
    
    #sqlplus /nolog 无密进入超级用户  sqlplus / as sysdba
    
    SQL>connect / as sysdba
    
    SQL>select status from v$instance;#查看实例状态
    
    SQL>select name from v$database; #查看SID
    
    SQL>select name from v$datafile;#查看数据库空间路径
    
    SQL>select member from v$logfile;#查看日志路径
    
    SQL>select * from v$version;#查看版本号
    
    SQL>startup; #开启实例
    
    SQL>shutdown immediate; #关闭实例
    
    SQL>create  tablespace  BIT datafile   '/usr/app/oracle/oracle/oradata/ORCL/BIT01.dbf' size 100M autoextend on  next 100M maxsize unlimited,'/usr/app/oracle/oracle/oradata/ORCL/BIT02.dbf' size 100M autoextend on  next 100M maxsize unlimited;#创建表空间
    
    SQL>create  user  c##bit  identified   by   bit123  default   tablespace BIT;#创建用户
    
    SQL>grant   dba,connect,resource to  c##bit; 授予DBA角色
    

    附录:CDB与PDB一些操作

    附录---CDB与PDB一些操作
    #查看PDB状态
    SELECT con_id,dbid,NAME,OPEN_MODE from v$pdbs;
    
    #更改容器为PDB
    alter session set container=PDBORCL;
    #切换到CDB
    alter session set container=CDB$ROOT;
    
    #查看表空间 SELECT t.tablespace_name FROM dba_tablespaces t; 
    #创建表空间 create tablespace BIT datafile '/usr/app/oracle/oracle/oradata/ORCL/BIT01.dbf' size 100M autoextend 
    on next 100M maxsize unlimited,'/usr/app/oracle/oracle/oradata/ORCL/BIT02.dbf' size 100M autoextend on 
    next 100M maxsize unlimited; 
    #新建用户并授权 
    create user c##bit identified by bit123 default tablespace BIT; 
    GRANT dba,CONNECT,resource TO c##bit; 
    #修改sys和system密码 
    alter user sys identified by 1; 
    alter user system identified by 1; 
    #删除表空间 
    drop tablespace BIT including contents and datafiles ; 
    #删除用户 
    drop user BIT cascade; 
    #关闭PDB 
    alter pluggable database PDBORCL close; 
    #查看所有用户 
    select * from all_users; 
    #开启CDB 
    sqlplus / as sysdba 
    SQL>startup 
    SQL> set linesize 120 
    SQL> select instance_name,status from v$instance; 
    SQL> select name,cdb from v$database; 
    SQL> show con_name 
    SQL> SHUTDOWN IMMEDIATE 
    #开启和关闭PDB 
    SQL> show con_name S
    QL> show pdbs 
    SQL> alter pluggable database pdb1 open; 
    SQL> alter pluggable database pdb1 close; 
    SQL> show pdbs #切换到容器PDB1 
    SQL> alter session set container=pdb1; 
    SQL> SHOW CON_NAME 
    #创建触发器随CDB启动而启动PDB 
    SQL> CREATE OR REPLACE TRIGGER open_pdbs AFTER STARTUP ON DATABASE BEGIN 
    EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN'; END open_pdbs; 
    SQL> SHUTDOWN IMMEDIATE 
    SQL> STARTUP 
    SQL> show pdbs

    如何使用ORACLE客户端连接LINUX ORACLE服务器

    #下载instantclient basic和sqlplus 64bit包,合并解压到D盘

    #设置环境变量

    NLS_LANG:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

    TNS_ADMIN:D:instantclientNETWORKADMIN

    Path:D:instantclient  D:instantclientNETWORKADMIN

    #在D:instantclientNETWORKADMIN新建tnsnames.ora

    # tnsnames.ora Network Configuration File: #D:appAdministratorproduct11.2.0dbhome_1
    etworkadmin	nsnames.ora
    # Generated by Oracle configuration tools.
    
    
    
    BIT68 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.66.68)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = ORCL)
        )
      )
    
    
     
    

    #使用sqldbx或plsql连接

    客户端连接Oracle 12c的时候,报错误:

    ORA-28040: No matching authentication protocol 

    问题原因:

    Oracle 12c的参数SQLNET.ALLOWED_LOGON_VERSION默认等于11。当我们使用11g JDBC之前版本的thin驱动连接的时候,就会报错。

    解决方法:

    在数据库服务器上的network/admin/sqlnet.ora文件添加一行SQLNET.ALLOWED_LOGON_VERSION=8,重启数据库,重新连接数据库,可以成功连接,问题解决。

  • 相关阅读:
    JAVA变量的作用域
    SQLite
    ajax
    浏览器调试
    SQL链接
    Computer
    Sql知识点总结
    Web Socket
    秒杀
    副业
  • 原文地址:https://www.cnblogs.com/xinfang520/p/7741647.html
Copyright © 2011-2022 走看看