项目组需要在一个异地的 HP 小型机上安装 Oracle, 系统的硬件信息如下:
软件信息如下:
1. 下载正确的 Oracle 安装版本
HP-UX 可以运行在 HP 自己的处理器 PA-RISC 和 Intel 的 Itanium( 安腾 ) 处理器上 Oracle 官网上针对 HP-UX 的 Oracle 版本有两个:
Ø HP-UX PA-RISC (64-bit)
Ø HP-UX Itanium
分别对应两个不同的处理器类型。由于小型机处理器是 Itanium 的,所以选择下载版本 HP-UX Itanium 的 Oracle :
Ø hpia64_11gR2_database_1of2.zip
Ø hpia64_11gR2_database_2of2.zip
2. 前期准备
索要小型机的以下信息:
Ø IP
Ø Root 的密码
3. VPN 连接
网络连接要求使用 VPN ,下面是在我的 XP 机器上建立 VPN 连接的方式:
Ø 网上邻居 à 右键 à 属性 à 创建一个新的连接
Ø 下一步 à 连接到我的工作场所的网络 à 虚拟专用网络连接 à 公司名(随便写一个)
Ø 下一步 à VPN 服务器选择(写上你要拨入的 IP 或域名) à 完成
Ø 使用分配的用户和密码拨号连 VPN
连上 VPN 后其他的网络连接就不好使了,但是安装的时候需要不断查资料啊,
于是赶紧又把寝室的一台本本找来,以备不时之需。
4. 远程连接
Oracle 软件的安装依赖 OUI ,所以必须解决怎样图形界面到远程的小型机。我自己的机器是 XP 的,在网上搜了一下,大部分的人都是使用 VNC 来搞定的。所以首先打算使用 VNC ,就跑去 realvnc 的官网,但是上面只有: VNC Free Edition for HP-UX 11/11i (PA-RISC) ,没有针对 Itanium 的,又 Google 半天,据说在 Itanium 下也可以使用,于是 ssh 到小型机上,安装了 VNC ,但是不好使。看来使用 VNC 是不可行了。一个小插曲, Google 时看到 HP-UX 应该有一个命令: aries ,可以动态的 Itanium 平台上在模拟 PA-RISC 下的程序运行,但是结果总是不好使。
Xmanager 是接下来看到的 , 现去下了一个,安装完毕。点击其中的 Xstart ,填写如下信息
点击 run ,看到:
看以下自己 XP 的 IP :
然后设置 xhost 和 DISPLAY ,然后使用 xclock 测试:
看到这个不懂的 clock 出现,甭提当时多高兴了╰( ̄▽ ̄)自我陶醉一下。
5. 开始安装 Oracle
以下的步骤就是老老实实根据 Oracle 官方说明文档来做了。查看【 HP-UX Installation Guides 】下的【 Database Quick Installation Guide for HP-UX Itanium 】文档,此时就看到本本多的好处了。
5.1. 检查硬件
Ø 内存: >=4G
[root]#/usr/contrib/bin/machinfo | grep -i Memory
Memory: 294520 MB (287.62 GB)
## OK-- 第一次见这么大的内存,汗哪
Ø 交换空间: >=32G
[root]# /usr/sbin/swapinfo -a
## NG-- 好像只有 8G ,所以记下来待系统管理员修改
Ø 磁盘空间: /tmp >= 1G ,然后查看其它的装载点,然后决定 Oracle 装载哪儿
[root]# bdf
Filesystem kbytes used avail %used Mounted on
/dev/vg00/lvol3 1048576 237744 804608 23% /
/dev/vg00/lvol1 1795241 324883 1290833 20% /stand
/dev/vg00/lvol7 8912896 1468304 7393352 17% /var
/dev/vg00/lvol6 6422528 3129440 3267464 49% /usr
/dev/vg00/lvol5 4194304 21896 4140712 1% /tmp
/dev/vg00/lvol4 9895936 5389808 4471024 55% /opt
/dev/vg00/lvol8 4194304 5584 4156000 0% /home
/dev/vgdata1/lvora1 3276865536 363792 3250904088 0% /lvora1
## OK-- 本来打算把 Oracle 装在 /opt 下或 /home 下,现在看来它们的空间都够呛,所以打算都装在 lvora1 下,这是一个磁盘阵列,有 3T 的空间。并且 tmp 空间也够。
5.2. 检查软件
Ø OS :要求 HP-UX 11i V3 patch Bundle Sep/ 2008 (B.11.31.0809.326a) or higher
[root]# uname -a
HP-UX XX B.11.31 U ia64 2986132231 unlimited-user license
## OK
Ø 编译器:
A.06.20 (HP C/aC++ Swlist Bundle - C.11.31.04) - Sep 2008
Ø 补丁:
PHCO_40381
PHKL_38038
PHKL_38938
PHKL_39351
PHSS_36354
PHSS_37042
PHSS_37959
PHSS_39094
PHSS_39100
PHSS_39102
PHSS_38141
PHSS_39824
## NG 需要一个个使用 /usr/sbin/swlist -l patch | grep PHSS_37959 来查看,真头疼,发现很多都没有,然后去 HP 的【 IT resource center 】下载,人家需要产品序列号,没办法,继续查看内核参数吧。这项记着。
Ø 内核参数,需要以下的最小设置:
si_alloc_max 32768
executable_stack 0
max_thread_proc 1024
maxdsiz 1073741824 (1 GB)
maxdsiz_64bit 2147483648 (2 GB)
maxssiz 134217728 (128 MB)
maxssiz_64bit 1073741824 (1 GB)
maxuprc 3686
msgmni 4096
msgtql 4096
ncsize 35840
maxfiles_lim 63488
maxfiles 1024
nflocks 4096
ninode 34816
nkthread 7184
nproc 4096
semmni 4096
semmns 8192
semmnu 4092
semvmx 32767
shmmax 1073741824
shmmni 4096
shmseg 512
## NG— 因为自己不知道怎么样修改参数。
5.3. 安装补丁和修改内核参数
整到这儿都凌晨都快凌晨 2 点了,也没法向下进行了。所以整理以下补丁和内核参数发给 HP 的实施工程师。以下是从第二天 16 点开始的,因为期间是漫长的沟通和等待,不断的电话 ing 。终于等到所有的内核参数和补丁都搞定了,开始继续。
5.4. 创建 oracle 用户组和用户及 oracle 安装目录
[root]#groupadd oinstall
[root]#groupadd dba
[root]#useradd oracle -g oinstall -G dba -m oracle
[root]#passwd oracle
[root]#mkdir -p /lvora1/app/oracle
[root]#chown -R oracle:oinstall /lvora1/app/oracle
[root]#chmod -R 775 /lvora1/app/oracle
[root]#mkdir -p /lvora1/app/oraInventory
[root]#chown -R oracle:oinstall /lvora1/app/oraInventory
[root]#chmod -R 775 /lvora1/app/oraInventory
## 至此可以退出 root 使用 oracle 登录了,使用 root 时我总是胆战心惊的,总害怕一不小心把哪儿搞坏,所以整个 root 期间我都满身大汗的。
5.5. 设置 Oracle 用户系统变量
[oracle]$vi .profile
将以下内容 copy 至此文件的最后
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/lvora1/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=ORCL
export ORACLE_TERM=xterm
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
然后退出重新登录。
5.6. 开始安装
又是一个插曲,下载下来的 oracle 安装文件是 zip 的,但是 HP-UX 下竟然好像没有 unzip ,真是抓狂。有去 csdn 上下了一个 unzip ,上传上去。以下操作都是在 xmanager 中完成的。
[oracle]$cd download
[oracle]$chmod +x unzip
[oracle]$unzip hpia64_11gR2_database_1of2.zip
[oracle]$unzip hpia64_11gR2_database_2of2.zip
[oracle]$cd database
[oracle]$chmod +x runInstaller
[oracle]$./runInstaller
终于看到 OUI 了,那个高兴,呵呵。下面是一顿 next ,具体的就不说了。等了好一会才装完,期间去看会凤凰卫视都看不踏实, DBA 都是这样么。
5.7. 建库
[oracle]$dbca
期间发生过两个错。一个是内存溢出,又喊 HP 的人把内核参数 shmmax 修改为 214748364800 ( 200G ),这个错没了。另一个不知道是不是 db_block_size 引起的,因为选择的是数据仓库安装,所以把 db_block_size 设为 16K ,但是报错,所以又改了回去,就没事了,具体的错以后整理出来供参考。等了很久看到 finish ,甭提多高兴,已经下午 5 点多了。
5.8. 创建 listener
[oracle]$netca
5.9. 创建表空间
问了一下需求,本次测试最多需要几百 G 的数据,所以 1T 应该足够了。每个数据文件 16G ,一共 64 个,索引表空间建 320G 的,每个文件 16G ,一共 20 个。
[sqlplus]conn / nolog
[sqlplus]conn / as sysdba
[sqlplus]conn / as sysdba
[sqlplus]CREATE TABLESPACE TBL_TS
DATAFILE
'/lvora1/app/oracle/oradata/ORCL/tbl_ts/tbl_ts_01.DBF' SIZE 16G,
'/lvora1/app/oracle/oradata/ORCL/tbl_ts/tbl_ts_02.DBF' SIZE 16G,
...
'/lvora1/app/oracle/oradata/ORCL/tbl_ts/tbl_ts_64.DBF' SIZE 16G
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
SEGMENT SPACE MANAGEMENT AUTO;
[sqlplus]CREATE TABLESPACE IDX_TS
DATAFILE
'/lvora1/app/oracle/oradata/ORCL/idx_ts/idx_ts_01.DBF' SIZE 16G,
'/lvora1/app/oracle/oradata/ORCL/idx_ts/idx_ts_02.DBF' SIZE 16G,
...
'/lvora1/app/oracle/oradata/ORCL/idx_ts/idx_ts_20.DBF' SIZE 16G
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
SEGMENT SPACE MANAGEMENT AUTO;
5.10. 创建用户
[sqlplus]create user XXX
identified by XXX
default tablespace TBL_TS
temporary tablespace TEMP;
[sqlplus]GRANT CONNECT TO XXX
[sqlplus]GRANT RESOURCE TO XXX
[sqlplus]GRANT SELECT_CATALOG_ROLE TO XXX
[sqlplus]GRANT EXECUTE_CATALOG_ROLE TO XXX
[sqlplus]GRANT RECOVERY_CATALOG_OWNER TO XXX
[sqlplus]GRANT SELECT ANY DICTIONARY TO XXX
[sqlplus]grant create any view to XXX
[sqlplus]ALTER USER ABIS_HZ QUOTA UNLIMITED ON TBL_TS;
[sqlplus]ALTER USER ABIS_HZ QUOTA UNLIMITED ON IDX_TS;
5.11. 导入数据
到 DMP 进去,终于搞定了,已经晚上 12 点了。
备注:
1. Oracle 下载:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
2. RealVNC 下载: