失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Linux无界面创建Oracle数据库实例

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

时间:2024-05-12 18:16:49

相关推荐

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

Linux创建Oracle数据库实例

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

1、安装步骤:

内存检查

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

[root@node1 ~]# grep -i memtotal /proc/meminfoMemTotal: 263773908 kB

创建的ORACLE的SID

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

#切换到oracle用户环境[root@node1 ~]# su - oracleLast login: Tue Mar 5 14:05:55 CST on pts/0#本次创建的ORACLE的SID为rmblc[oracle@node1 ~]$ export ORACLE_SID=rmblc#打印当前ORACLE的SID[oracle@node1 ~]$ echo $ORACLE_SIDrmblc

创建相应目录

#将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]$ lshc_orcl.dat init.ora lkORCL orapworcl spfileorcl.ora#复制初始化文件,明明规则init+实例名.ora[oracle@node1 dbs]$ cp init.ora initrmblc.ora[oracle@node1 dbs]$ lshc_orcl.dat init.ora initrmblc.ora lkORCL orapworcl spfileorcl.ora#编辑,将<ORACLE_BASE>换成对应的绝对路径,不知道的可以通过echo $ORACLE_BASE命令查看[oracle@node1 dbs]$ vi initrmblc.oradb_name='rmblc'#换成自己的SIDmemory_target=1Gprocesses = 150audit_file_dest='/u01/oracle/admin/rmblc/adump'#替换成自己的audit_trail ='db'db_block_size=8192db_domain=''db_recovery_file_dest='/u01/oracle/flash_recovery_area'#替换成自己的db_recovery_file_dest_size=2Gdiagnostic_dest='/u01/oracle'#替换成自己的dispatchers='(PROTOCOL=TCP) (SERVICE=rmblcXDB)'#rmblc将替换成自己的SIDopen_cursors=300remote_login_passwordfile='EXCLUSIVE'undo_tablespace='UNDOTBS1'# You may want to ensure that control files are created on separate physical# devicescontrol_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.sqlcreate database rmblc #替换成自己的SIDMAXINSTANCES 1MAXLOGHISTORY 1MAXLOGFILES 5MAXLOGMEMBERS 5MAXDATAFILES 100DATAFILE'/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 #替换成自己的路径logfileGROUP 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 ZHS16GBKNATIONAL CHARACTER SET AL16UTF16;

执行建库和数据字典脚本

#检查当前SID是否为自己创建的[oracle@node1 rmblc]$ echo $ORACLE_SIDrmblc#连接数据库[oracle@node1 rmblc]$ sqlplus / as sysdba#执行这一句可能会提示错误,具体看问题列表SQL> startup nomoutSQL> @$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]$ lslistener.ora samples shrept.lst sqlnet.ora tnsnames.ora#增加以下内容[oracle@node1 admin]$ vi listener.orarmblc =(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_install2.用户名:system 密码:manager3.用户名: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;

[参考]

安装文档——/Trigl/article/details/53101888

安装文档——/kong2030/article/details/80572755

问题参考文档——/Linux/-11/109931.htm

问题参考文档——/xiaochina/p/7510239.html

问题参考文档——/qq_34169240/article/details/8476

问题参考文档——/junzixing1985/article/details/79521655

问题参考文档——/tototuzuoquan/article/details/52780949

如果觉得《Linux无界面创建Oracle数据库实例》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。