1.环境变量设置
2.创建所需目录
3.生成密码文件
4.创建pfile参数文件
5.生成spfile参数文件
6.执行创建数据库语句
7.执行catalog.sql和catproc.sql脚本
8.最后的检查
一:手动建库前期准备:
1.1. 安装 linux 操作系统
安装过程,略
本测试环境采用的是 OEL 5.6
1.2. 安装 VMware Tools
安装过程,略
1.3. YUM 安装软件包
或者用rpm –ivh方式分别安装包,参照:
安装完毕,请再root用户下创建oracle用户及设置密码,及创建用户组oinstall(groupadd
Oinstall)。
[root@hong ~]# mount /dev/cdrom /mnt
mount: you must specify the filesystem type
挂载光盘
[root@hong ~]# mount /dev/cdrom /mnt
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@hong ~]# vi /etc/yum.repos.d/public-yum-el5.repo
[oel5]
name = Enterprise Linux 5.6 DVD
baseurl=file:///mnt/Server/
gpgcheck=0
enabled=1
~
~
"/etc/yum.repos.d/public-yum-el5.repo" [New] 5L, 88C written
[root@hong ~]#
[root@hong ~]# yum install oracle-validated
Loaded plugins: rhnplugin, security
This system is not registered with ULN.
ULN support will be disabled.
oel5 | 1.1 kB 00:00
oel5/primary | 1.4 MB 00:00
oel5 3247/3247
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package oracle-validated.x86_64 0:1.1.0-7.el5 set to be updated
oel5/filelists | 3.1 MB 00:00
--> Processing Dependency: gdb for package: oracle-validated
--> Processing Dependency: kernel-uek-headers for package: oracle-validated
--> Processing Dependency: /usr/lib/libaio.so for package: oracle-validated
--> Processing Dependency: glibc-headers for package: oracle-validated
--> Processing Dependency: unixODBC-devel for package: oracle-validated
--> Processing Dependency: sysstat for package: oracle-validated
--> Processing Dependency: /usr/lib64/libodbccr.so for package: oracle-validated
--> Processing Dependency: gcc-c++ for package: oracle-validated
--> Processing Dependency: libaio-devel for package: oracle-validated
--> Processing Dependency: gcc for package: oracle-validated
--> Processing Dependency: elfutils-libelf-devel for package: oracle-validated
--> Processing Dependency: compat-gcc-34-c++ for package: oracle-validated
--> Processing Dependency: /usr/lib/gcc/x86_64-redhat-linux/4.1.1/libstdc++.a for package: oracle-validated
--> Processing Dependency: /usr/lib/libodbc.so.1 for package: oracle-validated
--> Processing Dependency: compat-gcc-34 for package: oracle-validated
--> Processing Dependency: /usr/lib/libc.so for package: oracle-validated
--> Processing Dependency: /usr/lib64/libaio.so for package: oracle-validated
--> Processing Dependency: /usr/lib64/libc.so for package: oracle-validated
--> Processing Dependency: /usr/lib/libodbccr.so for package: oracle-validated
--> Processing Dependency: libXp.so.6 for package: oracle-validated
--> Processing Dependency: libdb-4.2.so()(64bit) for package: oracle-validated
--> Processing Dependency: libodbc.so.1()(64bit) for package: oracle-validated
--> Running transaction check
---> Package compat-db.x86_64 0:4.2.52-5.1 set to be updated
---> Package compat-gcc-34.x86_64 0:3.4.6-4.1 set to be updated
---> Package compat-gcc-34-c++.x86_64 0:3.4.6-4.1 set to be updated
---> Package elfutils-libelf-devel.x86_64 0:0.137-3.el5 set to be updated
--> Processing Dependency: elfutils-libelf-devel-static-x86_64 = 0.137-3.el5 for package: elfutils-libelf-devel
---> Package gcc.x86_64 0:4.1.2-50.el5 set to be updated
---> Package gcc-c++.x86_64 0:4.1.2-50.el5 set to be updated
---> Package gdb.x86_64 0:7.0.1-32.el5 set to be updated
---> Package glibc-devel.i386 0:2.5-58 set to be updated
---> Package glibc-devel.x86_64 0:2.5-58 set to be updated
---> Package glibc-headers.x86_64 0:2.5-58 set to be updated
---> Package kernel-uek-headers.x86_64 0:2.6.32-100.26.2.el5 set to be updated
---> Package libXp.i386 0:1.0.0-8.1.el5 set to be updated
---> Package libaio-devel.i386 0:0.3.106-5 set to be updated
---> Package libaio-devel.x86_64 0:0.3.106-5 set to be updated
---> Package libstdc++-devel.x86_64 0:4.1.2-50.el5 set to be updated
---> Package sysstat.x86_64 0:7.0.2-3.el5_5.1 set to be updated
---> Package unixODBC.i386 0:2.2.11-7.1 set to be updated
---> Package unixODBC.x86_64 0:2.2.11-7.1 set to be updated
---> Package unixODBC-devel.i386 0:2.2.11-7.1 set to be updated
---> Package unixODBC-devel.x86_64 0:2.2.11-7.1 set to be updated
--> Running transaction check
---> Package elfutils-libelf-devel-static.x86_64 0:0.137-3.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=====================================================================================================================================
Package Arch Version Repository Size
=====================================================================================================================================
Installing:
oracle-validated x86_64 1.1.0-7.el5 oel5 23 k
Installing for dependencies:
compat-db x86_64 4.2.52-5.1 oel5 1.6 M
compat-gcc-34 x86_64 3.4.6-4.1 oel5 4.3 M
compat-gcc-34-c++ x86_64 3.4.6-4.1 oel5 13 M
elfutils-libelf-devel x86_64 0.137-3.el5 oel5 24 k
elfutils-libelf-devel-static x86_64 0.137-3.el5 oel5 64 k
gcc x86_64 4.1.2-50.el5 oel5 5.3 M
gcc-c++ x86_64 4.1.2-50.el5 oel5 3.8 M
gdb x86_64 7.0.1-32.el5 oel5 2.4 M
glibc-devel i386 2.5-58 oel5 2.0 M
glibc-devel x86_64 2.5-58 oel5 2.4 M
glibc-headers x86_64 2.5-58 oel5 593 k
kernel-uek-headers x86_64 2.6.32-100.26.2.el5 oel5 709 k
libXp i386 1.0.0-8.1.el5 oel5 22 k
libaio-devel i386 0.3.106-5 oel5 12 k
libaio-devel x86_64 0.3.106-5 oel5 11 k
libstdc++-devel x86_64 4.1.2-50.el5 oel5 2.8 M
sysstat x86_64 7.0.2-3.el5_5.1 oel5 175 k
unixODBC i386 2.2.11-7.1 oel5 830 k
unixODBC x86_64 2.2.11-7.1 oel5 835 k
unixODBC-devel i386 2.2.11-7.1 oel5 743 k
unixODBC-devel x86_64 2.2.11-7.1 oel5 799 k
Transaction Summary
=====================================================================================================================================
Install 22 Package(s)
Upgrade 0 Package(s)
Total download size: 42 M
Is this ok [y/N]: y
Downloading Packages:
-------------------------------------------------------------------------------------------------------------------------------------
Total 2.2 GB/s | 42 MB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : unixODBC 1/22
Installing : compat-db 2/22
Installing : gdb 3/22
Installing : sysstat 4/22
Installing : kernel-uek-headers 5/22
Installing : glibc-headers 6/22
Installing : glibc-devel 7/22
Installing : compat-gcc-34 8/22
Installing : libstdc++-devel 9/22
Installing : glibc-devel 10/22
Installing : unixODBC-devel 11/22
Installing : libaio-devel 12/22
Installing : libaio-devel 13/22
Installing : unixODBC 14/22
Installing : libXp 15/22
Installing : gcc 16/22
Installing : gcc-c++ 17/22
Installing : compat-gcc-34-c++ 18/22
Installing : unixODBC-devel 19/22
Installing : elfutils-libelf-devel 20/22
Installing : oracle-validated 21/22
Installing : elfutils-libelf-devel-static 22/22
Installed:
oracle-validated.x86_64 0:1.1.0-7.el5
Dependency Installed:
compat-db.x86_64 0:4.2.52-5.1 compat-gcc-34.x86_64 0:3.4.6-4.1
compat-gcc-34-c++.x86_64 0:3.4.6-4.1 elfutils-libelf-devel.x86_64 0:0.137-3.el5
elfutils-libelf-devel-static.x86_64 0:0.137-3.el5 gcc.x86_64 0:4.1.2-50.el5
gcc-c++.x86_64 0:4.1.2-50.el5 gdb.x86_64 0:7.0.1-32.el5
glibc-devel.i386 0:2.5-58 glibc-devel.x86_64 0:2.5-58
glibc-headers.x86_64 0:2.5-58 kernel-uek-headers.x86_64 0:2.6.32-100.26.2.el5
libXp.i386 0:1.0.0-8.1.el5 libaio-devel.i386 0:0.3.106-5
libaio-devel.x86_64 0:0.3.106-5 libstdc++-devel.x86_64 0:4.1.2-50.el5
sysstat.x86_64 0:7.0.2-3.el5_5.1 unixODBC.i386 0:2.2.11-7.1
unixODBC.x86_64 0:2.2.11-7.1 unixODBC-devel.i386 0:2.2.11-7.1
unixODBC-devel.x86_64 0:2.2.11-7.1
Complete!
1.4. 修改密码及创建目录和权限
1) 修改 oracle 用户的密码
注 我们使用 YUM 安装了相关的程序包的同时,也为我们创建了 Oracle 账户和相关的组,默认的密码
即为 oracle
[root@hong ~]# passwd oracle
Changing password for user oracle.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
2) 创建相关目录并赋权
[root@hong ~]# mkdir /soft
[root@hong ~]# chown -R oracle:oinstall /soft
[root@hong ~]# chmod -R 755 /soft
[root@hong ~]# mkdir -p /u01/app/oracle
[root@hong ~]# chown -R oracle:oinstall /u01
[root@hong ~]# chmod -R 755 /u01
1.5. 设置 oracle 用户环境变量
[root@hong ~]# su - oracle
[oracle@hong ~]$ vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=CAI
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
~
".bash_profile" 18L, 389C written
[oracle@hong ~]$
修改完成,使其修改生效,如下:
[oracle@ocmu ~]$ . .bash_profile
[oracle@ocmu ~]$
或者
[oracle@ocmu ~]$ source .bash_profile
[oracle@ocmu ~]$
再或者注销重新登录
注:
ORACLE_BASE: oracle 产品基目录
ORACLE_HOME:数据库产品目录通常情况下 HOME 目录是 BASE 的子目录
ORACLE_SID:操作系统和 oracle 实例关联的纽带
PATH:将安装后的 oracle 命令追加到执行搜索路径
LD_LIBRARY_PATH:动态库的位置
1.6. 上传 oracle 安装介质
将 oracle 安装介质上传到/soft 目录下,步骤略……
1.7. 安装软件
1) 在 oracle 用户下,执行 oracle 安装命令后,检查通过后,启动图形界面(使用xsheel)
[oracle@hong ~]$ cd /soft
[oracle@hong soft]$ ls
p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip
[oracle@hong soft]$ unzip p13390677_112040_Linux-x86-64_1of7.zip
[oracle@hong soft]$ unzip p13390677_112040_Linux-x86-64_2of7.zip
[oracle@hong soft]$ ls
Database p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip
软件安装完毕;
二:开始手动建库
1.创建密码文件(作用:允许远程用密码方式以sysdba身份登陆数据库,密码文件可有可无)
--切换到存放密码文件的目录
oracle@hong soft]$ cd $ORACLE_HOME/dbs
[oracle@hong dbs]$ ls
init.ora
[oracle@hong dbs]$ orapwd file=orapwCAI password=oracle
[oracle@hong dbs]$ ls
init.ora orapwCAI
2:生成pfile文件
oracle@hong ~]$ cd $ORACLE_HOME/dbs
[oracle@hong dbs]$ ls
init.ora orapwCAI
[oracle@hong dbs]$ cat init.ora |grep -v ^#|grep -v ^$
db_name='ORCL'
memory_target=1G
processes = 150
audit_file_dest='/admin/orcl/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest=''
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
control_files = (ora_control1, ora_control2)
compatible ='11.2.0'
[oracle@hong dbs]$ cat init.ora |grep -v ^#|grep -v ^$ > initCAI.ora
[oracle@hong dbs]$ ls
initCAI.ora init.ora orapwCAI
[oracle@hong dbs]$
查看:
[root@hong ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 39G 9.2G 28G 26% /
/dev/sda1 99M 22M 73M 23% /boot
tmpfs 995M 0 995M 0% /dev/shm
/dev/sr0 3.6G 3.6G 0 100% /media/Oracle Linux Server dvd 20110119
/dev/sr0 3.6G 3.6G 0 100% /mnt
[root@hong ~]#
--编辑参数文件
[oracle@hong dbs]$ vi initCAI.ora
db_name='CAI'
memory_target=900M
processes = 150
audit_file_dest='/u01/app/oracle/admin/CAI/adump'
#audit_trail ='db'
db_block_size=8192
db_domain=''
#db_recovery_file_dest='/flash_recovery_area'
#db_recovery_file_dest_size=2G
#diagnostic_dest=''
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
control_files = (/u01/app/oracle/oradata/CAI/control01.ctl, /u01/app/oracle/oradata/CAI/control02.ctl)
compatible ='11.2.0'
~
"initCAI.ora" 16L, 527C written
[oracle@hong dbs]$
3:根据pfile创建目录adump目录和控制文件目录
[oracle@hong ~]$ mkdir -p $ORACLE_BASE/admin/CAI/adump
[oracle@hong ~]$ mkdir -p
$ORACLE_BASE/oradata/CAI/
4:通过pfile创建spfile
--查看已存在的pfile文件initCAI.ora
[oracle@hong CAI]$ cd $ORACLE_HOME/dbs
[oracle@hong dbs]$ ls
initCAI.ora init.ora orapwCAI
--验证当前环境变量
[oracle@hong dbs]$ echo $ORACLE_SID
CAI
[oracle@hong dbs]$
--通过pfile创建spfile
oracle@hong dbs]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Wed Sep 14 20:44:36 2016
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.
SQL> create spfile from pfile;
File created.
SQL> !ls
initCAI.ora init.ora orapwCAI spfileCAI.ora
5:数据库启动到nomount(默认情况下,oracle会使用spfile启动数据库)
[oracle@hong dbs]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Wed Sep 14 20:48:55 2016
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 939495424 bytes
Fixed Size 2258840 bytes
Variable Size 595593320 bytes
Database Buffers 335544320 bytes
Redo Buffers 6098944 bytes
SQL>
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u01/app/oracle/product/11.2.0
/dbhome_1/dbs/spfileCAI.ora
SQL>
SQL> select status from v$instance;
STATUS
------------
STARTED
6:编写创建数据库脚本
Oracle11g官方文档:
Administrator’s Guide->2 Creating and Configuring an Oracle Database->Step 9: Issue the CREATE DATABASE Statement
1)修改数据库名称及相关口令
2)由于是测试环境,所以,可以将日志文件改为1个成员,把成员大小改为10M
3)修改users表空间大小及undo表空间大小
4)修改undo表空间的名称,要与pfile文件中的名称相同
[oracle@hong dbhome_1]$ vi createdb.sql
create database CAI
user sys identified by oracle
user system identified by oracle
logfile group 1 ('/u01/app/oracle/oradata/CAI/redo01.log') size 10m blocksize 512,
group 2 ('/u01/app/oracle/oradata/CAI/redo02.log') size 10m blocksize 512,
group 3 ('/u01/app/oracle/oradata/CAI/redo03.log') size 10m blocksize 512
maxlogfiles 5
maxlogmembers 5
maxloghistory 1
maxdatafiles 100
character set us7ascii
national character set al16utf16
extent management local
datafile '/u01/app/oracle/oradata/CAI/system01.dbf' size 325m reuse
sysaux datafile '/u01/app/oracle/oradata/CAI/sysaux01.dbf' size 325m reuse
default tablespace users
datafile '/u01/app/oracle/oradata/CAI/users01.dbf'
size 50m reuse autoextend on maxsize unlimited
default temporary tablespace tempts1
tempfile '/u01/app/oracle/oradata/CAI/temp01.dbf'
size 20m reuse
undo tablespace undotbs1
datafile '/u01/app/oracle/oradata/CAI/undotbs01.dbf'
size 50m reuse autoextend on maxsize unlimited;
~
"createdb.sql" [New] 25L, 2089C written
[oracle@hong dbhome_1]$
7:创建数据库(数据库此时的状态应该是nomount,直接在sqlplus下执行创建数据库脚本即可)
SQL> @?/createdb.sql
Database created.
SQL> select status from v$instance;
STATUS
------------
OPEN
--查看相关参数验证数据库已创建完成
SQL> show parameter control_files
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string /u01/app/oracle/oradata/CAI/co
ntrol01.ctl, /u01/app/oracle/o
radata/CAI/control02.ctl
SQL>
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
SQL>
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u01/app/oracle/product/11.2.0
/dbhome_1/dbs/spfileCAI.ora
8:创建字典表及工具包
--必执行脚本
SQL> conn / as sysdba
SQL> @?/rdbms/admin/catalog.sql
SQL> @?/rdbms/admin/catproc.sql
SQL> conn system/oracle
SQL> @?/sqlplus/admin/pupbld.sql
--可选脚本
SQL> conn / as sysdba
SQL> @?/rdbms/admin/catblock.sql
SQL> @?/rdbms/admin/catoctk.sql
SQL> @?/rdbms/admin/owminst.plb
9.验证数据库可用性:
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
5 rows selected.
完成!!!!!!!!