oracle19.3安装和配置

环境:

  • window server 2019
  • oracle19c
  • navicat15.0.11
  • pl/sql developer 14.0.1 x64位
  • .net framework4.5
  • .netcore 3.1

oracle安装文件:
链接:https://pan.baidu.com/s/1jrD2Mg3gMPZp_btI-GtMXg
提取码:hnpt

一、安装oracle19.3

安装包如下,大小为2.98G:
在这里插入图片描述
将它解压到c盘:
oracle19.3安装和配置_第1张图片
双击setup.exe进行安装:
oracle19.3安装和配置_第2张图片

oracle19.3安装和配置_第3张图片
oracle19.3安装和配置_第4张图片
oracle19.3安装和配置_第5张图片
因为密码设的太简单,下面弹出了警告框,直接点确定即可:
oracle19.3安装和配置_第6张图片
oracle19.3安装和配置_第7张图片

点击安装,下面等的时间要长,大概半小时:
oracle19.3安装和配置_第8张图片
oracle19.3安装和配置_第9张图片
看到上图说明安装成功了,点击关闭即可!

验证安装是否成功:
安装完毕后,打开命令行:
sqlplus /nolog
oracle19.3安装和配置_第10张图片

连按两次ctrl+c即可退出。
然后测一下tns联通性:
oracle19.3安装和配置_第11张图片

也可以登录web页面:https://localhost:5500/em/login
oracle19.3安装和配置_第12张图片

oracle19.3安装和配置_第13张图片

还可以查看下window服务:
oracle19.3安装和配置_第14张图片
此时,我们先来检查下listener.ora和tnsnames.ora的内容(这两个文件的位置可以从上面tnsping命令中看出来):
listener.ora:
oracle19.3安装和配置_第15张图片
tnsnames.ora:
oracle19.3安装和配置_第16张图片

二、使用navicate链接:

oracle19.3安装和配置_第17张图片

由于使用sys用户,所以需要在高级里设置以sysdba身份登录:
oracle19.3安装和配置_第18张图片
然后测试链接:
oracle19.3安装和配置_第19张图片
链接后如下:
oracle19.3安装和配置_第20张图片

三、使用pl/sql developer链接

oracle19.3安装和配置_第21张图片

oracle19.3安装和配置_第22张图片

四、修改配置文件,启用远程访问

4.1 修改oracle服务器的配置文件

找到对应位置的listener.ora和tnsnames.ora文件,在里面添加针对静态ip的监听和服务(实验的静态ip是:192.168.3.39):

  • listener.ora
    oracle19.3安装和配置_第23张图片
  • tnsnames.ora
    oracle19.3安装和配置_第24张图片

然后,重启Oracle服务和监听:
oracle19.3安装和配置_第25张图片

4.2 使用navicat连接oracle服务器

换一个计算机(不用安装oracle客户端),使用navicat进行连接,如下:
navicate:

oracle19.3安装和配置_第26张图片

4.3 使用pl/sql developer连接oracle服务器

虽然navicat可以在不安装Oracle客户端的情况下连接到oracle服务器,但这不代表pl/sql developer也可以。。。
下载oracle客户端:
地址:https://www.oracle.com/database/technologies/instant-client/downloads.html
oracle19.3安装和配置_第27张图片
下载后如下:
在这里插入图片描述
将它解压到d盘即可:
oracle19.3安装和配置_第28张图片
然后,从oracle服务器拷贝tnsnames.ora文件到这个目录,如下:
oracle19.3安装和配置_第29张图片

然后,打开pl/sql developer,配置目录和oci.dll路径:
oracle19.3安装和配置_第30张图片
配置完成后重启pl/sql developer,输入连接信息如下:
oracle19.3安装和配置_第31张图片
点击确定后:
oracle19.3安装和配置_第32张图片
看到这里,说明已经连接成功了。

五、c#连接oracle

新建.net 45控制台程序,安装Oracle.ManagedDataAccess包(如果是.netcore程序安装:Oracle.ManagedDataAccess.Core):
oracle19.3安装和配置_第33张图片
编写代码如下:

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Oracle.ManagedDataAccess.Client;

namespace OracleConnect
{
    class Program
    {
        static void Main(string[] args)
        {
            var oracleConnection = new OracleConnection("Data Source=192.168.3.39/ORCL;Password=123456;User ID=sys;DBA Privilege=SYSDBA;");
            oracleConnection.Open();
            var cmd= new OracleCommand("select * from user_users", oracleConnection);
            var adapter = new OracleDataAdapter(cmd);
            var ds = new DataSet();
            adapter.Fill(ds);
            Console.WriteLine($"ds.Tables.Count={ds.Tables.Count},currentUserName={ds.Tables[0].Rows[0]["username"].ToString()}");
            oracleConnection.Close();
            Console.WriteLine("ok");
        }
    }
}

运行如下:
oracle19.3安装和配置_第34张图片

六、关于oracle数据库和实例的关系

在oracle12c之前,数据库和实例是1对多的关系。一般我们开发环境默认安装的话就是一个数据库对应一个实例(多个实例对应一个数据库的情况是RAC),开发的时候就使用表空间区分不同的项目(不同的表空间对应不同的账号),备份还原也是针对的表空间。这一点和sqlserver差别比较大。
看下面的两张图是对oracle和sqlserver的对比:
sqlserver:
oracle19.3安装和配置_第35张图片
oracle:
oracle19.3安装和配置_第36张图片
不过在oracle12c版本中,oracle引入了CDB和PDB的概念,关于这两者的详细介绍可参考:《Oracle 中的12C新特性-容器数据库》,它里面有一段话说的挺好的:

其实大家如果对SQL SERVER比较熟悉的话,这种CDB与PDB是不是感觉和SQL SERVER的单实例多数据库架构是一回事呢。像PDB$SEED可以看成是master、msdb等系统数据库,PDBS可以看成用户创建的数据库。而可插拔的概念与SQL SERVER中的用户数据库的分离、附加其实就是那么一回事。

所以说,在oracle12c以后,Oracle中的单实例也可以对应多个数据库了,需要我们在安装的时候选择“创建为容器数据库”(默认一勾选)。
不过对于开发来说,我们大可不必关心这个概念,仍然通过用户名和表空间区分不同的项目还是挺不错的。。。

七、给项目准备“数据库”

7.1 新建表空间

注:我实验的时候是在服务器上本地连接到oracle服务器的
首先,找到Oracle数据文件的目录,如下:
oracle19.3安装和配置_第37张图片
执行下面语句:
create tablespace data_test datafile 'C:\app\Administrator\oradata\ORCL\data_test1.dbf' size 50M;
在这里插入图片描述
这样一个表空间就创建成功了,可以观察下创建好的文件:
oracle19.3安装和配置_第38张图片

7.2 新建用户

执行下面的语句:
create user test1 identified by 123456 default tablespace data_test;
oracle19.3安装和配置_第39张图片

7.3 给用户授权

执行如下命令:
grant connect, resource to test1;
oracle19.3安装和配置_第40张图片
授权之后,我们就可以进行操作了。

oracle19.3安装和配置_第41张图片
连接后,先来个查询:
oracle19.3安装和配置_第42张图片
接下来,创建表、视图:

你可能感兴趣的:(数据库)