oracle 數據庫RPM安裝方式


下載RPM包

Oracle Database Software Downloads 下載Linux x86-64 對應的RPM
oracle-database-ee-19c-1.0-1.x86_64.rpm
oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
compat-libcap1-1.10-7.el7.x86_64.rpm
compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

安裝

# 安裝依賴組件
yum -y install libnsl 

cd 下載目錄
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

連接數據

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
# 可以看到生成的啟動腳本
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;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM