002数据安全传输-多端协议传输平台:配置Oracle数据库-19c及导入数据信息

002多端协议传输平台:配置Oracle数据库-19c及导入数据信息

文章目录

  • 002多端协议传输平台:配置Oracle数据库-19c及导入数据信息
    • [1. 数据库准备](#1. 数据库准备)
    • [2. 导入sql脚本](#2. 导入sql脚本)
      • [2.1 原版Oracle-11g脚本](#2.1 原版Oracle-11g脚本)
      • [2.2 新版Oracle-19c脚本](#2.2 新版Oracle-19c脚本)
      • [2.3 命令行导入脚本](#2.3 命令行导入脚本)
    • [3. 删除系统中数据库信息sql脚本](#3. 删除系统中数据库信息sql脚本)

1. 数据库准备

修改超级管理员密码

登录Centos,并切换root账户

su - root

从root账户切换到oracle账户

su - oracle

链接数据库

sqlplus / as sysdba

更改密码

alter user sys identified by 123456;

超级管理员:SYS

用户密码:123456

Navicat中使用sys用户登录

2. 导入sql脚本

2.1 原版Oracle-11g脚本

原版的黑马脚本使用的是Oracle11g,导入脚本的时候报错,原因是在19c中,用户名需要以c##开头,因此需要修改脚本中对应的用户名字。除此以外在19c中还需要给表空间赋予用户配额


原版Oracle-11g的sql脚本

sql 复制代码
-- 01 创建表空间
-- 注意表空间的路径 根据实际安装环境进行调整
-- /opt/oracle/oradata/ORCLCDB是我自己安装在CentOS8上的Oracle的数据目录

CREATE TABLESPACE ts_seckey_admin 
    LOGGING  
    DATAFILE '/opt/oracle/oradata/ORCLCDB/ts_seckeymng_admin.dbf' SIZE 50M 
    EXTENT MANAGEMENT LOCAL;


CREATE TABLESPACE ts_seckey_op
    LOGGING 
    DATAFILE '/opt/oracle/oradata/ORCLCDB/ts_seckeymng_op.dbf' SIZE 200M
    EXTENT MANAGEMENT LOCAL;

-- 如果表不够了自动扩充50m    
ALTER DATABASE DATAFILE '/opt/oracle/oradata/ORCLCDB/ts_seckeymng_admin.dbf' AUTOEXTEND ON NEXT   50M MAXSIZE UNLIMITED;
ALTER DATABASE DATAFILE '/opt/oracle/oradata/ORCLCDB/ts_seckeymng_op.dbf' AUTOEXTEND ON NEXT  200M MAXSIZE UNLIMITED; 

commit;


-- 02 创建方案 (创建用户)
CREATE USER SECMNG  PROFILE DEFAULT 
    IDENTIFIED BY SECMNG DEFAULT TABLESPACE USERS
    ACCOUNT UNLOCK;

-- 资源和登录权限
GRANT resource TO SECMNG;
GRANT create session TO SECMNG;


-- 创建 网点信息表 --编号 名称 描述 授权码 状态(0可用  1不可用)
CREATE TABLE SECMNG.SECNODE(
	id     				char(4) PRIMARY KEY, 
	name     			VARCHAR2(128) NOT NULL,
 	nodedesc      		VARCHAR2(512),
 	createtime			date,
 	authcode			NUMBER(12),
 	state     			NUMBER(4)
)TABLESPACE ts_seckey_admin;

INSERT INTO SECMNG.secnode VALUES('0001', 'Internet Banking Center', 'New York Finance Street', '15-July-2023', 1, 0);
INSERT INTO SECMNG.secnode VALUES('1111', 'California Branch', 'Winema Cmn', '15-July-2023', 1111, 0);
commit;

-- 创建 网点密钥表, 客户端网点 服务器端网点 密钥号 密钥产生时间 密钥状态 
CREATE TABLE SECMNG.SECKEYINFO(
	clientid          	char(4) constraint secmng_seckeynode_clientid_fk references SECMNG.SECNODE(id),
	serverid          	char(4) constraint secmng_seckeynode_serverid_fk references SECMNG.SECNODE(id),
	keyid            	NUMBER(9) PRIMARY KEY, 
	createtime			date,
	state				NUMBER(4),
	seckey				VARCHAR2(512)
)TABLESPACE ts_seckey_admin;

--创建索引 在新的表空间上
CREATE  INDEX SECMNG.IX_SECKEYINFO_clientid ON SECMNG.SECKEYINFO(clientid) TABLESPACE ts_seckey_admin;

commit;


-- keysn序列号
CREATE TABLE SECMNG.KEYSN(
	ikeysn 		number(12)  PRIMARY KEY
) TABLESPACE ts_seckey_admin;

INSERT INTO SECMNG.KEYSN(ikeysn) VALUES (1);
commit;


CREATE TABLE SECMNG.SRVCFG(
	key				VARCHAR2(64),
	valude			VARCHAR2(128)
)TABLESPACE ts_seckey_admin;
	
-- 创建 交易信息表 交易者 交易时间 交易事件 交易描述 (什么人 在什么时间 干了什么事)
CREATE TABLE SECMNG.TRAN(
	iID					Number(12) PRIMARY KEY,
 	tran_operator     	NUMBER,
 	trantime			date,
 	tranid          	NUMBER(4),
 	trandesc      		VARCHAR2(512)	
)TABLESPACE ts_seckey_op;


-- 创建索引
CREATE INDEX SECMNG.IX_TRAN_tran_operator ON SECMNG.TRAN(tran_operator) TABLESPACE ts_seckey_op;

-- 创建触发器 自增字段
CREATE SEQUENCE SECMNG.SEQiID INCREMENT BY 1 START WITH 1 
    MAXVALUE 1.0E28 MINVALUE 1 NOCYCLE 
    CACHE 20 NOORDER;
    
CREATE OR REPLACE TRIGGER SECMNG.SEQiID
  BEFORE INSERT ON SECMNG.TRAN
    for each row
begin
    select SECMNG.SEQiID.nextval into :new.iID from dual;
end;
/


INSERT INTO SECMNG.TRAN(tran_operator, trantime, tranid, trandesc) VALUES(1, '15-7月-15', 1, '创建网银总节点-测试数据');

commit;

------停止-----
-- 04创建新用户方案 	通过 SECMNGUSER1 来访问数据库, 让管理终端系统用   
CREATE USER "SECMNGADMIN"  PROFILE "DEFAULT" IDENTIFIED BY "123456" DEFAULT TABLESPACE "USERS" ACCOUNT UNLOCK;

GRANT "CONNECT" TO "SECMNGADMIN";
GRANT SELECT ANY TABLE TO "SECMNGADMIN";

GRANT resource TO SECMNGADMIN;
GRANT create session TO SECMNGADMIN;


GRANT DELETE ON SECMNG.SRVCFG TO "SECMNGADMIN";
GRANT INSERT ON SECMNG.SRVCFG TO "SECMNGADMIN";
GRANT UPDATE ON SECMNG.SRVCFG TO "SECMNGADMIN";


GRANT DELETE ON SECMNG.SECNODE TO "SECMNGADMIN";
GRANT INSERT ON SECMNG.SECNODE TO "SECMNGADMIN";
GRANT UPDATE ON SECMNG.SECNODE TO "SECMNGADMIN";

GRANT DELETE ON SECMNG.SECKEYINFO TO "SECMNGADMIN";
GRANT INSERT ON SECMNG.SECKEYINFO TO "SECMNGADMIN";
GRANT UPDATE ON SECMNG.SECKEYINFO TO "SECMNGADMIN";

GRANT DELETE ON SECMNG.TRAN TO "SECMNGADMIN";
GRANT INSERT ON SECMNG.TRAN TO "SECMNGADMIN";
GRANT UPDATE ON SECMNG.TRAN TO "SECMNGADMIN";

commit;

    
 
-- Insert Into SECMNG.SECKEYINFO(clientid, serverid, keyid, createtime, state, seckey)
-- values ('1111', '0001', 1, to_date('2015-07-14 21:09:09', 'yyyy-mm-dd hh24:mi:ss'), 0, 'zzz')  ;

2.2 新版Oracle-19c脚本

sql 复制代码
-- 01 创建表空间
-- 注意表空间的路径 根据实际安装环境进行调整
-- /opt/oracle/oradata/ORCLCDB是我自己安装在CentOS8上的Oracle的数据目录

CREATE TABLESPACE ts_seckey_admin 
    LOGGING  
    DATAFILE '/opt/oracle/oradata/ORCLCDB/ts_seckeymng_admin.dbf' SIZE 50M 
    EXTENT MANAGEMENT LOCAL;


CREATE TABLESPACE ts_seckey_op
    LOGGING 
    DATAFILE '/opt/oracle/oradata/ORCLCDB/ts_seckeymng_op.dbf' SIZE 200M
    EXTENT MANAGEMENT LOCAL;

-- 如果表不够了自动扩充50m    
ALTER DATABASE DATAFILE '/opt/oracle/oradata/ORCLCDB/ts_seckeymng_admin.dbf' AUTOEXTEND ON NEXT   50M MAXSIZE UNLIMITED;
ALTER DATABASE DATAFILE '/opt/oracle/oradata/ORCLCDB/ts_seckeymng_op.dbf' AUTOEXTEND ON NEXT  200M MAXSIZE UNLIMITED; 

commit;


-- 02 创建方案 (创建用户)
CREATE USER c##SECMNG  PROFILE DEFAULT 
    IDENTIFIED BY SECMNG DEFAULT TABLESPACE USERS
    ACCOUNT UNLOCK;

-- 资源和登录权限
GRANT resource TO c##SECMNG;
GRANT create session TO c##SECMNG;
ALTER USER c##SECMNG QUOTA UNLIMITED ON ts_seckey_admin;
ALTER USER c##SECMNG QUOTA UNLIMITED ON ts_seckey_op;
ALTER USER c##SECMNG QUOTA UNLIMITED ON USERS;

-- 创建 网点信息表 --编号 名称 描述 授权码 状态(0可用  1不可用)
CREATE TABLE c##SECMNG.SECNODE(
	id     				char(4) PRIMARY KEY, 
	name     			VARCHAR2(128) NOT NULL,
 	nodedesc      		VARCHAR2(512),
 	createtime			date,
 	authcode			NUMBER(12),
 	state     			NUMBER(4)
)TABLESPACE ts_seckey_admin;

INSERT INTO c##SECMNG.secnode VALUES('0001', 'Internet Banking Center', 'New York Finance Street', '15-July-2023', 1, 0);
INSERT INTO c##SECMNG.secnode VALUES('1111', 'California Branch', 'Winema Cmn', '15-July-2023', 1111, 0);
commit;

-- 创建 网点密钥表, 客户端网点 服务器端网点 密钥号 密钥产生时间 密钥状态 
CREATE TABLE c##SECMNG.SECKEYINFO(
	clientid          	char(4) constraint c##secmng_seckeynode_clientid_fk references c##SECMNG.SECNODE(id),
	serverid          	char(4) constraint c##secmng_seckeynode_serverid_fk references c##SECMNG.SECNODE(id),
	keyid            	NUMBER(9) PRIMARY KEY, 
	createtime			date,
	state				NUMBER(4),
	seckey				VARCHAR2(512)
)TABLESPACE ts_seckey_admin;

--创建索引 在新的表空间上
CREATE  INDEX c##SECMNG.IX_SECKEYINFO_clientid ON c##SECMNG.SECKEYINFO(clientid) TABLESPACE ts_seckey_admin;

commit;


-- keysn序列号
CREATE TABLE c##SECMNG.KEYSN(
	ikeysn 		number(12)  PRIMARY KEY
) TABLESPACE ts_seckey_admin;

INSERT INTO c##SECMNG.KEYSN(ikeysn) VALUES (1);
commit;


CREATE TABLE c##SECMNG.SRVCFG(
	key				VARCHAR2(64),
	valude			VARCHAR2(128)
)TABLESPACE ts_seckey_admin;
	
-- 创建 交易信息表 交易者 交易时间 交易事件 交易描述 (什么人 在什么时间 干了什么事)
CREATE TABLE c##SECMNG.TRAN(
	iID					Number(12) PRIMARY KEY,
 	tran_operator     	NUMBER,
 	trantime			date,
 	tranid          	NUMBER(4),
 	trandesc      		VARCHAR2(512)	
)TABLESPACE ts_seckey_op;


-- 创建索引
CREATE INDEX c##SECMNG.IX_TRAN_tran_operator ON c##SECMNG.TRAN(tran_operator) TABLESPACE ts_seckey_op;

-- 创建触发器 自增字段
CREATE SEQUENCE c##SECMNG.SEQiID INCREMENT BY 1 START WITH 1 
    MAXVALUE 1.0E28 MINVALUE 1 NOCYCLE 
    CACHE 20 NOORDER;
    
CREATE OR REPLACE TRIGGER c##SECMNG.SEQiID
  BEFORE INSERT ON c##SECMNG.TRAN
    for each row
begin
    select c##SECMNG.SEQiID.nextval into :new.iID from dual;
end;
/


INSERT INTO c##SECMNG.TRAN(tran_operator, trantime, tranid, trandesc) VALUES(1, '15-July-2023', 1, 'Create Internet Banking Boss Node - Test Data');

commit;

------停止-----
-- 04创建新用户方案 	通过 SECMNGUSER1 来访问数据库, 让管理终端系统用   
CREATE USER "c##SECMNGADMIN"  PROFILE "DEFAULT" IDENTIFIED BY "123456" DEFAULT TABLESPACE "USERS" ACCOUNT UNLOCK;

GRANT "CONNECT" TO "c##SECMNGADMIN";
GRANT SELECT ANY TABLE TO "c##SECMNGADMIN";

GRANT resource TO "c##SECMNGADMIN";
GRANT create session TO "c##SECMNGADMIN";


GRANT DELETE ON c##SECMNG.SRVCFG TO "c##SECMNGADMIN";
GRANT INSERT ON c##SECMNG.SRVCFG TO "c##SECMNGADMIN";
GRANT UPDATE ON c##SECMNG.SRVCFG TO "c##SECMNGADMIN";


GRANT DELETE ON c##SECMNG.SECNODE TO "c##SECMNGADMIN";
GRANT INSERT ON c##SECMNG.SECNODE TO "c##SECMNGADMIN";
GRANT UPDATE ON c##SECMNG.SECNODE TO "c##SECMNGADMIN";

GRANT DELETE ON c##SECMNG.SECKEYINFO TO "c##SECMNGADMIN";
GRANT INSERT ON c##SECMNG.SECKEYINFO TO "c##SECMNGADMIN";
GRANT UPDATE ON c##SECMNG.SECKEYINFO TO "c##SECMNGADMIN";

GRANT DELETE ON c##SECMNG.TRAN TO "c##SECMNGADMIN";
GRANT INSERT ON c##SECMNG.TRAN TO "c##SECMNGADMIN";
GRANT UPDATE ON c##SECMNG.TRAN TO "c##SECMNGADMIN";

commit;

    
 
-- Insert Into SECMNG.SECKEYINFO(clientid, serverid, keyid, createtime, state, seckey)
-- values ('1111', '0001', 1, to_date('2015-07-14 21:09:09', 'yyyy-mm-dd hh24:mi:ss'), 0, 'zzz')  ;

2.3 命令行导入脚本

@/opt/oracle/oradata/ORCLCDB/oracle-centos.sql


画面极度舒爽...


3. 删除系统中数据库信息sql脚本

sql 复制代码
--删除电脑中的数据库信息
drop TABLE c##SECMNG.TRAN;
drop TABLE c##SECMNG.SRVCFG;
drop TABLE c##SECMNG.KEYSN;
drop TABLE c##SECMNG.SECKEYINFO;
drop TABLE c##SECMNG.SECNODE;
drop user c##SECMNG cascade;
drop user "c##SECMNGADMIN" cascade;
DROP TABLESPACE ts_seckey_admin INCLUDING CONTENTS AND DATAFILES; 
DROP TABLESPACE ts_seckey_op INCLUDING CONTENTS AND DATAFILES;
相关推荐
迦南的迦 亚索的索3 分钟前
PYTHON_DAY20_数据库
数据库·oracle
数厘13 分钟前
2.14 sql数据删除(DELETE、TRUNCATE)
数据库·oracle
XDHCOM25 分钟前
MySQL ER_ERROR_ENABLING_KEYS报错修复,远程处理索引启用失败故障,解决数据表锁定与性能瓶颈问题
数据库·mysql
高梦轩28 分钟前
Python 操作 MySQL 数据库
数据库·oracle
Arva .30 分钟前
Redis 数据类型
数据库·redis·缓存
CDN36035 分钟前
高防切换后网站打不开?DNS 解析与回源路径故障排查
前端·网络·数据库
笑我归无处1 小时前
Redis和数据库的数据一致性问题研究
数据库·redis·缓存
水痕011 小时前
使用sqlSugar来操作mysql数据库
数据库·mysql
zandy10111 小时前
衡石科技 HENGSHI SENSE:一站式智能分析平台,让企业数据价值“所见即所得”
大数据·数据库·科技
fly spider1 小时前
MySQL日志篇
数据库·mysql