1、Linux平台创建多个Oracle实例

一、以oracle用户登录
[root@esheng-test ~]# su - oracle
[oracle@esheng-test ~]$

##oracle查看错误信息
$ oerr ora 39213(报错号)
二、获取oracle安装路径
[oracle@esheng-test ~]$ echo $ORACLE_HOME
/u01/oracle/product/11.2.0/db_1

引:linux环境设置Oracle环境变量:https://www.cnblogs.com/pejsidney/p/10277020.html
##环境变量信息(注:只能配置一个实例的环境变量)
$ cd ~
$ pwd
/home/oracle
$ ls -a
.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc  .gnome2  .mozilla  .viminfo
$ vi .bash_profile

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=v2x
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin:/usr/bin:/sbin
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

$source .bash_profile ##配置生效
三、创建新实例的相关存储目录

1、进入oracle安装目录`

  [oracle@esheng-test oracle]$ cd /u01/oracle
  [oracle@esheng-test oracle]$ ls
    admin  arch  backup  cfgtoollogs  checkpoints  diag  oracledata  oradata  product

2、admin目录下创建新实例文件(oracle11g安装完成在/u01/app/oracle/admin/orcl/下面生成几个文件夹)

  [oracle@esheng-test admin]$ cd /u01/oracle/admin
  [oracle@esheng-test admin]$ mkdir esorcl
  [oracle@esheng-test admin]$ cd esorcl/
  [oracle@esheng-test esorcl]$ mkdir adump dpdump pfile
  [oracle@esheng-test esorcl]$ ls
    adump  dpdump  pfile 

adump :审计信息
bdump :后台进程trace 和alert log ,就是说 alert_sid.log也存在这个目录中
cdump :core trace,一般是用来日志应用程序的除非数据库出了问题 否则基本上不会有什么信息
dpdump :是存放一些登录信息的
pfile :初始化参数文件 initSID
udump :前台手动trace的 比如sql trace之后session的trace文件
注:在11g之前/u01/app/oracle/admin/orcl/下面也会有bdump、cdump、udump,在11g里统一放在了/u01/app/oracle/diag/rdbms/orcl/orcl里了

3、创建数据库实例数据文件目录

  [oracle@esheng-test oradata]$ cd /u01/oracle/oradata
  [oracle@esheng-test oradata]$ mkdir esorcl
oradata目录下默认存放数据库数据文件(dbf),控制文件(ctl),联机日志文件(rdo)。

4、数据库实例归档日志目录创建(不建议配,日志很多容易沾满磁盘)

  [oracle@esheng-test oracle]$ cd /u01/oracle/arch/
  [oracle@esheng-test arch]$ mkdir esorcl
  [oracle@esheng-test arch]$ ls
    eshengtest  esorcl  kechetest
四、创建新实例的参数文件

1、进入实例参数文件位置

  [oracle@esheng-test dbs]$ echo $ORACLE_HOME
    /u01/oracle/product/11.2.0/db_1
  [oracle@esheng-test dbs]$ cd $ORACLE_HOME
  [oracle@esheng-test db_1]$ cd dbs/
  [oracle@esheng-test dbs]$ cp spfilekechetest.ora initesorcl.ora

2、拷贝原有.ora文件,在此基础上修改,esorcl为我新实例名,凡是带esorcl的目录都需要修改。

esorcl.__db_cache_size=4060086272
esorcl.__java_pool_size=33554432
esorcl.__large_pool_size=67108864
esorcl.__oracle_base='/u01/oracle'#ORACLE_BASE set from environment
esorcl.__pga_aggregate_target=2147483648
esorcl.__shared_io_pool_size=0
esorcl.__shared_pool_size=6509559808
esorcl.__streams_pool_size=0

*._gby_hash_aggregation_enabled=TRUE
*.audit_file_dest='/u01/oracle/admin/esorcl/adump'
#可不配置#*.background_dump_dest='/u01/oracle/admin/esorcl/bdump'
*.compatible='11.2.0.4.0'
*.control_file_record_keep_time=30
*.control_files='/u01/oracle/oradata/esorcl/control01.ctl','/u01/oracle/oradata/esorcl/control02.ctl'
#可不配置#*.core_dump_dest='/u01/oracle/admin/esorcl/cdump'

*.db_block_size=8192
*.db_domain=''
#可不配置#*.db_file_multiblock_read_count=16
*.db_name='esdbtest'
*.db_unique_name='esorcl'

#归档日志可不配置#*.db_recovery_file_dest='/u01/oracle/flash_recovery_area'
#归档日志可不配置#*.db_recovery_file_dest_size=2147483648
*.diagnostic_dest='/u01/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=esorclXDB)'
#可不配置#*.job_queue_processes=10
#归档日志可不配置#*.log_archive_dest_1='location=/u01/oracle/arch/orcl3'

*.open_cursors=1000
*.pga_aggregate_target=2147483648
*.processes=1000
*.remote_login_passwordfile='EXCLUSIVE'
*.resource_limit=TRUE

*.sessions=555
*.sga_target=10737418240
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
#可不配置#*.user_dump_dest='/u01/oracle/admin/orcl3/udump'
五、启动实例测试

1、实例切换

[oracle@esheng-test dbs]$ echo $ORACLE_SID
eshengtest
[oracle@esheng-test dbs]$ export ORACLE_SID=esorcl
[oracle@esheng-test dbs]$ echo $ORACLE_SID
esorcl

2、登陆启动实例测试

[oracle@esheng-test dbs]$ sqlplus / as sysdba
SQL> startup nomount;
SQL> select instance_name from v$instance;
INSTANCE_NAME
--------------------------------
esorcl
六、创建数据库

1、编写生成数据库脚本文件

CREATE DATABASE esdbtest
   USER SYS IDENTIFIED BY sys
   USER SYSTEM IDENTIFIED BY manager
   LOGFILE GROUP 1 ('/u01/oracle/oradata/esorcl/redo01.log') SIZE 20M,
           GROUP 2 ('/u01/oracle/oradata/esorcl/redo02.log') SIZE 20M,
           GROUP 3 ('/u01/oracle/oradata/esorcl/redo03.log') SIZE 20M
   MAXLOGFILES 5
   MAXLOGMEMBERS 5
   MAXLOGHISTORY 1
   MAXDATAFILES 100
   MAXINSTANCES 1
   CHARACTER SET US7ASCII
   NATIONAL CHARACTER SET UTF8
   DATAFILE '/u01/oracle/oradata/esorcl/system01.dbf' SIZE 325M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
   SYSAUX DATAFILE '/u01/oracle/oradata/esorcl/sysaux01.dbf' SIZE 325M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
   DEFAULT TABLESPACE tbs datafile '/u01/oracle/oradata/esorcl/tbs_1.dbf' size 100m AUTOEXTEND ON NEXT 256M maxsize unlimited;
   DEFAULT TEMPORARY TABLESPACE temp
      TEMPFILE '/u01/oracle/oradata/esorcl/temp.dbf'
      SIZE 100M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
   UNDO TABLESPACE kcpt
      DATAFILE '/u01/oracle/oradata/esorcl/kcpt_01.dbf'
      SIZE 100M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

2、验证是否创建成功

SQL> select status from v$instance;
STATUS
------------------------
OPEN
SQL> select name from v$database;
NAME
------------------
ESDBTEST

3、运行后续脚本,创建数据字典及相关视图

[oracle@esheng-test dbs]$ sqlplus / as sysdba
SQL> Show user
  USER is "SYS"
SQL>@?/rdbms/admin/catalog.sql;
此过程可能需要10分钟左右
SQL>@?/rdbms/admin/catproc.sql;
此过程可能需要15分钟左右
SQL>@?/rdbms/admin/catblock.sql;
SQL>@?/rdbms/admin/catoctk.sql;
SQL>@?/rdbms/admin/owminst.plb;

SQL>conn system/ manager
SQL>@?/sqlplus/admin/pupbld.sql;
SQL>@?/sqlplus/admin/help/hlpbld.sql helpus.sql
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容