Linux创建Oracle数据库实例

上一篇安装了数据库,本文记录创建数据库实例步骤

1、安装步骤:

  • 内存检查

内存检查,如果过小,则会报错,具体错误可以看最后的问题列表,我初始内存为2G,出错之后调成16G,具体的值我没有查验,小伙伴们可以自己查查资料,下边的内存数是公司服务器内存,不是我本机。

[root@node1 ~]# grep -i memtotal /proc/meminfo
MemTotal:       263773908 kB
  • 创建的ORACLE的SID

PS:以下操作都在oracle用户环境

#切换到oracle用户环境
[root@node1 ~]# su - oracle
Last login: Tue Mar  5 14:05:55 CST 2019 on pts/0#本次创建的ORACLE的SID为rmblc
[oracle@node1 ~]$ export ORACLE_SID=rmblc#打印当前ORACLE的SID
[oracle@node1 ~]$ echo $ORACLE_SID
rmblc
  • 创建相应目录
#将rmblc换成自己的SID
[oracle@node1 ~]$ mkdir -p $ORACLE_BASE/admin/rmblc/{a,b,c,u}dump
[oracle@node1 ~]$ mkdir -p $ORACLE_BASE/admin/rmblc/pfile
[oracle@node1 ~]$ mkdir -p $ORACLE_BASE/oradata/rmblc
  • 创建初始化文件
#打开$ORACLE_HOME/dbs目录
[oracle@node1 ~]$ cd $ORACLE_HOME/dbs
[oracle@node1 dbs]$ ls
hc_orcl.dat  init.ora  lkORCL  orapworcl  spfileorcl.ora#复制初始化文件,明明规则init+实例名.ora
[oracle@node1 dbs]$ cp init.ora initrmblc.ora
[oracle@node1 dbs]$ ls
hc_orcl.dat  init.ora  initrmblc.ora  lkORCL  orapworcl  spfileorcl.ora#编辑,将<ORACLE_BASE>换成对应的绝对路径,不知道的可以通过echo $ORACLE_BASE命令查看
[oracle@node1 dbs]$ vi initrmblc.ora
db_name='rmblc'#换成自己的SID
memory_target=1G
processes = 150
audit_file_dest='/u01/oracle/admin/rmblc/adump'#替换成自己的
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/u01/oracle/flash_recovery_area'#替换成自己的
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/oracle'#替换成自己的
dispatchers='(PROTOCOL=TCP) (SERVICE=rmblcXDB)'#rmblc将替换成自己的SID
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (ora_control3, ora_control4)#原文件是1,2改成不一样的不然会报错
compatible ='11.2.0'
  • 创建密码文件
#将orapwrmblc的rmblc改成自己的SID,admin是密码
[oracle@node1 dbs]$ orapwd file=$ORACLE_HOME/dbs/orapwrmblc password=admin entries=5 force=y

PS:参考的博文说这里设置的是sys用户,密码是addb123,但是登陆提示错误,用原始密码可以登陆,不清楚设置的是什么密码,有知道小伙伴麻烦在下面告诉我一下

  • 创建oracle的建库脚本 createdb.sql
#打开路径,
[oracle@node1 dbs]$ cd $ORACLE_BASE/oradata/rmblc#创建文件
[oracle@node1 rmblc]$ vi createdb.sql
create database rmblc #替换成自己的SID
MAXINSTANCES 1
MAXLOGHISTORY 1
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
DATAFILE
'/u01/oracle/oradata/rmblc/system01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited extent management local #替换成自己的路径
sysaux datafile
'/u01/oracle/oradata/rmblc/sysaux01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited #替换成自己的路径
default temporary tablespace TEMP tempfile
'/u01/oracle/oradata/rmblc/temp01.dbf' size 20m reuse autoextend on next 640k maxsize unlimited #替换成自己的路径
undo tablespace UNDOTBS1 datafile
'/u01/oracle/oradata/rmblc/undo01.dbf' size 20m reuse autoextend on next 5M maxsize unlimited #替换成自己的路径
logfile
GROUP 1 ('/u01/oracle/oradata/rmblc/redo1.dbf') size 10m, #替换成自己的路径
GROUP 2 ('/u01/oracle/oradata/rmblc/redo2.dbf') size 10m, #替换成自己的路径
GROUP 3 ('/u01/oracle/oradata/rmblc/redo3.dbf') size 10m  #替换成自己的路径
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
;
  • 执行建库和数据字典脚本
#检查当前SID是否为自己创建的
[oracle@node1 rmblc]$ echo $ORACLE_SID
rmblc#连接数据库
[oracle@node1 rmblc]$ sqlplus / as sysdba#执行这一句可能会提示错误,具体看问题列表
SQL> startup nomout
SQL> @$ORACLE_BASE/oradata/rmblc/createdb.sql#执行需要点时间
SQL> @?/rdbms/admin/catalog.sql;#执行需要点时间
SQL> @?/rdbms/admin/catproc.sql;#执行需要点时间
SQL> @?/rdbms/admin/catexp.sql;#执行需要点时间
  • 修改监听配置文件listener.ora
[oracle@node1 rmblc]$ cd $ORACLE_HOME/network/admin
[oracle@node1 admin]$ ls
listener.ora  samples  shrept.lst  sqlnet.ora  tnsnames.ora#增加以下内容
[oracle@node1 admin]$ vi listener.ora
rmblc =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522)))(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.214.16)(PORT = 1522)))))
SID_LIST_rmblc =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = rmblc)(ORACLE_HOME = /u01/oracle/product/11.2.0/db_1)(SID_NAME = rmblc)))
LISTENER_FATPASE =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.214.16)(PORT = 1522))
  • 启动监听
#这里要指明启动哪个数据库实例的监听
[oracle@node1 admin]$ lsnrctl start rmblc
  • 启动数据库服务
#查看以下自己当前的SID是否为创建的SID,如果不是执行下面命令重新设置
[oracle@node1 admin]$ export ORACLE_SID=rmblc#连接
[oracle@node1 admin]$ sqlplus / as sysdba
#关闭服务
SQL> shutdown#启动服务
SQL> startup
  • 数据库原始密码
1.用户名:sys             密码:change_on_install
2.用户名:system       密码:manager
3.用户名:scott           密码:tiger
  • 修改密码,已经连接数据库
#修改密码,因为前面说设置了sys密码,其实设置的不是sys密码,所以想修改密码的可以执行下面命令
#可以将sys替换成要修改的用户,将admin修改成自己想要的密码
SQL> alter user sys identified by admin as sysdba;

2、问题列表:

  • Oracle启动报错ORA-00845: MEMORY_TARGET not supported on this system
    这个就是最早提到的如果内存不够,就会抱着个错误,把内存调大就行
  • 执行startup nomout会提示SP2-0714: invalid combination of STARTUP options错误
    首先用quit或exit退出sql,执行命令echo $ORACLE_SID,确认SID是否正确,然后检查监听是否启动,再连接数据库执行startup,或者切换到root再切回来重新操作一遍
  • 执行创建数据库createdb.sql文件时,提示database name ‘PROD’ does not match parameter db_name ‘orcl’
    原因是我重启系统了,没有重新设置SID
  • 执行sql文件的时候会有错误出现,比如ORA-04031: unable to allocate 3896 bytes of shared memory
    我安装的时候出现这种错误提示,我没有理会,但是在执行倒数第二个还是最后一个sql文件时很久都没有执行完成,一直报错,我是重新执行这些sql文件的,第二遍执行的时候,安装过程没有特别明显的错误提示,太快闪过去的我看不到
  • 执行sql语句的时候会提示ORA-01034: ORACLE not available
    退出sql然后确认SID是否正确
  • 使用sys用户连接ORACLE报错:ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
    使用plsql工具连接数据库时,最后连接为选项不要用normal,选择SYSDBA或者SYSOPER;
    使用navicat连接数据库时,点击高级选项,选择SYSDBA或者SYSOPER;

[参考]
安装文档——https://blog.csdn.net/Trigl/article/details/53101888
安装文档——https://blog.csdn.net/kong2030/article/details/80572755
问题参考文档——https://www.linuxidc.com/Linux/2014-11/109931.htm
问题参考文档——https://www.cnblogs.com/xiaochina/p/7510239.html
问题参考文档——https://blog.csdn.net/qq_34169240/article/details/82014476
问题参考文档——https://blog.csdn.net/junzixing1985/article/details/79521655
问题参考文档——https://blog.csdn.net/tototuzuoquan/article/details/52780949

Linux无界面创建Oracle数据库实例相关推荐

  1. Linux无界面新建Oracle数据库实例

    Linux无界面新建Oracle数据库实例 根据https://blog.csdn.net/qq_24058757/article/details/88220437 步骤操作后总结整理的自己的新建实例 ...

  2. 修改linux下全局数据库名,linux/unix下修改oracle数据库实例名的方法

    linux/unix下修改oracle数据库实例名的方法 2018年12月10日 | 萬仟网IT编程 | 我要评论 linux/unix下修改oracle实例名的方法 1.检查原来的数据库实例名 $ ...

  3. linux数据库创建表空间语句,如何用LINUX用命令创建ORACLE数据库表空间和用户

    如何用LINUX用命令创建ORACLE数据库表空间和用户 文本模式下如何建 更新时间:2019-06-21 19:36 最满意答案 先su 到 oracle用户,SYS用户以DBA身份登陆 //创建临 ...

  4. oracle 手动注册服务器,linux下手动创建Oracle数据库

    在linux平台上手动创建数据库(Oracle 10g),安装Oracle软件后,用手动创建数据库可以锻炼自己能力并能够了解数据库创建的全过程,步骤如下: 1.创建Oracle的SID,如果在linu ...

  5. Xshell远程操作liunx图形化桌面创建oracle数据库实例

    服务器端:Linux 客户端:XShell+Xmanager 配置流程: 1.打开xmanager-passive. 2.XShell建立连接,设置连接属性,在SSH --> tunneling ...

  6. Oracle数据库实例的创建、删除、修改

    以SUSE10SP2.Oracle10gR2为例. 本文中的数据库实例这一称谓应该换做数据库更为准确,数据库可以理解为是一个物理的静态概念,主要包括一些物理存在的数据库文件,而数据库实例则是一个动态概 ...

  7. CentOS Linux 新建oracle数据库实例并连接

    CentOS Linux 新建oracle数据库实例 安装好oracle之后,首先想到的那就是自己建一个库来看看效果喽. 创建的过程如下文章所说,http://blog.chinaunix.net/u ...

  8. 详解:数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名及手工脚本创建oracle数据库...

    数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...

  9. Oracle创建本地数据库实例及配置

    因为以前一直都是用的mysql的数据库,所以当新工作中用到Oracle数据库的时候,一时还有点不习惯,特别是一直连接的远程数据库,更是麻烦,所以就想在本地创建一个Oracle的数据库,然后导入数据库的 ...

最新文章

  1. Redis 笔记(13)— scan 和 keys 寻找特定前缀key 字段(命令格式、使用示例、定位大key)
  2. python下的橡皮线_python下载吴恩达deep learning编程习题
  3. 冒泡排序算法 (JAVA)
  4. vc++6.0中创建工程时选Win32 Application和Win32 console Application的区别
  5. Java之JDBC①
  6. 高频一线大厂Python面试题:算法+爬虫+数据处理+基础
  7. Maven Plugins
  8. 基于SSM的NBA篮球球队运营系统
  9. 笔记本指纹识别linux版驱动程序,联想Thinkpad指纹识别驱动
  10. 2021-01-16
  11. html中bottom的属性,css中bottom是什么意思?
  12. Java项目:jsp+servlet网上会议室预约系统
  13. 推特难民涌入「长毛象」!这个小众社交平台一夜爆红
  14. 【三石jQuery视频教程】01.图片循环展示_重发
  15. python编程培训郑州
  16. Linkedin领英如何添加或更改账号的邮箱地址
  17. 以地理国情调查任务为基础的地图矢量化流程研究
  18. 运算符、操作符、if switch语句婚礼纪主页
  19. vscode设置中文字体
  20. TP6 控制器不存在:app\index\controller\Index

热门文章

  1. python中图片转base64,再转html保存方法
  2. 【洛谷】入门2 分支结构
  3. 塞北村镇旅游网站设计(论文+PPT+源码)
  4. Windos 下python2.7安装 pymssql 解决方案
  5. Unity 场景切换间的内存清理
  6. spark读取excel表格
  7. Meeting Rooms II -- LeetCode
  8. draw.io 插入 word
  9. java 外部输入数据 语句_在编写Java应用程序时,如需从键盘输入各种类型的多个数据,则必须在程序的开头写上( )语句。...
  10. 微信公众号开发之文本回复(三)