Linux无界面创建Oracle数据库实例

小爬虫 专栏收录该内容
4 篇文章 0 订阅

Linux创建Oracle数据库实例

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

1、安装步骤:

  • 内存检查

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

[root@node1 ~]# grep -i memtotal /proc/meminfo
MemTotal:       263773908 kB
  • 1
  • 2
  • 创建的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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 创建相应目录
#将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
  • 1
  • 2
  • 3
  • 4
  • 创建初始化文件
#打开$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'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 创建密码文件
#将orapwrmblc的rmblc改成自己的SID,admin是密码
[oracle@node1 dbs]$ orapwd file=$ORACLE_HOME/dbs/orapwrmblc password=admin entries=5 force=y
  • 1
  • 2

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
;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 执行建库和数据字典脚本
#检查当前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;#执行需要点时间
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 修改监听配置文件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))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 启动监听
#这里要指明启动哪个数据库实例的监听
[oracle@node1 admin]$ lsnrctl start rmblc
  • 1
  • 2
  • 启动数据库服务
#查看以下自己当前的SID是否为创建的SID,如果不是执行下面命令重新设置
[oracle@node1 admin]$ export ORACLE_SID=rmblc

#连接
[oracle@node1 admin]$ sqlplus / as sysdba
#关闭服务
SQL> shutdown

#启动服务
SQL> startup 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 数据库原始密码
1.用户名:sys             密码:change_on_install
2.用户名:system       密码:manager
3.用户名:scott           密码:tiger
  • 1
  • 2
  • 3
  • 修改密码,已经连接数据库
#修改密码,因为前面说设置了sys密码,其实设置的不是sys密码,所以想修改密码的可以执行下面命令
#可以将sys替换成要修改的用户,将admin修改成自己想要的密码
SQL> alter user sys identified by admin as sysdba;
  • 1
  • 2
  • 3

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

  • 9
    点赞
  • 3
    评论
  • 39
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

  • blsz502
    dealer3746:执行建库和数据字典脚本中的:startup nomout写错了,应为 startup nomount11 月前回复举报
  • <
  • 1
  • >
相关推荐
<p> <span style="background-color:#FFFFFF;font-size:14px;">本课程会详细的介绍数据库基础概念,以及常用的数据库实战操作。</span> </p> <p> <span style="background-color:#FFFFFF;font-size:14px;">本课程从概念、实战和原理三方面深入的讲解了Oracle数据库的方方面面,课程内容涵盖了Oracle数据库中的绝大部分基础知识,以及高级编程中的常见案例和应用。大家既可以全部学习,掌握整个oracle体系知识,也可以选择性的观看自己需要的部分内容。</span> </p> <p> <span style="background-color:#FFFFFF;font-size:14px;">本课程覆盖的内容点,如下所示。</span> </p> <p> <span style="color:#000000;font-size:14px;background-color:#FFFFFF;">1.数据库基础概念</span> </p> <p> <span style="color:#000000;font-size:14px;background-color:#FFFFFF;">2.数据库的CRUD等基本操作</span> </p> <p> <span style="color:#000000;font-size:14px;background-color:#FFFFFF;">3.数据库中的</span><span style="background-color:#FFFFFF;font-size:14px;">存储过程、存储函数、触发器、事务、索引、序列、PLSQL等数据库高级编程相关技术</span> </p> <p> <span style="background-color:#FFFFFF;font-size:14px;">4.分布式数据库</span> </p> <p> <span style="background-color:#FFFFFF;font-size:14px;"></span><span style="background-color:#FFFFFF;font-size:14px;">     学习完本课程后,大家可以快速进行数据库开发,并且能够独立完成常见的数据库操作,以及分布式数据搭建。</span><span style="background-color:#FFFFFF;font-size:14px;">本课程在讲解中采用了图文结</span><span style="background-color:#FFFFFF;font-size:14px;">合</span><span style="background-color:#FFFFFF;font-size:14px;">的方式,对每个知识点的讲解都配有详细且完整的案例,对于重难点的讲解也配有绘图,可以帮助大家快速掌握数据库的各个细节。</span> </p> <p> <br /></p>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

举报

选择你想要举报的内容(必选)
  • 内容涉黄
  • 政治相关
  • 内容抄袭
  • 涉嫌广告
  • 内容侵权
  • 侮辱谩骂
  • 样式问题
  • 其他
新手
引导
客服 举报 返回
顶部