神舟通用数据库

1 安装

有其他博主说:要使用jdk1.8,并把神通装在C盘,否则可能会有问题。
本人未亲测,留言以作示警。

1.1 前提

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

1.2 安装

版本:v7.0

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

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

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

1.3 遇到的问题

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

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

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

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

但无法解决神通代理服务的启动,代理服务起不来貌似没啥影响。。。

总结:应该是和license授权有关系,无license或license过期都无法启动吧。
试用版的license不知道有效期是多久,不知道卸载重装可不可以继续试用,有机会了再研究。
在这里插入图片描述

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中文');

在这里插入图片描述

3.1.3 创建用户

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

CREATE USER test_user WITH PASSWORD 'test_user';

在这里插入图片描述
再次执行建表语句,建在了当前登录的用户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. 使用新用户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中文');

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

4.3.2.1 表空间:
-- 创建表空间
CREATE TABLESPACE NETSEAL_7_DATA
DATAFILE 'NETSEAL_7_DATA.DBF' SIZE 500M
AUTOEXTEND ON NEXT  100M 
MAXSIZE UNLIMITED;

-- 修改表空间

-- 删除表空间:表空间有数据时不能删除
DROP TABLESPACE NETSEAL_7_DATA;

4.3.2.2 用户:
-- 创建用户:方式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;
4.3.2.3 表:
-- 创建表:
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';
4.3.2.4 索引:
-- 创建索引:
-- 删除索引:
4.3.2.5 查询类:
-- 查询指定用户的信息
SELECT * FROM all_tables WHERE OWNER = 'NETSEAL_7_USER';

-- 查询指定表空间的信息
SELECT * FROM all_tables WHERE TABLESPACE_NAME = 'NETSEAL_7_DATA';

4.4 版本

在这里插入图片描述

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

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值