[1]
[2] | Install required packages. |
[root@dlp ~]# yum -y install binutils compat-libcap1 gcc gcc-c++ glibc glibc.i686 glibc-devel glibc.i686 ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++l7.i686 libstdc++-devel libstdc++-devel.i686 compat-libstdc++-33 compat-libstdc++-33.i686 libXi libXi.i686 libXtst libXtst.i686 make sysstat |
[3] | Edit Kernel parameters. |
[root@dlp ~]# MEMTOTAL=$(free -b | sed -n '2p' | awk '{print $2}')
SHMMAX=$(expr $MEMTOTAL / 2)
SHMMNI=4096
PAGESIZE=$(getconf PAGE_SIZE) [root@dlp ~]# cat >> /etc/sysctl.conf << EOF sysctl -p fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmmax = 6274715648 kernel.shmall = 392169728 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 |
[4] | Create user and groups for Oracle Database service. |
[root@dlp ~]# i=54321; for group in oinstall dba backupdba oper dgdba kmdba; do useradd -u 1200 -g oinstall -G dba,oper,backupdba,dgdba,kmdba -d /home/oracle oracle [root@dlp ~]# passwd oracle Changing password for user oracle. New password: Retype new password: passwd: all authentication tokens updated successfully. [root@dlp ~]# mkdir -p /u01/app/oracle [root@dlp ~]# chown -R oracle:oinstall /u01/app [root@dlp ~]# chmod -R 775 /u01 [root@dlp ~]# vi /etc/pam.d/login # near line 14: add sessionrequiredpam_selinux.soopen sessionrequiredpam_namespace.so sessionrequiredpam_limits.so sessionoptionalpam_keyinit.soforcerevoke sessionincludesystem-auth -sessionoptionalpam_ck_connector.so [root@dlp ~]# vi /etc/security/limits.conf # add to the end oraclesoftnproc2047 oraclehardnproc16384 oraclesoftnofile1024 oraclehardnofile65536 oraclesoftstack10240 oraclehardstack32768 |
[5] | 图形化安装Oracle 12C Login with the user "oracle" and set environment variables. |
dlp login:
oracle
Password:
[oracle@dlp ~]$
vi ~/.bash_profile
# add to the end
umask 022
export ORACLE_BASE=/u01/app/oracle
# create a temporary directory for installation
[oracle@dlp ~]$
mkdir tmp
[1] | Login and work with oracle admin user which you create in pre-requirements settings. |
[2] | Download Oracle Databse 12c for Linux and upload on your server. |
[3] | After uploading Oracle files,move to a tmp directory and run an Installer like follows. |
[oracle@dlp ~]$ cd tmp [oracle@dlp tmp]$ unzip linuxamd64_12102_database_1of2.zip [oracle@dlp tmp]$ unzip linuxamd64_12102_database_2of2.zip [oracle@dlp tmp]$ ./database/runInstaller |
[4] | Oracle Installer starts like follows. First,Set your email address and password for receiving some infomation from Oracle like security issues and so on. |
[6] | On this example,Select "Single Instance Database ***". |
[7] | Select your language. |
[8] | Select which edition you install. |
[10] | Specify the installed directory. On this example,keep default and proceed to next. |
[11] | Specify the priviledged group. On this example,keep default and proceed to next. |
[12] | Pre-requirements are checked. If some settings are not configured for recomendations,notification is displayed like follows.Confirm them again. |
[13] | The summary is shown for configuration. Click "Install" if it's OK all. |
[14] | Installation starts. |
[15] | Following screen is shown,then open a terminal and execute follwong commands with the root user. |
[root@dlp ~]# /u01/app/oraInventory/orainstRoot.sh Changingpermissionsof/u01/app/oraInventory. Addingread,writepermissionsforgroup. Removingread,write,executepermissionsforworld. Changinggroupnameof/u01/app/oraInventorytooinstall. Theexecutionofthescriptiscomplete. [root@dlp~]#[root@dlp ~]# /u01/app/oracle/product/12.1.0/dbhome_1/root.sh Performingrootuseroperation. Thefollowingenvironmentvariablesaresetas: ORACLE_OWNER=oracle ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1Enter the full pathname of the local bin directory: [/usr/local/bin]: # Enter Copyingdbhometo/usr/local/bin... Copyingoraenvto/usr/local/bin... Copyingcoraenvto/usr/local/bin... Creating/etc/oratabfile... Entrieswillbeaddedtothe/etc/oratabfileasneededby DatabaseConfigurationAssistantwhenadatabaseiscreated Finishedrunninggenericpartofrootscript. Nowproduct-specificrootactionswillbeperformed. |
[16] | Installation completed. Click "Close" button. |
[17] | Set Environment variables for Oracle user. |
[oracle@dlp ~]$
vi ~/.bash_profile
# add to the end
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
[oracle@dlp ~]$
source ~/.bash_profile
[oracle@dlp ~]$
rm -rf tmp
创建监听Create Oracle Net Listener that is the network service on Oracle. |
|
[1] | Login with the oracle admin user and input a command "netca" like follows. |
[oracle@dlp ~]$ netca |
[2] | Check a Box "Listener Configuration" and go next. |
[3] | Go next. |
[4] | Set Listner's name. Input any one you like. |
[6] | Set a port. This example goes next with keeping default. |
[7] | If you'd like to create more Listeners,Answer "Yes". This example selects "No". |
[8] | Configuration completed. |
[9] | After creating Listener,tnslsnr listens on the port you configured like follows. |
[oracle@dlp ~]$
ss -napt
StateRecv-QSend-QLocalAddress:PortPeerAddress:Port LISTEN0128*:22*:* LISTEN0128127.0.0.1:631*:* LISTEN0100127.0.0.1:25*:* ESTAB05210.0.0.30:2210.0.0.5:50113 LISTEN0128:::1521:::*users:(("tnslsnr",3988,9)) LISTEN0128:::22:::* LISTEN0128::1:631:::* LISTEN0100::1:25:::*
[oracle@dlp ~]$
tnsping localhost
TNSPingUtilityforLinux:Version12.1.0.2.0-Productionon04-JUL-201501:03:07 Copyright(c)1997,2014,Oracle.Allrightsreserved. Usedparameterfiles: UsedHOSTNAMEadaptertoresolvethealias Attemptingtocontact(DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1) (PORT=1521))) OK(0msec)
创建数据库 Create a Database. |
|
[1] | Login with the oracle admin user and input a command "dbca" like follows. |
[oracle@dlp ~]$ dbc |
[2] | Select "Create Database" and go next. |
[3] | On this example,select "Advanced Mode" and go next. |
[4] | This example selects "General Purpose ***" and go next. |
[6] | This example goes next with keeping default. |
[7] | Set passwords. Please set a password for a user for security. |
[8] | Configure Listener. On this example,keep default and go next. |
[10] | Configure sample schema and scripts. If you'd like to add them,Set them. |
[11] | Configure memory settings. After setting,go to next tab. |
[12] | Specify max processes. |
[13] | Set Character setting. |
[14] | Select a connection mode. If your server does not have many clients,Select Dedicated server mode. If your server has many clients,Select Shared server mode. |
[15] | Go next. |
[16] | Configuration completed. Click "Finish" button to finish. |
[17] | Database creation starts. |
[18] | After completing to create a database,Click "Close" to finish. |
[19] | Add Database SID to the environment variables. |
[oracle@dlp ~]$
vi /etc/oratab
# change like follows
dlp:/u01/app/oracle/product/12.1.0/dbhome_1:
Y
[oracle@dlp ~]$
vi ~/.bash_profile
# add to the end
export ORACLE_SID=dlp
To access to the Enterprise Manager,it's possible to manage Database on Web GUI. |
|
[1] | After creating database,database service is running and it's possible to access to Enterprise Manager,too. Access to the URL which was displayed when database creation finished,then Login form is shown and it's possible to login with a database user. |
[2] | Just logined. It's possible to manage Database on here. |
Create Systemd file for Oracle Database services. |
|
[1] | Login as root user and create Systemd files. |
[root@dlp ~]#
vi /etc/sysconfig/dlp.oracledb
# create new : define environment variables
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
ORACLE_SID=dlp
# configure listener service
[root@dlp ~]#
vi /usr/lib/systemd/system/dlp@lsnrctl.service
# this is an example,modify for free
[Unit] Description=oraclenetlistener After=network.target [Service] Type=forking EnvironmentFile=/etc/sysconfig/dlp.oracledb ExecStart=/u01/app/oracle/product/12.1.0/dbhome_1/bin/lsnrctlstart ExecStop=/u01/app/oracle/product/12.1.0/dbhome_1/bin/lsnrctlstop User=oracle [Install] WantedBy=multi-user.target
# configure database service
[root@dlp ~]#
vi /usr/lib/systemd/system/dlp@oracledb.service
# this is an example,modify for free
[Unit] Description=oraclenetlistener After=network.targetlsnrctl.service [Service] Type=forking EnvironmentFile=/etc/sysconfig/dlp.oracledb ExecStart=/u01/app/oracle/product/12.1.0/dbhome_1/bin/dbstart/u01/app/oracle/product/12.1.0/dbhome_1 ExecStop=/u01/app/oracle/product/12.1.0/dbhome_1/bin/dbshut/u01/app/oracle/product/12.1.0/dbhome_1 User=oracle [Install] WantedBy=multi-user.target
[root@dlp ~]#
systemctl daemon-reload
[root@dlp ~]#
systemctl enable dlp@lsnrctl dlp@oracledb