2024年运维最全Oracle 部署及基础使用

1. Oracle 简介

Oracle Database,又名 Oracle RDBMS,简称 Oracle Oracle系统,即是以Oracle关系数据库为数据存储和管理作为构架基础,构建出的数据库管理系统。是目前最流行的客户/服务器(client/server)或B/S体系结构的数据库之一,比如 SilverStream 就是基于数据库的一种中间件。Oracle 数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系型数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能,只要在一种机型上学习了 操作Oracle 的知识,便能在各种类型的机器上使用它。

名词了解

f5fff16a339e479c98474620b033412c.jpg
数据文件(dbf)
数据文件是数据库的物理存储单位,而表空间 TableSpace 则是数据库的逻辑组成部分。数据库的数据是存储在表空间中的,而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。
表空间
表空间是 Oracle 对物理数据库上相关数据文件(ORA 或者 DBF 文件)的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为 system 表空间)。每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据库文件(datafile)。一个数据文件只能属于一个表空间。
用户
用户是在实例下建立的。不同实例中可以建相同名字的用户。注意!表的数据,是由用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。由于 Oracle 的数据库不是普通的概念,oracle 是由用户和表空间对数据进行管理和存放的。但是表不是由表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!
1600135725454050.png

关于数据库语言的分类

DDL:数据库定义语言:create、drop
DML:数据库的操作语言:insert、update、delete
DQL:数据库的查询语言:select
DCL:数据库的控制语言:grant、revoke

2. docker 部署 Oracle

2.1 拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

2.2 启动容器

docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
docker ps 查看容器启动成功
image.png

2.3 配置

# 进入oracle容器环境中 
docker exec -it oracle11g bin/bash
# 切换到 oracle 数据库的 root 用户下(密码为:helowin) 
su root
# 编辑 profile 文件
vi /etc/profile
# 添加 ORACLE 环境变量参数后保存退出
export ORACLE\_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE\_SID=helowin
export PATH=$ORACLE\_HOME/bin:$PATH
# 创建软连接
ln -s $ORACLE\_HOME/bin/sqlplus /usr/bin
# 配置文件生效
source ~/.bash_profile
# 切换到 oracle 用户
su - oracle 

su - oracle    #相当于重新登陆,此时用户的环境变量等信息会发生改变
su oracle      #切换到oracle身份后用户的环境变量仍然是原先用户的环境变量

image.png

2.4 登录

依次输入
sqlplus /nolog
conn /as sysdba
image.png

2.5 设置密码

将 system 和 sys 两个账户的密码设为 123456

alter user system identified by 123456;
alter user sys identified by 123456;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

解锁 scott 用户,同时将其密码设置为 123456

alter user scott account unlock;
alter user scott identified by 123456;
commit;

配置完毕后,连续执行多个 exit 即可退出容器。

2.6 连接测试

使用 Navicat 连接下部署好的 Oracle 数据库,连接成功即可。image.png

3. Oracle 基础使用

常用命令

3.1 控制
# 登陆 sqlplus:
sqlplus /nolog

# 使用 sysdba 连接 oracle:
connect /as sysdba

# 使用自定义 u1 连接 oracle:
connect u1 /123456

# 开启数据库:
startup

# 关闭数据库:
shutdown immediate;

# 查看数据库状态:
select * from v$instance;

# 监听状态($ORACLE\_HOME/bin):
lsnrctl status

# 开启监听:
lsnrctl start

# 关闭监听:
lsnrctl stop

3.2 查询
# 查询当前数据库: 
select name from v$database;

# 查询数据库名:
select name,dbid from v$database;

# 查询当前实例名: 
select instance_name from v$instance;

# 查询表空间:
select default_tablespace, d.username from dba_users d;

# 查看数据库用户:
select * from dbs_users;

# 查询表空间路径:
select status,fuzzy,tablespace_name,name from v$datafile\_header;

# 显示当前连接用户:
show user;

# 显示系统下所有用户:
select * from all_users;



为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**

![](https://img-blog.csdnimg.cn/img_convert/ff26533a20e7d3f277f81e2aaadd8c0f.png)

本份面试集锦涵盖了

*   **174 道运维工程师面试题**
*   **128道k8s面试题**
*   **108道shell脚本面试题**
*   **200道Linux面试题**
*   **51道docker面试题**
*   **35道Jenkis面试题**
*   **78道MongoDB面试题**
*   **17道ansible面试题**
*   **60道dubbo面试题**
*   **53道kafka面试**
*   **18道mysql面试题**
*   **40道nginx面试题**
*   **77道redis面试题**
*   **28道zookeeper**

**总计 1000+ 道面试题, 内容 又全含金量又高**

*   **174道运维工程师面试题**

> 1、什么是运维?

> 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

> 3、现在给你三百台服务器,你怎么对他们进行管理?

> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点

> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

> 7、Tomcat和Resin有什么区别,工作中你怎么选择?

> 8、什么是中间件?什么是jdk?

> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?

> 10、什么叫CDN?

> 11、什么叫网站灰度发布?

> 12、简述DNS进行域名解析的过程?

> 13、RabbitMQ是什么东西?

> 14、讲一下Keepalived的工作原理?

> 15、讲述一下LVS三种模式的工作过程?

> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
制延迟?

> 17、如何重置mysql root密码?

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 20
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle ADG(Active Data Guard)是Oracle数据库的一个特性,用于实现数据库的高可用性和灾难恢复。 在Oracle ADG运维中,有几个重要的任务需要完成。 首先,需要确保ADG配置的正确性。ADG是通过将主数据库的redo日志传输到备用数据库来实现的,因此需要确保主数据库和备用数据库之间的网络连接正常,并且redo传输配置正确。此外,还需要监控主数据库和备用数据库的状态,确保它们都正常运行。 其次,需要定期进行备用数据库的健康检查。这包括检查备用数据库的数据和结构与主数据库的一致性,检查备用数据库的性能是否正常,并定期进行备份和恢复测试,以确保备用数据库能够在主数据库发生故障时进行顺利切换。 另外,还需要关注备用数据库的容量和性能管理。备用数据库通常需要与主数据库保持一致的数据量和性能,因此需要及时进行容量规划和性能调优,以满足业务需求。 此外,还需要注意数据库的安全性。ADG配置中通常包括主备数据库之间的数据传输,因此需要确保数据的传输是安全的,可以采取一些安全措施,如加密数据传输等。 最后,备用数据库的监控和报警也是ADG运维的重要任务。需要及时关注备用数据库的性能指标和运行状态,并设置合适的监控和报警规则,以便在发生异常情况时能及时采取措施进行处理。 综上所述,Oracle ADG运维需要确保ADG配置的正确性,完成备用数据库的健康检查、容量和性能管理,注意数据库的安全性,以及进行监控和报警。通过有效的运维,可以保证数据库的高可用性和灾难恢复能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值