linux下怎么创建oracle实例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下怎么创建oracle实例相关的知识,希望对你有一定的参考价值。

参考技术A linux下,系统用户oracle,执行dbca命令(要确定你有图形界面啊,不然这个命令打不开),然后按照要求一步一步来,就能建立一个数据库了。至于实例,只要这个数据库启动了,那么他就是一个实例。
如果没有图形界面,那么就静默设置安装数据库,具体的忘记了,好象需要写一个脚本,去百度搜一下,应该有相关的内容的。

Linux下创建Oracle的实例

使用oracle用户登录,或su到oracle用户

1、首先设置要创建的ORACLE的SID

export ORACLE_SID=addb

2、 创建相应目录

mkdir -p $ORACLE_BASE/admin/addb/a,b,c,udump
mkdir -p $ORACLE_BASE/admin/addb/pfile
mkdir -p $ORACLE_BASE/oradata/addb

3、在$ORACLE_HOME/dbs目录下创建初始化文件

命名方法:init实例名.ora 本例中initaddb.ora
cp init.ora initaddb.ora 即可以生成
vi initaddb.ora 进行编辑,将里面的内容对应修改一下,我的修改完如下:

db_name='addb'
memory_target=1G
processes = 150
audit_file_dest='/data/install/oracle/admin/addb/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/data/install/oracle/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/data/install/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=addbXDB)'
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)
compatible ='11.2.0'

注意不要用原来的<ORACLE_BASE>作为路径,修改为对应的绝对路径,否则会报错

而且注意control_files应该是新的文件,否则会报文件已存在的错误

4、创建密码文件

orapwd file=$ORACLE_HOME/dbs/orapwaddb password=addb123 entries=5 force=y
这里设置的是sys用户,密码是addb123

5、创建oracle的建库脚本 createdb.sql,内容如下,我将其放在了$ORACLE_BASE/oradata/addb下面

create database addb
MAXINSTANCES 1
MAXLOGHISTORY 1
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
DATAFILE
'/data/install/oracle/oradata/addb/system01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited extent management local
sysaux datafile
'/data/install/oracle/oradata/addb/sysaux01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited
default temporary tablespace TEMP tempfile
'/data/install/oracle/oradata/addb/temp01.dbf' size 20m reuse autoextend on next 640k maxsize unlimited
undo tablespace UNDOTBS1 datafile
'/data/install/oracle/oradata/addb/undo01.dbf' size 20m reuse autoextend on next 5M maxsize unlimited
logfile
GROUP 1 ('/data/install/oracle/oradata/addb/redo1.dbf') size 10m,
GROUP 2 ('/data/install/oracle/oradata/addb/redo2.dbf') size 10m,
GROUP 3 ('/data/install/oracle/oradata/addb/redo3.dbf') size 10m
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
;

6、执行建库和数据字典脚本

以sysdba进入:

sqlplus / as sysdba

执行下面命令:

startup nomout;
@$ORACLE_BASE/oradata/addb/createdb.sql
@?/rdbms/admin/catalog.sql;
@?/rdbms/admin/catproc.sql;
@?/rdbms/admin/catexp.sql;

7、修改监听配置文件listener.ora

到$ORACLE_HOME/network/admin目录下:vi listener.ora

addb =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 114.55.30.70)(PORT = 1522))
      )
    )
  )
SID_LIST_addb =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = addb)
      (ORACLE_HOME = /data/install/oracle/product/11.2.0/db_1)
      (SID_NAME = addb)
    )
  )

8、启停

启停监听

lsnrctl start addb
lsnrctl stop addb

启停实例

  export ORACLE_SID=addb
  sqlplus / as sysdba
  >startup
  >shutdown

以上是关于linux下怎么创建oracle实例的主要内容,如果未能解决你的问题,请参考以下文章

linux下oracle 11g怎么执行脚本生成hr用户名

怎么在linux上面创建第二个实例

linux中用root用户怎么创建oracle实例?

可以在Linux下安装两个oracle实例吗

linux 下如何创建oracle 新用户

linux下如何使用oracle自定义的实例