002多端协议传输平台:配置Oracle数据库-19c及导入数据信息
文章目录
- 002多端协议传输平台:配置Oracle数据库-19c及导入数据信息
- 1. 数据库准备
- 2. 导入sql脚本
- 2.1 原版Oracle-11g脚本
- 2.2 新版Oracle-19c脚本
- 2.3 命令行导入脚本
- 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脚本
-- 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_opLOGGING DATAFILE '/opt/oracle/oradata/ORCLCDB/ts_seckeymng_op.dbf' SIZE 200MEXTENT 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 USERSACCOUNT 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.SEQiIDBEFORE INSERT ON SECMNG.TRANfor each row
beginselect 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脚本
-- 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_opLOGGING DATAFILE '/opt/oracle/oradata/ORCLCDB/ts_seckeymng_op.dbf' SIZE 200MEXTENT 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 USERSACCOUNT 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.SEQiIDBEFORE INSERT ON c##SECMNG.TRANfor each row
beginselect 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脚本
--删除电脑中的数据库信息
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;