• 神舟通用数据库


    1 安装

    1.1 前提

    前提:系统已安装jdk,以防万一,配置上环境变量吧。否则报错如下图:
    在这里插入图片描述

    1.2 安装

    安装流程按照指引即可,此处只列重要步骤。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    使用默认数据库名和端口,其他信息也用默认的。
    在这里插入图片描述

    按指引操作安装结束后,可以在服务里看到有两个服务:代理服务和OSRDB实例服务,第一次手动启动?。
    在这里插入图片描述

    1.3 遇到的问题

    1. 【暂未解决】虚拟机安装神通最后一步报错,像是卸载程序没安装成功。不知道是不是因为这影响了服务的启动。
      在这里插入图片描述

    2. 【暂未解决】神通数据库代理服务服务无法启动,报1053
      在这里插入图片描述

    3.【已解决】 神通数据库OSRDB实例,启动后即停止
    在查看了正常启动的服务,发现C:\shentong下共有36个文件,而不能正常启动的服务下,只有34个。
    对比之下发现少了jre和license目录。

    解决办法:拷贝安装包下的jre和license至安装目录C:\shentong下,重启虚拟机,会发现OSRDB实例自动启动了。

    但无法解决神通代理服务的启动,代理服务起不来貌似没啥影响。。。
    在这里插入图片描述

    2 建数据库实例

    2.1 自带工具创建

    建库前,需要先停掉其他正在运行的实例,例如默认OSRDB数据库。
    以防万一,以管理员身份运行数据库配置工具。

    创建NETSEAL_7数据库实例,创建完需要手动启动该实例。
    每一个新创建的数据库实例,都有3个默认管理员,第一次登录一般用sysdba登录。登录后再创建用户,即可用新用户登录。
    在这里插入图片描述
    填写数据库名、端口号
    在这里插入图片描述

    后续流程按照指引即可。

    2.2 Dbeaver连接

    在这里插入图片描述

    3 实地演练

    3.1 sysdba用户SQL初测试

    谁登录,表就会建到谁下。所以不建议sysdba登录建表。


    3.1.1 连接

    连接工具连接:因为是多实例,连接时必须指定要连接的数据库,用有权限访问的用户进行登录;

    例如dbeaver:

    使用默认用户sysdba,默认密码szoscar55,登录默认创建的第一个实例OSRDB数据库。

    在这里插入图片描述

    3.1.2 建表并插入数据

    连接后即可执行SQL,默认表创建在登录的用户下。

    CREATE TABLE Test
    (
        ID				NUMBER(19)			NOT NULL,
        NAME			VARCHAR2(100)	    NOT NULL,
        CONSTRAINT PK_SEAL_CONFIG PRIMARY KEY(ID)
    );
    INSERT INTO Test VALUES(1,'test中文');
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    3.1.3 创建用户

    该用户只存在于当前实例下。不可跨实例使用。
    在OSRDB里创建的用户,可以建表,这个权限不知道怎么来的。
    在其他实例里,用户好像需要赋予权限。

    CREATE USER test_user WITH PASSWORD 'test_user';
    
    • 1

    在这里插入图片描述
    再次执行建表语句,建在了当前登录的用户test_user下。
    在这里插入图片描述

    3.2 指定表空间建用户建表

    神通数据库是多实例,我们可以直接使用默认的OSRDB实例,也可以自行创建一个实例。

    此处使用自己创建的实例NETSEAL_7,创建流程见上文章节2。

    步骤分为:sysdba连接——建表空间——建用户并授权——新用户连接——新用户建表

    3.2.1 连接

    1. 先用sysdba用户登录,密码szoscar55
      在这里插入图片描述
    2. 创建3个表空间和1个用户

    创建表空间NETSEAL_7_DATA、NETSEAL_7_TEMP、 NETSEAL_7_INDEX;

    创建用户NETSEAL_7,密码NETSEAL_7,并赋予sysdba角色;

    用户和数据存到表空间NETSEAL_7_DATA,索引存到表空间NETSEAL_7_INDEX ,临时文件存到表空间NETSEAL_7_TEMP;

    -- 用sysdba创建表空间和用户,再用新用户建表
    CREATE TABLESPACE NETSEAL_7_DATA DATAFILE 'NETSEAL_7_DATA.DBF' SIZE 500M
    AUTOEXTEND ON NEXT  100M MAXSIZE UNLIMITED;
    
    CREATE TABLESPACE NETSEAL_7_TEMP DATAFILE 'NETSEAL_7_TEMP.DBF' SIZE 500M
    AUTOEXTEND ON NEXT  100M MAXSIZE UNLIMITED;
    
    CREATE TABLESPACE NETSEAL_7_INDEX DATAFILE 'NETSEAL_7_INDEX.DBF' SIZE 500M
    AUTOEXTEND ON NEXT  100M MAXSIZE UNLIMITED;
    
    CREATE USER NETSEAL_7 WITH PASSWORD 'NETSEAL_7' DEFAULT TABLESPACE NETSEAL_7_DATA;
    GRANT ROLE SYSDBA TO USER NETSEAL_7;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    1. 使用新用户NETSEAL_7登录
      注:dbeaver连接切用户时,一定要断开重连,否则还是上一个用户。
      在这里插入图片描述

    3.2.2 建表

    切记,表会建在登录的用户下!!!

    CREATE TABLE Test
    (
        ID				NUMBER(19)			NOT NULL,
        NAME			VARCHAR2(100)	    NOT NULL,
        CONSTRAINT PK_SEAL_CONFIG PRIMARY KEY(ID) USING INDEX TABLESPACE NETSEAL_7_INDEX
    ) TABLESPACE NETSEAL_7_DATA;
    INSERT INTO Test VALUES(1,'test中文');
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    4. 基础知识

    4.1 架构

    在这里插入图片描述

    创建数据库实例时,默认创建4个表空间,3个用户,7个角色:
    表空间:SYSTEM、TEMP、AUDIT、UNDOTS01,创建的用户、数据等,若无指定均存储在SYSTEM表空间里;
    用户:sysdba、sysaudit、syssecure,密码均为szoscar55,谐音“神州奥斯卡55”;
    角色:SYSDBA、AUDIT、ADUIT_OPER、SECURE、SECURE_OPER、RESOURCE、EXTERNAL_AUTH;

    4.2 字段定义

    4.2.1 所有

    按字段顺序排列:
    bigint、binary、bit、blob、bool、
    char、clob、
    date、decimal、double precision、
    float、
    int、interval year to month、interval day to second、
    numeric、
    real、
    serial、smallint、
    text、time、timestamp、tinyint、
    varbinary、varchar、xmltype

    4.2.2 常用的

    描述字段描述字段
    小数值int字符char
    大数值bigint时间戳timestamp
    小数numeric日期data
    字符串varchar文本text

    4.2.3 兼容情况

    建表时的兼容情况:
    number(19),自动转为numeric(19)
    varchar2(n),自动转为varchar(n)

    4.2.4 敏感情况

    表名:不敏感;
    字段名:不敏感;
    字段值:敏感;

    4.3 常见命令

    4.3.1 命令行操作

    注意大小写和分号问题!!!

    默认用户登录:

    isql -h “10.20.61.61” -d NETSEAL_7 -p 2004;
    在这里插入图片描述

    指定用户登录,报错了???
    在这里插入图片描述

    4.3.2 SQL

    表空间:

    -- 创建表空间
    CREATE TABLESPACE NETSEAL_7_DATA
    DATAFILE 'NETSEAL_7_DATA.DBF' SIZE 500M
    AUTOEXTEND ON NEXT  100M 
    MAXSIZE UNLIMITED;
    
    -- 修改表空间
    
    -- 删除表空间:表空间有数据时不能删除
    DROP TABLESPACE NETSEAL_7_DATA;
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    用户:

    -- 创建用户:方式1: 仅指定密码,需要额外授权;
    CREATE USER NETSEAL_7 WITH PASSWORD 'NETSEAL_7';
    -- 创建用户:方式2
    CREATE USER NETSEAL_7 WITH PASSWORD 'NETSEAL_7' ROLE SYSDBA;
    -- 创建用户:方式3
    CREATE USER NETSEAL_7 WITH PASSWORD 'NETSEAL_7' DEFAULT TABLESPACE NETSEAL_7_DATA;
    
    -- 用户授权:
    GRANT ROLE SYSDBA TO USER NETSEAL_7;
    
    -- 修改密码:
    alter user test_usr with password 'test_change'
    
    -- 删除用户
    DROP USER NETSEAL_7;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    表:

    -- 创建表:
    CREATE TABLE Test
    (
        ID				BIGINT			NOT NULL,
        NAME			VARCHAR(100)	    NOT NULL,
        CONSTRAINT PK_SEAL_CONFIG PRIMARY KEY(ID)
    );
    INSERT INTO Test VALUES(1,'test中文');
    
    -- 删除表:
    DROP TABLE test;
    DROP TABLE test CASCADE CONSTRAINTS;
    
    -- 查询表空间里的表,拼成删除SQL展示
    SELECT 'DROP TABLE ' || TABLE_NAME || ' CASCADE CONSTRAINTS;' V_NAME
      FROM all_tables
     WHERE TABLESPACE_NAME = 'NETSEAL_7_DATA';
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    索引:

    -- 创建索引:
    -- 删除索引:
    
    • 1
    • 2

    查询类:

    -- 查询指定用户的信息
    SELECT * FROM all_tables WHERE OWNER = 'NETSEAL_7_USER';
    
    -- 查询指定表空间的信息
    SELECT * FROM all_tables WHERE TABLESPACE_NAME = 'NETSEAL_7_DATA';
    
    • 1
    • 2
    • 3
    • 4
    • 5

    4.4 版本

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    解读教育机器人的中人工智能思维
    记一个src中危-图像大小与请求参数可修改
    解Bug之路-应用999线升高
    FFmpeg开发笔记(三十三)分析ZLMediaKit对H.264流的插帧操作
    网络编程TCP/UDP通信
    vue-router的安装和使用
    MyBatis
    一文1500字手把手教你Jmeter如何压测数据库【保姆级教程】
    FreeRTOS的学习(四)—— 信号量之间的优先级翻转问题和互斥信号量
    利用Java EE相关技术实现一个简单的Web聊天室系统
  • 原文地址:https://blog.csdn.net/qq_42873640/article/details/125496696