Oracle的安装以及一些相关问题

系列文章目录

Oracle的安装以及一些相关问题


文章目录


前言

一段时间没更新,主要最近一直在找工作,最终还是顺着春招找到工作了,现在已经入职一周了,以后可能会开个专栏记录一些工作中的bug。

因为公司使用oracle数据库,所以这周搞了不少oracle的东西,现在记录一下。


一、Oracle的安装

为了方便练习,我在本地用Docker装了一个Oracle用作学习。

我们搜索镜像,直接找下载量最高的。

直接下载比较慢且文件比较大,网络不好可以选择换源或者开个魔法。

bash 复制代码
docker pull iatebes/oracle_11g

之后创建容器并且进入修改配置。

bash 复制代码
docker run -d --name oracle11g -p 1521:1521 iatebes/oracle_11g
docker exec -it oracle11g  bash
# 修改root密码
passwd
# 切换oracle用户
su - oracle
# 匿名登录
sqlplus /nolog
# dba登录
conn /as sysdba
# 添加用户
alter user sys identified by sys;

之后就可以正常使用了,因为仅作练习环境,故不做持久化存储。

之后使用dbeaver进一下连接测试就可以了。

二、常用命令

bash 复制代码
# 启动oracle
startup
# 停止oracle
shutdown immediate;
# 强制停止
shutdown abort;
# 监听
lsnrctl start
lsnrctl stop
lsnrctl status

三、误删dbf

oracle依靠dbf存储,要删除数据,需要先删除表空间在删除底层的dbf数据文件,顺序不能错,如果先删除了dbf会导致表空间不可用也不可删除。

修复方法

bash 复制代码
# 关闭数据库
shutdown immediate
# 进入挂载模式
startup mount
# 删除dbf元数据
alter database datafile 'xxx.dbf' offline drop;
# 打开数据库
alter database open;
# 删除表空间
drop tablespace xxx including contents and datafiles;
# 重启oracle
shutdown immediate
startup

四、PLSQL乱码

这个是由于电脑环境和oracle环境字符集不匹配造成的。我们需要将数据库和环境统一。

查看数据库编码。

bash 复制代码
select * from V$NLS_PARAMETERS

公司用的是gbk系列的。

然后将设置新的环境变量

因为公司使用虚拟环境办公所以很多命令和截图没法展示。

五、oracle更换数据库字符集

bash 复制代码
# 登录
sqlplus / as sysdba
# 关闭数据库
shutdown immediate
# 进入mount
startup mount
# 设置session
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
# 打开数据库
alter database open;
# 修改字符集
ALTER DATABASE character set INTERNAL_USE xxx;
# 重启数据库
shutdown immediate
startup mount

总结

这次就写到这,我以往是按照章节来写博客,以后可能会相对更新多一些但更杂一些,看具体情况吧。

相关推荐
典孝赢麻崩乐急4 分钟前
Redis复习----------Redis超高性能的原因
数据库·redis·学习·缓存
腾讯云开发者4 分钟前
腾讯技术面:聊聊MySQL五大核心模块
数据库·mysql
Albert Edison8 分钟前
【MySQL】事务管理
数据库·mysql
l1t11 分钟前
DeepSeek对利用DuckDB求解Advent of Code 2021第9题“烟雾盆地”第二部分SQL的分析
数据库·人工智能·sql·递归·duckdb·deepseek·cte
gjc59215 分钟前
MySQL无主键大表删除导致主从同步延迟的深度分析
数据库·mysql
汪不止15 分钟前
【 分布式唯一业务单号生成方案:Redis + 数据库双保险架构】
数据库·redis·分布式
典孝赢麻崩乐急15 分钟前
Redis复习-------Redis事务
数据库·redis·缓存
Gofarlic_OMS17 分钟前
通过MathWorks API实现许可证管理自动化
大数据·数据库·人工智能·adobe·金融·自动化·区块链
橘子真甜~17 分钟前
Reids命令原理与应用3 - Redis 主线程,辅助线程与存储原理
网络·数据库·redis·缓存·线程·数据类型·存储结构
杨了个杨898227 分钟前
Rsyslog + MySQL 实现日志集中存储
数据库·mysql