1、首先设置要创建的ORACLE的SID
这里得orcl改成自己想要创建得实例名
export ORACLE_SID=orcl
2、 创建相应目录
这里得orcl改成自己想要创建得实例名
mkdir -p $ORACLE_BASE/admin/orcl/{a,b,c,u}dump
mkdir -p $ORACLE_BASE/admin/orcl/pfile
mkdir -p $ORACLE_BASE/oradata/orcl
3、在$ORACLE_HOME/dbs目录下创建初始化文件
命名方法:init实例名.ora 本例中initaddb.ora
cp init.ora initaddb.ora 即可以生成
vi initaddb.ora 进行编辑,将里面的内容对应修改一下,我的修改完如下:
#编辑,将<ORACLE_BASE>换成对应的绝对路径,不知道的可以通过echo $ORACLE_BASE命令查看
db_name='ORCL' #换成自己的SID
memory_target=1G
processes = 150
audit_file_dest='/u01/app/oracle/admin/orcl/adump' #替换成自己的
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/u01/app/oracle/fast_recovery_area' #替换成自己的
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle' #替换成自己的
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)' #ORCL将替换成自己的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'
4、创建密码文件
orapwd file=$ORACLE_HOME/dbs/orapworcl password=orcl123 entries=5 force=y
这里设置的是sys用户,密码是orcl123
5、创建oracle的建库脚本 createdb.sql,内容如下,我将其放在了$ORACLE_BASE/oradata/orcl下面
#打开路径,
cd $ORACLE_BASE/oradata/orcl
#创建文件
vi createdb.sql,这里得路径替换成自己得,我的oracle_home:/u01/app/oracle/product/12.1.0/db_1,oracle_base:/u01/app/oracle。
create database orcl
MAXINSTANCES 1
MAXLOGHISTORY 1
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
DATAFILE
'/u01/app/oracle/oradata/orcl/system01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited extent management local
sysaux datafile
'/u01/app/oracle/oradata/orcl/sysaux01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited
default temporary tablespace TEMP tempfile
'/u01/app/oracle/oradata/orcl/temp01.dbf' size 20m reuse autoextend on next 640k maxsize unlimited
undo tablespace UNDOTBS1 datafile
'/u01/app/oracle/oradata/orcl/undo01.dbf' size 20m reuse autoextend on next 5M maxsize unlimited
logfile
GROUP 1 ('/u01/app/oracle/oradata/orcl/redo1.dbf') size 10m,
GROUP 2 ('/u01/app/oracle/oradata/orcl/redo2.dbf') size 10m,
GROUP 3 ('/u01/app/oracle/oradata/orcl/redo3.dbf') size 10m
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
;
6、执行建库和数据字典脚本
以sysdba进入:
sqlplus / as sysdba
执行下面命令:
startup nomout; 这里可能会报错,exit退出下,查看echo $ORACLE_SID是否正确,如果不正确或者为空就设置一下export ORACLE_SID=orcl,如果正确并且执行不成功,可以尝试执行startup,去掉nomout
@$ORACLE_BASE/oradata/orcl/createdb.sql ;
@?/rdbms/admin/catalog.sql;
@?/rdbms/admin/catproc.sql;
@?/rdbms/admin/catexp.sql;
7、修改监听配置文件listener.ora
到$ORACLE_HOME/network/admin目录下:vi listener.ora
orcl =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
)
)
)
SID_LIST_orcl =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/12.1.0/db_1)
(SID_NAME = orcl)
)
)
8、启停
启停监听
lsnrctl start orcl
lsnrctl stop orcl
启停实例
export ORACLE_SID=orcl
sqlplus / as sysdba
startup 启动
shutdown 停止