前提:已经安装了oracle数据库并创建了oracle用户
进入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=DCITS
#打印当前ORACLE的SID
[oracle@node1 ~]$ echo $ORACLE_SID
DCITS
- 创建相应目录:
#将rmblc换成自己的SID
[oracle@node1 ~]$ mkdir -p $ORACLE_BASE/admin/DCITS/{a,b,c,u}dump
[oracle@node1 ~]$ mkdir -p $ORACLE_BASE/admin/DCITS/pfile
[oracle@node1 ~]$ mkdir -p $ORACLE_BASE/oradata/DCITS
- 创建初始化文件
注意:代码中需要替换的路径为oracle的安装根路径,非oracle用户根路径。可使用echo $ORACLE_BASE 命令查看oracle安装根路径
#打开$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 initDCITS.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 initDCITS.ora
db_name='DCITS'#换成自己的SID
memory_target=1G
processes = 150
audit_file_dest='/u01/oracle/admin/DCITS/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=DCITSXDB)'#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'
- 创建密码文件
不清楚这一步操作有何用 19c要求密码超过八位并且至少一位特殊字符请注意
#将orapwrmblc的rmblc改成自己的SID,admin是密码
[oracle@node1 dbs]$ orapwd file=$ORACLE_HOME/dbs/orapwrmblc password=admin entries=5 force=y
- 创建oracle的建库脚本 createdb.sql
文中路径均为oracle的安装根路径 ,请注意 echo $ORACLE_BASE 查看
#打开路径,
[oracle@node1 dbs]$ cd $ORACLE_BASE/oradata/DCITS
#创建文件
[oracle@node1 rmblc]$ vi createdb.sql
create database DCITS #替换成自己的SID
MAXINSTANCES 1
MAXLOGHISTORY 1
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
DATAFILE
'/u01/oracle/oradata/DCITS/system01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited extent management local #替换成自己的路径
sysaux datafile
'/u01/oracle/oradata/DCITS/sysaux01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited #替换成自己的路径
default temporary tablespace TEMP tempfile
'/u01/oracle/oradata/DCITS/temp01.dbf' size 20m reuse autoextend on next 640k maxsize unlimited #替换成自己的路径
undo tablespace UNDOTBS1 datafile
'/u01/oracle/oradata/DCITS/undo01.dbf' size 20m reuse autoextend on next 5M maxsize unlimited #替换成自己的路径
logfile
GROUP 1 ('/u01/oracle/oradata/DCITS/redo1.dbf') size 10m, #替换成自己的路径
GROUP 2 ('/u01/oracle/oradata/DCITS/redo2.dbf') size 10m, #替换成自己的路径
GROUP 3 ('/u01/oracle/oradata/DCITS/redo3.dbf') size 10m #替换成自己的路径
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
;
- 执行建库和数据字典脚本
注意startup nomount 这个单此输入正确,照着原作者让我花了很长时间找原因
#检查当前SID是否为自己创建的
[oracle@node1 rmblc]$ echo $ORACLE_SID
DCITS
#连接数据库
[oracle@node1 rmblc]$ sqlplus / as sysdba
#执行这一句可能会提示错误,具体看问题列表
SQL> startup nomount
SQL> @$ORACLE_BASE/oradata/DCITS/createdb.sql#执行需要点时间
SQL> @?/rdbms/admin/catalog.sql;#执行需要点时间
SQL> @?/rdbms/admin/catproc.sql;#执行需要点时间
SQL> @?/rdbms/admin/catexp.sql;#执行需要点时间
- 修改监听配置文件listener.ora
注意 修改创建的SID
[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
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle19)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
DCITS =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle19)(PORT = 1522))
)
)
)
SID_LIST_DCITS =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = DCITS)
(ORACLE_HOME = /u01/app/oracle19/product/19.2.0.3/db_1)
(SID_NAME = DCITS)
)
)
LISTENER_FATPASE =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle19)(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
搞定收工
原文链接:
https://blog.csdn.net/qq_24058757/article/details/88220437