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