数据库安装规范
第一步:安装依赖环境并检查依赖包,上传数据库安装文件
第二步:关闭selinux,修改主机名,创建安装数据库的用户和组
第三步:创建/etc/oraInst.loc文件并授权
第四步:解压完数据库安装文件
第五步:修改数据库安装模板文件
第六步:切换oracle用户,设置oracle用户的环境变量,设置立即生效
第七步:进入解压文件目录,使用oracle用户安装oracle软件,安装完提示用root执行.sh脚本
第八步:使用oracle用户安装数据库
第九步:安装完成后修改oracle启动配置文件,进入数据库查看是否正常启动
第十部:修改用户密码的有效期,修改数据库最大连接数
保证网速、服务器外网访问、
#########################################
配置网络yum源
Centos源:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo && yum clean all && yum makecache && yum -y update
epel源(Centos5):wget -O /etc/yum.repos.d/epel-5.repo mirrors.aliyun.com/repo/epel-5.repo && yum clean all && yum makecache
epel源(Centos6):wget -O /etc/yum.repos.d/epel-6.repo mirrors.aliyun.com/repo/epel-6.repo && yum clean all && yum makecache
epel源(Centos7):wget -O /etc/yum.repos.d/epel-7.repo mirrors.aliyun.com/repo/epel-7.repo && yum clean all && yum makecache
先对操作系统进行一次全面的更新
yum -y install \
binutils \
compat-libcap1 \
compat-libstdc++-33 \
compat-libstdc++-33*.i686 \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc*.i686 \
glibc \
glibc-devel \
glibc-devel*.i686 \
ksh \
libgcc*.i686 \
libgcc \
libstdc++ \
libstdc++*.i686 \
libstdc++-devel \
libstdc++-devel*.i686 \
libaio \
libaio*.i686 \
libaio-devel \
libaio-devel*.i686 \
make \
sysstat \
unixODBC \
unixODBC*.i686 \
unixODBC-devel \
unixODBC-devel*.i686 \
libXp
检查安装依赖系统包
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc-2.5 glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel | grep not
如果包有显示is not installed(没安装)
############################################
修改主机名>>查看主机名>>重启
[root@linux ~]# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network
[root@linux ~]# hostname
linux
[root@linux ~]# reboot
添加主机名与IP对应记录
[root@linux ~]#vi /etc/hosts
10.10.0.48 oracledb
关闭Selinux
setenforce 0
##################################################
创建所需的操作系统组和用户
groupadd oinstall && groupadd dba && useradd -g oinstall -G dba oracle
设置oracle用户密码
passwd oracle oracle
##########################################################
创建安装目录(可根据情况,选择比较多空间的目录创建)
mkdir -p /u01/app/
上传oracle安装文件(文件上传到/u01下)
!!!传文件!!!
cp /home/oracle/* /u01/
##########################################################
修改/u01目录下设置oracle用户权限
chown -R oracle:oinstall /u01 && chmod -R 775 /u01/app/
##########################################################
创建/etc/oraInst.loc文件,内容如下
inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall
更改文件的权限
chown oracle:oinstall /etc/oraInst.loc && chmod 664 /etc/oraInst.loc
##############################################################
解压oracle安装文件(文件须上传到/u01下,oracle用户执行)
su - oracle
cd /u01
unzip linux-oracle11g-64_1of7.zip && unzip linux-oracle11g-64_2of7.zip
#############################################################
拷贝模板文件,授权
cp /u01/database/response/db_install.rsp /u01/database
chmod +x /u01/database/db_install.rsp
##############################################################
设置oracle环境变量
vi ~/.bash_profile
在最后加上以下内容
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=PATH:$ORACLE_HOME/bin
export ORACLE_SID=orcl
使设置生效
source /home/oracle/.bash_profile
检查环境变量:
env
############################################################
静默安装Oracle软件
修改安装Oracle软件的响应文件/u01/database/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY // 安装类型
ORACLE_HOSTNAME=oracledb // 主机名称
UNIX_GROUP_NAME=oinstall // 安装组
INVENTORY_LOCATION=/u01/app/oracle/oraInventory // INVENTORY目录
SELECTED_LANGUAGES=en,zh_CN // 选择语言
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 // oracle_home
ORACLE_BASE=/u01/app/oracle // oracle_base
oracle.install.db.InstallEdition=EE // oracle版本
oracle.install.db.EEOptionsSelection=true
oracle.install.db.DBA_GROUP=dba // dba用户组
oracle.install.db.OPER_GROUP=oinstall // oper用户组
DECLINE_SECURITY_UPDATES=true
oracle.installer.autoupdates.option = SKIP_UPDATES
cd /u01/database
./runInstaller -silent -responsefile /u01/database/db_install.rsp -ignoresysprereqs -ignoreprereq
#(./runInstaller -silent -force -responseFile /u01/etc/db_install.rsp)
安装中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。
查看安装日志信息了解安装进度
cd $ORACLE_BASE/oraInventory/logs
tail -100f installActions*.log
出现类似如下提示表示安装完成:
-------------------------------------------------------------------
...
/u01/app/oracle/product/11.2.0/db_1/root.sh
To execute the configuration scripts:
- Open a terminal window
- Log in as "root"
- Run the scripts
- Return to this window and hit "Enter" key to continue
Successfully Setup Software.
-------------------------------------------------------------------
#############################################################
使用root用户执行root.sh
su - root
/u01/app/oracle/product/11.2.0/db_1/root.sh
#############################################################
建立数据库
#dbca -h //查看帮助
#dbca -silent -createDatabase -templateName /u01/app/oracle/product/11.2.0/db_1/assistants/dbca/templates/General_Purpose.dbc -gdbName orcl -sid orcl -sysPassword oracle -systemPassword oracle -emConfiguration LOCAL -dbsnmpPassword oracle -sysmanPassword oracle -characterSet al32utf8
使用参数说明:
-silent指以静默方式执行dbca命令
-createDatabase指使用dbca
-templateName指定用来创建数据库的模板名称,这里指定为/u01/app/oracle/product/11.2.0/db_1/assistants/dbca/templates/General_Purpose.dbc,即一般用途的数据库模板
-gdbName指定创建的全局数据库名称,这里指定名称为orcl
-sid 指定数据库系统标识符,这里指定为orcl,与数据库同名
-sysPassword SYS 用户口令设置为oracle
-systemPassword SYSTEM 用户口令设置为oracle
-emConfiguration 指定Enterprise Management的管理选项。LOCAL表示数据库由Enterprise Manager本地管理
-dbsnmpPassword DBSNMP 用户口令设置为oracle
-sysmanPassword SYSMAN 用户口令设置为oracle
-characterSet 指定数据库使用的字符集,这里指定为al32utf8
执行命令,检查安装,显示如下:(100%进度非常快,安装失败)
//开始安装
Copying database files
1% complete
37% complete
Creating and starting Oracle instance
40% complete
62% complete
Completing Database Creation
66% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.//安装结束
检查安装
[root@linux ~]# lsnrctl status
安装成功则最终会显示:The command completed successfully
############################################################
修改oracle启动配置文件
vi /etc/oratab
racl:/u01/app/oracle/product/11.2.0/db_1:Y //把“N”改成“Y”
ORACLE_HOME:Y:
设置Y可以通过dbstart 启动此实例,监听器。(开数据库)
dbstart ORACLE_HOME
lsnrctl status查看监听器状态
lsnrctl start开启监听
lsnrctl stop 停止监听
#####################################################################
归档检查:
sqlplus / as sysdba
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database flashback on; (如果要启用数据库闪回功能则执行)
SQL> alter database open;
SQL> execute utl_recomp.recomp_serial(); (重新编译所有可能失效对象)
SQL> alter system archive log current; (手工归档测试)
#####################################################################
sqlplus登陆数据库
sqlplus 账户名/密码 as sysdba(角色名)
SQL> startup nomount;
SQL> select status from v$instance;
SQL> select open_mode from v$database;
SQL> alter database mount;
SQL> select status from v$instance;
SQL> select open_mode from v$database;查询实例状态
SQL> alter database open;
SQL> select status from v$instance;
SQL> select open_mode from v$database;
OPEN_MODE
READ WRITE
显示READ WRITE
Oracle数据库启动成功!!!
/////////////////////////////////////////////////////////////////////
初次安装数据库查看密码有效期:
sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
将密码有效期由默认的180天修改成“无限制”:
sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改之后不需要重启动数据库,会立即生效。
/////////////////////////////////////////////////////////////////////
修改最大连接数
select count(*) from vparameter where name = 'processes'; --数据库允许的最大连接数
修改最大连接数:
alter system set processes = 2000 scope = spfile;
重启数据库:
shutdown immediate;
startup;
/////////////////////////////////////////////////////////////////////
设置开机自启动
1.检查环境变量ORACLE_HOME
echo $ORACLE_HOME
2.进入到$ORACLE_HOME/bin/
查看dbstart启动脚本
ll | grep dbs
-rwxr-x--- 1 oracle oinstall 6582 Jan 1 2000 dbshut
-rwxr-x--- 1 oracle oinstall 14088 Jan 1 2000 dbstart
编辑 dbstart,将ORACLE_HOME_LISTNER=$1修改成ORACLE_HOME_LISTNER=$ORACLE_HOME
sed -i 's/ORACLE_HOME_LISTNER=$1/ORACLE_HOME_LISTNER=$ORACLE_HOME/' dbstart
3.编辑/etc/rc.d/rc.local启动文件,添加数据库启动脚本dbstart
cat >> EOF << /etc/rc.d/rc.local
su - oracle -lc /u01/app/oracle/product/10.2.0/db_1/bin/dbstart
su - oracle -lc "/u01/app/oracle/product/10.2.0/db_1/bin/lsnrctl start"
EOF
4.重启测试结果(先拿测试机测试)
开机后查看结果
ps -ef | grep orcl #查看数据库是否启动
lsnrctl status #查看监听是否启动
进入数据库sqlplus / as sysdba
SQL> select open_mode from v$database; #查询实例状态
OPEN_MODE
--------------------
READ WRITE
/////////////////////////////////////////////////////////////////////