Linux(Redhat8.4 )安装Oracle 19c

下载RPM包

借鉴转载大佬博客:https://www.cnblogs.com/linkenpark/p/11896139.html

rpm包百度盘地址:链接:https://pan.baidu.com/s/1sBM-8DCor9pViQvcgEY2QA
提取码:nvs9

安装

# 安装依赖组件
yum -y install libnsl 

# cd 到存放rpm包目录中
yum -y install compat-libcap1-1.10-7.el7.x86_64.rpm
yum -y install compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
yum -y install oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
yum -y install  oracle-database-ee-19c-1.0-1.x86_64.rpm

初始化

/etc/init.d/oracledb_ORCLCDB-19c configure

添加oracle环境变量

编辑 /etc/profile,添加如下内容

## ORACLE
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export ORACLE_SID=ORCLCDB

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:$ORACLE_HOME/bin

启动Oracle

/etc/init.d/oracledb_ORCLCDB-19c start 

连接oracle

su oracle
sqlplus / as sysdba

数据库简单命令

--  查看当前的所有数据库
select name from v$database;

-- 查看当前库结构
desc v$database;

-- 查看SID
select instance_name from v$instance;

-- 查看服务名
select name from dba_services;

-- 查看当前库的所有数据表
select TABLE_NAME from all_tables;

-- 查看用户
select * from dba_users; --查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,system
select * from all_users;  --查看你能管理的所有用户!
select * from user_users; --查看当前用户信息 !

-- 创建用户
create user 用户名 identified by 密码;
/*
common user:公共用户名必须以C##或c##开头。公共用户可以访问全部CDB

local user: 本地用户不能以C##或c##开头。本地用户只能访问特定的PDB
*/

-- 给用户修改密码,密码不能以数字开头
alter user 用户名 identified by 新密码;


-- 给用户分配权限
grant create 权限 to 用户名;

/*
create session(登录权限)
create table(创建表权限)
create index(创建索引权限)
create view(创建视图权限)
create sequence(创建序列权限)
create trriger(创建触发器权限)
insert: 增
delete: 删
update: 改
select: 查
*/

-- 按角色对用户分配权限
grant 角色名 to 用户名;

/*
常见角色:
dba、connect、resource


-- connect角色
是授予最终用户的典型权利,最基本的权利,能够连接到Oracle数据库中,并在对其他用户的表有访问权限时,做SELECT、UPDATE、INSERTT等操作。
alter session --修改会话
create cluster --建立聚簇
create database link --建立数据库连接
create sequence --建立序列
create session --建立会话
create synonym --建立同义词
create view --建立视图

-- resoure角色
是授予开发人员的,能在自己的方案中创建表、序列、视图等。
create cluster --建立聚簇
create procedure --建立过程
create sequenc --建立序列
create table --建表
create trigger --建立促发器
create type --建立类型

DBA角色
是授予系统管理员的,拥有该角色的用户就能成为系统管理员了,它拥有所有的系统权限。
*/


-- 回收权限
revoke 权限/角色 from 用户名;
-- 创建表
CREATE TABLE STUINFO (
    id NUMBER(5) PRIMARY KEY,
    name VARCHAR2(7) NOT NULL,
    age NUMBER(2) NULL,
    sex CHAR(1) NULL,
    grade CHAR(4) NULL 
)

-- 插入一条记录
INSERT INTO STUINFO (ID, NAME, AGE, SEX, GRADE) VALUES
(1, 'lily', 12, 'f', 'c6');

-- 批量插入
INSERT ALL
	INTO STUINFO VALUES(2, 'kemen', 12, 'm', 'c6') 
	INTO STUINFO VALUES(3, 'kaka', 11, 'm', 'c5')
	INTO STUINFO VALUES(4, 'daly', 13, 'f', 'c6')
select 1 from dual;

SELECT * from STUINFO;

设置oracle服务自启

已经提供一个服务控制脚本:/etc/init.d/oracledb_ORCLCDB-19c
名字太长,可以改为:/etc/init.d/oracle

  • 配置 /etc/oratab 下面这行的 “N” 改为"Y"
ORCLCDB:/opt/oracle/product/19c/dbhome_1:Y
  • 添加到系统服务
chkconfig --add oracle #这里的oracle名同 /etc/init.d/oracle 这个目录oracle名。
# 可以看到生成的启动脚本
cat /run/systemd/generator.late/graphical.target.wants/oracle.service 

# Automatically generated by systemd-sysv-generator

[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/rc.d/init.d/oracle
Description=SYSV: This script is responsible for taking care of configuring the Oracle Database and its associated services.
Before=multi-user.target
Before=multi-user.target
Before=multi-user.target
Before=graphical.target

[Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
ExecStart=/etc/rc.d/init.d/oracle start
ExecStop=/etc/rc.d/init.d/oracle stop

其它

lsnrctl是oracle的监听器,
lsnrctl start
lsnrctl stop
lsnrctl satus
  • 手动正常关闭oracle服务方法:
su oracle
sqlplus / as sysdba

shutdown immediate;

/rc.d/init.d/oracle stop

## 其它
```bash
lsnrctl是oracle的监听器,
lsnrctl start
lsnrctl stop
lsnrctl satus
  • 手动正常关闭oracle服务方法:
su oracle
sqlplus / as sysdba

shutdown immediate;
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值