centos7安装oracle12c
linuxamd64_12c_database_1of2.zip linuxamd64_12c_database_2of2.zip
su - root
hostnamectl set-hostname centos7.dbaora.com --static
#groups for database management/usr/sbin/groupadd -g 501 oinstall/usr/sbin/groupadd -g 502 dba/usr/sbin/groupadd -g 503 oper
/usr/sbin/useradd -u 501 -g oinstall -G dba,oper oracle
passwd oracle
SELINUX=permissive
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})\n' binutils \gcc \gcc-c++ \glibc \glibc-common \glibc-devel \glibc-headers \ksh \libaio \libaio-devel \libgcc \libstdc++ \libstdc++-devel \libXext \libXtst \libX11 \libXau \libXi \make \sysstat \unixODBC \unixODBC-devel \zlib-devel \compat-libcap1 \compat-libstdc++-33
yum install libaio-devel* unixODBC* zlib-devel* compat-libcap1* compat-libstdc++-33*
- Add kernel parameters to /etc/sysctl.conf
# kernel parameters for 12gR1 installationfs.file-max = 6815744kernel.sem = 250 32000 100 128kernel.shmmni = 4096kernel.shmall = 1073741824kernel.shmmax = 4398046511104net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576fs.aio-max-nr = 1048576net.ipv4.ip_local_port_range = 9000 65500
/sbin/sysctl -p
Add following lines to set shell limits for user oracle in file /etc/security/limits.conf
# shell limits for users oracle 12gR1oracle soft nofile 1024oracle hard nofile 65536oracle soft nproc 2047oracle hard nproc 16384oracle soft stack 10240oracle hard stack 32768
Create .bash_profile for user oracle
# Oracle Settingsexport TMP=/tmpexport ORACLE_HOSTNAME=centos7.dbaora.comexport ORACLE_UNQNAME=ORA12Cexport ORACLE_BASE=/ora01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1export ORACLE_SID=ORA12CPATH=/usr/sbin:$PATH:$ORACLE_HOME/binexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;alias cdob='cd $ORACLE_BASE'alias cdoh='cd $ORACLE_HOME'alias tns='cd $ORACLE_HOME/network/admin'alias envo='env | grep ORACLE'umask 022envo
mkdir -p /ora01/app/oracle/product/12.1.0/db_1chown oracle:oinstall -R /ora01
In Oracle Enterprise Linux 7 /tmp data is stored on tmpfs which consumes memory and is too small. To revert it back to storage just run following command and REBOOT machine to be effective.
systemctl mask tmp.mount
注意:root用户xhost + ,然后oracle用户设置环境变量DISPLAY=:0.0,LANG=en.US.UTF-8,否则安装程序乱码
su - oracle--unizp software it will create directory "database" --where you can find installation softwareunzip linuxamd64_12c_database_1of2.zipunzip linuxamd64_12c_database_2of2.zip--I defined 4 aliases in .bash_profile of user oracle to make --administration heaven :)[oracle@centos7 ~]$ alias envo cdob cdoh tnsalias envo='env | grep ORACLE'alias cdob='cd $ORACLE_BASE'alias cdoh='cd $ORACLE_HOME'alias tns='cd $ORACLE_HOME/network/admin'--run alias command envo to display environment settingsenvoORACLE_UNQNAME=ORA12CORACLE_SID=ORA12CORACLE_BASE=/ora01/app/oracleORACLE_HOSTNAME=centos7.dbaora.comORACLE_HOME=/ora01/app/oracle/product/12.1.0/db_1--run alias command cdob and cdoh --to check ORACLE_BASE, ORACLE_HOME [oracle@centos7 ~]$ cdob[oracle@centos7 oracle]$ pwd/ora01/app/oracle[oracle@centos7 db_1]$ cdoh[oracle@centos7 db_1]$ pwd/ora01/app/oracle/product/12.1.0/db_1--run installation from "database" directory./runInstall
1. Uncheck checkbox "I wish to receive security updates via My Oracle Support" and then click "Next" button.
2. Ignore following message and click "Yes" button.
3. Select "Skip software updates" and click "Next" button.
4. Ignore following message. Just click "Yes" button
5. Select "Create and configure a database" then click "Next" button.
6. Select "Desktop Class" and click "Next" button.
7. On the screen you need to define global database name and pluggable database name. Rest of options you can keep default. Then click "Next" button.
8. Accept default settings then click "Next" button.
9. Summary screen just before installation. It's the last moment to make changes in previous steps. If you are ready click "Install" button.
10. Installation begins …
11. Unfortunately I received error during binaries linking
in log you should see
/usr/bin/ld: note: '__tls_get_addr@@GLIBC_2.3' is defined in DSO /lib64/ld-linux-x86-64.so.2 so try adding it to the linker command line /lib64/ld-linux-x86-64.so.2: could not read symbols: Invalid operationINFO: collect2: error: ld returned 1 exit status
12. To solve this problem do following as user Oracle
remove directory /ora01/app/oracle/product/12.1.0/db_1/lib/stubs
rm -rf /ora01/app/oracle/product/12.1.0/db_1/lib/stubs
backup file $ORACLE_HOME/rdbms/lib/env_rdbms.mk
cd $ORACLE_HOME/rdbms/lib/cp env_rdbms.mk env_rdbms.mk.bck
make changes in $ORACLE_HOME/rdbms/lib/env_rdbms.mk
modify line 176
LINKTTLIBS=$(LLIBCLNTSH) $(ORACLETTLIBS) $(LINKLDLIBS)
to
LINKTTLIBS=$(LLIBCLNTSH) $(ORACLETTLIBS) $(LINKLDLIBS) -lons
modify line 279 and 280
LINK=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS) $(COMPSOBJS)LINK32=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS32) $(COMPSOBJS)
to
LINK=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS) $(COMPSOBJS) -Wl,--no-as-neededLINK32=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS32) $(COMPSOBJS) -Wl,--no-as-needed
modify line 3041 and 3042
TG4PWD_LINKLINE= $(LINK) $(OPT) $(TG4PWDMAI) \ $(LLIBTHREAD) $(LLIBCLNTSH) $(LINKLDLIBS)
to
TG4PWD_LINKLINE= $(LINK) $(OPT) $(TG4PWDMAI) \ $(LLIBTHREAD) $(LLIBCLNTSH) $(LINKLDLIBS) -lnnz12
Once it's done click "Retry" button on screen from point 11 to continue with installation. Linking should finish properly and binaries installation should continue.
13. In the end you will be asked to run as root two scripts. Once they are completed click "OK" button - installation will proceed.
/ora01/app/oraInventory/orainstRoot.sh/ora01/app/oracle/product/12.1.0/db_1/root.sh
18. Once binaries are installed automatically DBCA (database configuration assistant) will start to create new database.
19. You should see summary screen for your database. You can click "Password Management" to unlock and change passwords for default account. Click "OK" button.
20. Installation is finished. Click "Close" button.
21. Post installation steps
Edit the "/etc/oratab" file to set restart flag for ORA12C to 'Y'.
ORA12C:/u01/app/oracle/product/12.1.0/db_1:Y