正文
一、CentOS7.2静默安装Oracle11G
1.#查看系统性能参数
|
1
|
cat /etc/sysctl.conf |
2.#查看安装包
|
1
|
rpm -qa |grep -E 'EMC|Ultra|multipath' |
3.#安装依赖包
|
1
|
yum -y install gcc gcc-c++ make binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static glibc glibc-common glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel numactl-devel sysstat unixODBC unixODBC-devel kernelheaders pdksh pcre-devel readline rlwrap |
4.#创建用户、组
|
1
2
|
groupadd oinstall && groupadd dba && useradd -g oinstall -G dba oracleecho "123456" | passwd --stdin oracle && id oracle |
5.#上传软件包
1 http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 2 [linux.x64_11gR2_database_1of2.zip] 3 [linux.x64_11gR2_database_2of2.zip] 4 可以下载到本地通过ftp上传到虚拟机中,也可以使用wget命令,下载到虚拟机中。
6.#创建安装包文件存放目录
|
1
2
|
mkdir -p /data/u01/softwaremv linux.x64_11gR2_database_* /data/u01/software/ && cd /data/u01/software |
7.#解压安装包文件
|
1
|
unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip |
8.#创建目录
|
1
2
3
4
|
mkdir -p /data/u01/app/oracle/product/11.2.0/dbhome_1mkdir /data/u01/app/oracle/{oradata,inventory,fast_recovery_area}chown -R oracle:oinstall /data/u01/app/oraclechmod -R 775 /data/u01/app/oracle |
9.#修改内核参数
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
vim /etc/sysctl.conf#添加以下内容fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 1073741824kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576#使内核新配置生效sysctl -p |
10.#修改用户限制
|
1
2
3
4
5
6
7
8
|
vim /etc/security/limits.conf#添加以下内容oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536oracle soft stack 10240 |
11.#修改/etc/pam.d/login 文件
|
1
2
3
4
5
|
vim /etc/pam.d/login#添加以下内容session required /lib64/security/pam_limits.sosession required pam_limits.so |
12.#修改/etc/profile 文件
|
1
2
3
4
5
6
7
8
9
10
11
|
vim /etc/profile#添加以下内容if [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fifi |
13.#设置 oracle 用户环境变量
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
su - oraclevim .bash_profile#添加以下内容export ORACLE_BASE=/data/u01/app/oracleexport ORACLE_HOME=/data/u01/app/oracle/product/11.2.0/dbhome_1export ORACLE_SID=orclexport ORACLE_UNQNAME=$ORACLE_SIDexport PATH=$ORACLE_HOME/bin:$PATHexport NLS_LANG=american_america.AL32UTF8alias sqlplus='rlwrap sqlplus'alias rman='rlwrap rman'#生效source .bash_profile |
14.#编辑静默安装响应文件
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
cp -R /data/u01/software/database/response/ . && cd response/vim db_install.rsp#设置以下内容oracle.install.option=INSTALL_DB_SWONLYORACLE_HOSTNAME=自己的主机名UNIX_GROUP_NAME=oinstallINVENTORY_LOCATION=/data/u01/app/oracle/inventorySELECTED_LANGUAGES=en,zh_CNORACLE_HOME=/data/u01/app/oracle/product/11.2.0/dbhome_1ORACLE_BASE=/data/u01/app/oracleoracle.install.db.InstallEdition=EEoracle.install.db.DBA_GROUP=dbaoracle.install.db.OPER_GROUP=dbaDECLINE_SECURITY_UPDATES=true |
15.#安装
|
1
2
3
|
cd /data/u01/software/database/./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq等待几分钟 |
16.#打开终端,以 root 身份登录,执行脚本:
|
1
2
3
4
5
6
|
su -source .bash_proflesh /data/u01/app/oracle/inventory/orainstRoot.shsh /data/u01/app/oracle/product/11.2.0/dbhome_1/root.shvim /etc/hosts127.0.0.1 后面加上主机名 |
17.#查看监听响应文件配置信息
|
1
2
3
4
5
6
|
egrep -v "(^#|^$)" /home/oracle/response/netca.rsp#以静默方式配置监听su - oraclesource .bash_proflenetca /silent /responsefile /home/oracle/response/netca.rsp |
18.#用Oracle用户启动
|
1
2
3
4
5
6
7
8
9
10
11
12
|
su - oraclelsnrctl startnetstat -tunlp|grep 1521#查看监听状态lsnrctl status#查看监听器配置文件 listener.oracat $ORACLE_HOME/network/admin/listener.ora#查看监听服务名配置文件 tnsnames.oracat $ORACLE_HOME/network/admin/tnsnames.ora |
19.#配置以静默方式建立新库,和实例 的响应文件
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
vim /home/oracle/response/dbca.rsp设置以下参数GDBNAME = "orcl"SID = "orcl"SYSPASSWORD = "SYS 用户密码"SYSTEMPASSWORD = "SYSTEM 用户密码"SYSMANPASSWORD = "sysman"DBSNMPPASSWORD = "dbsnmp"DATAFILEDESTINATION =/data/u01/app/oracle/oradataRECOVERYAREADESTINATION=/data/u01/app/oracle/fast_recovery_areaCHARACTERSET = "AL32UTF8"TOTALMEMORY = "6144" |
20.#查看建库响应文件配置信息
|
1
|
[root@oracle ~]# egrep -v "(^#|^$)" /home/oracle/response/dbca.rsp |
21.#启用配置,以静默方式建立新库,和实例
|
1
|
dbca -silent -responseFile /home/oracle/response/dbca.rsp |
22.#检查实例后台进程
|
1
2
3
4
|
ps -ef | grep ora_ | grep -v grep#查看 ORACLE_UNQNAME 环境变量env|grep ORACLE_UNQNAME |
23.#以 sysdba 身份登录
|
1
|
sqlplus / as sysdba |
24.#启动 oralce 数据库
|
1
2
|
SQL> startupORA-00845: MEMORY_TARGET not supported on this system |
二、报错解决
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system
因为内存太小可以加大虚拟机的内存
或者临时解决如下:
解决方法
|
1
2
3
4
5
6
7
|
su - rootmount -o remount,size=4G /dev/shmsu - oraclelsnrctl stoplsnrctl startsqlplus / as sysdbaSQL> startup |
#ORA-28000: the account is locked
解决方法
|
1
2
3
4
5
|
[oracle@oracal ~]$ sqlplus /nologSQL>conn /as sysdbaSQL> alter profile default limit failed_login_attempts unlimited;sqlplus /nologsqlplus /nolog |
#ORA-01017: invalid username/password; logon denied
解决方法
密码不合适
用sys用户登录修改密码
|
1
2
3
4
5
|
[oracle@oracal ~]$ sqlplus / as sysdbaSQL> conn / as sysdba;SQL> alter user scott identified by 123456;SQL> alter user scott account unlock;SQL> conn scott/123456; |
#[ConfigureListener.isPortFree:1088] Returning is Port 1521 free: false
|
1
|
/etc/hosts里面127.0.0.0后面没有添加主机名 |