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,重启数据库,重新连接数据库,可以成功连接,问题解决。

原文地址:https://www.cnblogs.com/xinfang520/p/7741647.html