环境检测
物理内存不少于1G
虚拟内存不少于2G
安装基本环境
$ yum install bc binutils compat-libcap compat-libstdc glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat
创建所需操作系统用户组和用户
$ sudo groupadd oinstall
$ sudo groupadd dba
$ sudo groupadd oper
$ sudo useradd -g oinstall -G dba,oper oracle
$ sudo passwd oracle
检测用户资源限制
例如:
$ sudo vim /etc/security/limits.conf
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 10240
网络配置
$ sudo vim /etc/hosts
[ifconfig命令显示的eth0的inet的值] Oracle
解压oracle安装包至HOME目录
$ sudo mkdir -p /u01/app/oracle/product/18.3/db_1
$ sudo unzip LINUX.X64_180000_db_home.zip -d /u01/app/oracle/product/18.3/db_1
$ sudo chown -R oracle:oinstall /u01
配置Oracle安装响应文件
$ sudo vim /u01/app/oracle/product/18.3/db_1/install/response/db_install.rsp
根据提示进行配置
例子:
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/oraInventory
ORACLE_HOME=/u01/app/oracle/product/18.3/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=dba
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=cdb1
oracle.install.db.config.starterdb.SID=cdb1
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.password.ALL=[全局密码]
预先修改环境变量
$ sudo vim /etc/profile
export TMP=/tmp #日志存放位置
export TMPDIR=$TMP
export ORACLE_HOSTNAME=Oracle #主机名
export ORACLE_UNQNAME=cdb1 #库名称
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/18.3/db_1
export ORACLE_SID=cdb1 #库名称
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
$ source /etc/profile
$ sudo mkdir /u01/app
$ sudo mkdir -p /u01/app/oracle/oradata
$ sudo mkdir -p /u01/app/oracle/oradata_back
$ sudo chmod -R 775 /u01/app
$ sudo chown -R oracle:oinstall /u01
安装oracle
$ su – oracle
$ cd /u01/app/oracle/product/18.3/db_1/
$ ./runInstaller -force -silent -responseFile ./install/response/db_install.rsp
执行安装后的脚本
$ exit
$ sudo /u01/app/oracle/oraInventory/orainstRoot.sh
$ sudo /u01/app/oracle/product/18.3/db_1/root.sh
配置静默监听
$ su - oracle
$ vim /u01/app/oracle/product/18.3/db_1/assistants/netca/netca.rsp
$ netca -silent -responsefile /u01/app/oracle/product/18.3/db_1/assistants/netca/netca.rsp
$ lsnrctl start
$ lsnrctl status
如果需要更改监听配置:
$ lsnrctl stop
$ vim /u01/app/oracle/product/18.3/db_1/assistants/netca/netca.rsp
$ lsnrctl start
静默建立数据库
$ vim /u01/app/oracle/product/18.3/db_1/assistants/dbca/dbca.rsp
例子:
gdbName=cdb1
sid=cdb1
createAsContainerDatabase=true
numberOfPDBs=1
pdbName=cdb1pdb
templateName=/u01/app/oracle/product/18.3/db_1/assistants/dbca/templates/General_Purpose.dbc
datafileJarLocation={ORACLE_HOME}/assistants/dbca/templates/
datafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/
recoveryAreaDestination={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}
characterSet=AL32UTF8
listeners=LISTENER
initParams=undo_tablespace=UNDOTBS1,memory_target=796MB,processes=300,db_recovery_file_dest_size=2780MB,nls_language=AMERICAN,dispatchers=(PROTOCOL=TCP) (SERVICE=cdb1XDB),db_recovery_file_dest={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME},db_block_size=8192BYTES,diagnostic_dest={ORACLE_BASE},audit_file_dest={ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/adump,nls_territory=AMERICA,local_listener=LISTENER_CDB1,compatible=18.3.0,control_files=("{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/control01.ctl","{ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}/control02.ctl"),db_name=cdb1,audit_trail=db,remote_login_passwordfile=EXCLUSIVE,open_cursors=300
memoryPercentage=40
totalMemory=0
$ dbca -silent -createDatabase -responseFile /u01/app/oracle/product/18.3/db_1/assistants/dbca/dbca.rsp
查看oracle的状态:
ps -ef | grep ora_ | grep -v grep
lsnrctl start
数据库操作
sqlplus / as sysdba // 登录数据库
select open_mode from v$database;
select status from v$instance; //查看数据库状态
alter user sys identified by oracle; //改sys超级管理员密码
alter user system identified by oracle; //改system管理员密码
exit // 退出数据库
sqlplus sys/oracle as sysdba //使用sys超级管理员登录数据库
startup // 启动数据库
select name from v$database; //查看数据库
shutdown abort //关闭数据库
conn system/oracle //切换用户conn后面直接跟用户名和密码就可以
设置开机自启动oracle和监听器
su - oracle
vim /u01/app/oracle/product/18.3/db_1/bin/dbstart
将ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
vim /u01/app/oracle/product/18.3/db_1/bin/dbshut
将ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
vim /etc/oratab
cdb1: /u01/app/oracle/product/18.3/db_1:Y
exit
sudo vim /etc/rc.local
su - oracle -c 'dbstart'
su - oracle -c 'lsnrctl start'
sudo chmod +x /etc/rc.local
参考:
https://docs.oracle.com/en/database/oracle/oracle-database/18/index.html
https://blog.youkuaiyun.com/Alisebeast/article/details/79813979