IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> centos7安装19c 并定时备份恢复数据 -> 正文阅读

[大数据]centos7安装19c 并定时备份恢复数据

下载oracle19c
https://www.oracle.com/database/technologies/oracle-database-software-downloads.html
找到对应版本下载 然后上传到服务器/opt目录下
在这里插入图片描述

进入opt目录

下载依赖包:

wget http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

安装包 yum localinstall 方式 从本机目录安装软件包 并自动安装相关依赖

yum localinstall -y oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
yum localinstall -y oracle-database-ee-19c-1.0-1.x86_64.rpm

安装完成:

总计:6.9 G
安装大小:6.9 G
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : oracle-database-ee-19c-1.0-1.x86_64                                                                                                  1/1 
[INFO] Executing post installation scripts...
[INFO] Oracle home installed successfully and ready to be configured.
To configure a sample Oracle Database you can execute the following service configuration script as root: /etc/init.d/oracledb_ORCLCDB-19c configure
  验证中      : oracle-database-ee-19c-1.0-1.x86_64                                                                                                  1/1 

已安装:
  oracle-database-ee-19c.x86_64 0:1.0-1                                                                                                                  

完毕!

此时 安装完了之后现在只是安装上了oracle软件,但是还没有数据库
我们要创建数据库
在这里创建数据库有两种方式一种是它安装完给的方法执行这个脚本
还有一种是在桌面环境下的终端里执行输入dbca会弹出可视化的安装界面
我们用脚本安装数据

修改配置文件

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

创建并启动oracle实例 等待Oracle数据库执行初始化操作即可

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

增加环境变量

vim /etc/profile.d/oracle19c.sh
# 添加以下内容
export  ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export  PATH=$PATH:/opt/oracle/product/19c/dbhome_1/bin
export  ORACLE_SID=ORCLCDB
#使环境变量生效
source /etc/profile

修改oracle 用户密码

passwd oracle

使用Oracle登录进行相关的处理

su oracle

登入oracle 进行相关操作

sqlplus / as sysdba

查看pdb信息

show pdbs

如果重启服务器 启动oracle服务

SQL> startup

启动监听器

cd $ORACLE_HOME/bin

lsnrctl start

如果报错:

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 30-MAR-2022 14:46:36

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

Starting /opt/oracle/product/19c/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 19.0.0.0.0 - Production
NL-00280: error creating log stream /opt/oracle/product/19c/dbhome_1/network/log/listener.log
 NL-00278: cannot open log file
  SNL-00016: snlfohd: error opening file
   Linux Error: 13: Permission denied

Listener failed to start. See the error message(s) above...

查看目录 /opt/oracle/product/19c/dbhome_1/network/log 是否有权限
修改权限:

chmod -R 777 /opt/oracle/product/19c/dbhome_1/network/log

配置开机自启
需要先修改一下 oracle 的启动脚本配置:

vi /etc/oratab

ORCLCDB:/opt/oracle/product/19c/dbhome_1:N
# 改为
ORCLCDB:/opt/oracle/product/19c/dbhome_1:Y

然后设置一下 数据库的启动命令

vi /usr/bin/oracle.sh  

增加的内容为: 

#! /bin/bash 

#  script  For oracle19c.service

/opt/oracle/product/19c/dbhome_1/bin/lsnrctl start

/opt/oracle/product/19c/dbhome_1/bin/dbstart /opt/oracle/product/19c/dbhome_1

然后设置这个文件的读写权限

chmod 777 /usr/bin/oracle.sh

设置一个 oracle19c.service

vi /etc/systemd/system/oracle19c.service
# 添加以下内容
[Unit]
Description=Oracle19c
After=syslog.target network.target
[Service]
LimitMEMLOCK=infinity
LimitNOFILE=65535
Type=oneshot
RemainAfterExit=yes
User=oracle
Environment="ORACLE_HOME=/opt/oracle/product/19c/dbhome_1"
ExecStart=/usr/bin/oracle.sh
[Install]
WantedBy=multi-user.target

设置开机自动启动

systemctl enable oracle19c

重启测试

reboot
systemctl status oracle19c

创建用户:
确保再CDB环境下

select name,cdb from v$database;

建用户

create user C##remote identified by 123456789;

配置权限

SQL> grant connect,resource,create indextype,create job,create sequence,create session,create table,create view,create procedure,unlimited tablespace,insert any table,select any table,update any table,delete any table to C##remote;

删除用户

drop user C##REMOTE cascade;

如果删除报 ORA-01940提示 “无法删除当前已连接用户”
处理方式:

# 先锁定用户 unlock 解锁
alter user C##REMOTE account lock;
# 查询进程号
select saddr,sid,serial#,paddr,username,status from v$session where username = 'C##REMOTE';
# 删除对应的进程
alter system kill session'391,2314';
# 在删除用户
drop user C##REMOTE cascade;

注意:
使用navicat链接
sid 添加 ORCLCDB

权限介绍:
(1)Connect 角色,是授予最终用户的典型权利,最基本的权利,能够连接到ORACLE数据库中
(2)Resource 角色,是授予开发人员的,能在自己的方案中创建表、序列、视图等。
(3)DBA角色,是授予系统管理员的,拥有该角色的用户就能成为系统管理员了,它拥有所有的系统权限。
unlimited tablespace 如果不给此权限 则不能使用表空间报下边的异常
对于普通用户,如果操作表时报错“[Err] ORA-01950: 对表空间 ‘xxx’ 无权限”,需要执行一下语句

alter user c##sl3 quota unlimited on 表空间名;

expdb数据泵方式备份数据

# 创建目录 存储备份文件
mkdir -p /opt/databack/expdp_dmp
# 赋予777权限
chmod -R 777 databack
# 切换oracle用户
su oracle
# 进入oracle
sqlplus / as sysdba

# 创建dmp导出目录 
create directory expdp_dmp as '/opt/databack/expdp_dmp'
# 查看是否创建成功
select * from dba_directories
# 为创建的目录赋权限 如果用sysdba账户备份则不需要此步 目录名 to 需要赋值的用户名(比如该用户需要备份自己的数据)
grant read,write on directory expdp_dmp to C##remote;
# 退出sqlplus
exit;
# 执行备份 此账号只能备份自己表空间
expdp C##remote/123456789@ORCLCDB directory=expdp_dmp dumpfile=C##remote20220331.dmp logfile=C##remote20170417.log

# 恢复数据
impdp C##remote/123456789@ORCLCDB directory=expdp_dmp dumpfile=C##remote20220331.dmp

全库导出 使用system用户操作 需在oracle用户下进行

# 切换oracle用户
su oracle
# 使用 sys用户登录sqlplus 操作
ALTER USER SYSTEM IDENTIFIED BY "123456789";
# 退出 使用system用户登录 测试修改是否成功
sqlplus system/123456789@ORCLCDB

导出可有多种方式
1、“full=y”,全量导出导入数据库

# 全量导出
expdp system/123456789@ORCLCDB dumpfile=full.dmp directory=expdp_dmp full=y logfile=full.log

# 全量导入
impdp system/123456789@ORCLCDB dumpfile=full.dmp directory=expdp_dmp full=y

2、schemas按用户导出 导入

# 导出schemas
expdp system/123456789@ORCLCDB schemas=C##remote dumpfile=C##remote.dmp directory=expdp_dmp logfile=C##remote.log

# 同名用户导入,从用户A导入到用户A
impdp system/123456789@ORCLCDB schemas=C##remote dumpfile=C##remote.dmp directory=expdp_dmp logfile=impdp.log;

3、按表空间导出

# 查看当前用户默认表空间
select username,default_tablespace from user_users;
# 查看全部表空间
select tablespace_name from dba_tablespaces;
# 查看全部用户
select username from dba_users;

# 按表空间导出
expdp system/123456789@ORCLCDB tablespaces=USERS dumpfile=USERS_tablespace220332.dmp directory=expdp_dmp logfile=USERS220332.log

# 导入表空间
impdp system/123456789@ORCLCDB tablespaces=USERS directory=expdp_dmp dumpfile=USERS_tablespace220332.dmp logfile=impdp.log

导出表 多个表用逗号 table1,table2

# 导出表 注意:使用用户账号导出自己的表
expdp C##remote/123456789@ORCLCDB tables=USER dumpfile=USER.dmp directory=expdp_dmp logfile=USER.log

# 导入表

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 00:08:39  更:2022-04-01 00:10:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:48:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码