首页 > 数据库 >RPM安装的Oracle19c 修改init.ora进行修复以及最简单开机启动Oracle的方法

RPM安装的Oracle19c 修改init.ora进行修复以及最简单开机启动Oracle的方法

时间:2023-07-01 18:02:57浏览次数:45  
标签:opt Oracle19c 启动 oracle init Oracle RPM ora

RPM安装的Oracle19c 修改init.ora进行修复以及最简单开机启动Oracle的方法


背景

今天开始使用自己心的ThinkBook14 的笔记本
因为已经没有了 Linux测试环境供我使用.
所以我就自己准备导入一个最开始的 OpenEuler2203 + Oracle19c的虚拟机.

发现因为当时虚拟机是48G内存, 但是我的笔记本只有32G内存, Oracle启动会失败.
想着非常简单该一下 init.ora就可以了. 
但是发现rpm安装的数据库比较low, 修改起来比较琐碎.
所以想记录一下操作过程, 备忘. 

超找配置文件

查找Oracle的安装目录. 方法主要有两个
1. which oracle
2. env |grep -i oracle

根据路径位置. 可以进行查找基础文件. 
比如我这边使用RPM安装的数据库,默认文件信息:

/opt/oracle/product/19c/dbhome_1/bin/oracle
ORACLE_HOME=/opt/oracle/product/19c/dbhome_1

对应的 init.ora的文件位置为:
/opt/oracle/product/19c/dbhome_1/dbs/init.ora

获取Oracle的配置信息

env |grep -i oracle  
正常安装会有一个 ORACLE_SID的变量.
比如我这边就是
ORACLE_SID=ORA19C

然后根据init.ora 复制新增一个文件 initORA19C.ora
需要注意里面的配置文件其实很多不太对的地方
新增的部分:
enable_pluggable_database=true
# 因为我是PG数据库,但是原来的文件里面是 11.2兼容的, 需要增加, 不然启动会报错
修改的部分:
db_name='ORA19C'
memory_target=4G
processes = 1500
audit_file_dest='/opt/oracle/admin/ORA19C/adump/'
open_cursors=3000
control_files='/opt/oracle/oradata/ORA19C/control01.ctl','/opt/oracle/oradata/ORA19C/control02.ctl'
compatible ='19.0.0'
# 主要要根据具体情况进行设置 memory_target 至少要 4G左右,不然启动不起来.

进行启动和默认修改

Oracle启动默认是使用 spfile的.
需要注意 spfile 其实是二进制的.
pfile(init.ora) 是text文本的. 

启动方式为:
su - oracle
sqlplus / as sysdba

startup pfile=/opt/oracle/product/19c/dbhome_1/dbs/initORA19C.ora

# 启动成功后
create spfile from pfile
# 会覆盖spfile的二进制文件, 第二次就可以正常启动了. 

设置开机启动

systemctl enable --now crond

然后编写一个启动脚本:
su - oracle
vim /home/oracle/startup
填充内容为: 
sqlplus / as sysdba <<EOF
startup
EOF
lsnrctl <<EOF
start
EOF

增加权限 chmod 777 /home/oracle/startup

然后设置开机启动
crontab -e
@reboot su - oracle -c /home/oracle/startup 

# 这应该最简单的 设置Oracle 开机启动的脚本了. 

标签:opt,Oracle19c,启动,oracle,init,Oracle,RPM,ora
From: https://www.cnblogs.com/jinanxiaolaohu/p/17519629.html

相关文章

  • yum安装mysql时出现Public key for mysql-community-common-5.7.42-1.el7.x86_64.rpm
    问题描述:yum安装mysql时出现Publickeyformysql-community-common-5.7.42-1.el7.x86_64.rpmisnotinstalled告警,如下所示:数据库:mysql5.7.42系统:rhel7.31、问题重现[root@leo-mysql-master~]#yuminstall-ymysql-community-serverLoadedplugins:langpacks,product......
  • oracle11gr2笔记(一)
    一,使用scoot用户被锁。解决办法:(http://ciiiso.blog.51cto.com/8779682/1432869/)二,使用root用户登录系统无法sqlplus,提示说permissiondenied.原因为没有source用户oracle下的./bash_profile。解决办法:在.bash_profile里面加上里面的变量。三,无法用root用户登录系统,办法:(http://jingy......
  • oracle startup命令及lsnrctl命令
    启动一个数据库需要三个步骤:1、创建一个Oracle实例(非安装阶段)2、由实例安装数据库(安装阶段)3、打开数据库(打开阶段)在Startup 命令中,可以通过不同的选项来控制数据库的不同启动步骤。  Oracle数据库的完整启动过程分为3个步骤完成的启动实例–>加载数据库–>打开数据库;数......
  • oracle数据库重启命令
    1、oracle服务器重启命令是什么Oracle服务器是面向企业级应用的关系数据库管理系统。在日常使用中,由于各种原因可能需要进行服务器重启。下面是Oracle服务器重启命令的介绍。Oracle服务器重启命令步骤如下:1.先选择好登陆正常的Oracle用户,然后进入Oracle服务器对应的命令行。2.停......
  • centos7使用rpm方式安装mysql
    --使用rpm安装mysql的默认目录:1、数据库目录/var/lib/mysql/2、配置文件/usr/share/mysql(mysql.server命令及配置文件)3、相关命令/usr/bin(mysqladminmysqldump等命令)4、启动脚本/etc/rc.d/init.d/(启动脚本文件mysql的目录) ***********************************************......
  • Oracle CONNECT BY根据特定字符拆分字符串
    1、一行SELECTT.ID,REGEXP_SUBSTR(T.VALS,'[^,]+',1,LEVEL)ASVALFROM(SELECT'101'ID,'A,B'VALSFROMDUAL)TCONNECTBYLEVEL<=REGEXP_COUNT(T.VALS,'[^,]+');2、多行2-1、如果ID唯一不重复:SELECTT.ID,REGEXP_SUBSTR......
  • oracle regexp_replace 去空白符
    1、去空白符SQL:SELECTregexp_replace(STR,'^\s*','*')AS"去掉左边空白符",regexp_replace(STR,'\s*$','*')AS"去掉右边空白符",regexp_replace(STR,'(^\s*)|(\s*$)','*')AS"去掉......
  • 编译python为可执行文件遇到的问题:使用python-oracledb连接oracle数据库时出现错误:DP
    错误原文:DPY-3010:connectionstothisdatabaseserverversionarenotsupportedbypython-oracledbinthinmode链接数据库方式如下:connection=create_engine("oracle+oracledb://user:password@host:post/dbname") PyCharm编译器内运行成功但编译后会有DP......
  • Oracle向包里添加新存储过程的流程
    本次使用的工具是Plsql。一般情况下修改包里的存储过程只需要在Packages找到需要修改的包,右键EditSpec即可。但是假如要重新添加一条新的存储过程,使用上诉步骤之后,后台调用新存储过程的时候会报错,因为找不到新创建的存储过程,而且此时右键View包的时候,也找不到声明的存......
  • Oracle将用户权限移植到另一个用户上
    问题描述:往往有些需求,A用户依赖于B用户创建,A用户想要获取B用户的权限,oracle没找到有命令可以直接继承,只能写一些语句来代替 1.查询用户下的权限有哪些SETPAGESIZE100SETLINESIZE200COLUMNownerFORMATA20COLUMNtable_nameFORMATA30COLUMNprivilegeFORMATA30......