oracle 10g已经太老了,直接在debian buster上安装是不可以的。但可以迂回一下,先在debian squeeze上安装,然后将安装好的oracle文件打包拷贝到debian buster相同的目录结构下,并且使用相同的用户和组权限。
一、安装
1、安装squeeze及支持组件
下载squeeze最后的版本6.0.10,脱机安装完毕后,编辑/etc/apt/sources.list使用以下源:
其他镜像源都已不可用,只有此归档源可以。
安装支持组件
1
| $ sudo apt-get install build-essential ia32-libs ia32-libs-dev libc6 libc6-i386 libc6-dev libc6-dev-i386 rpm libstdc++5 libaio1 gcc-multilib xauth unzip
|
创建符号链接
1 2 3
| # ln -sf /usr/bin/awk /bin/awk # ln -sf /usr/bin/rpm /bin/rpm # ln -sf /usr/bin/basename /bin/basename
|
2、创建用户和组
1 2 3 4 5 6 7 8 9
| # groupadd oinstall # groupadd dba # adduser oracle # usermod -g oinstall -G dba oracle
# groupadd nobody # id oracle uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)
|
3、修改内核参数
添加文件/etc/sysctl.d/oracle.conf:
1 2 3 4 5 6 7 8 9 10 11 12
| fs.file-max = 65536 fs.aio-max-nr = 1048576 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 250 32000 100 128 # (Oracle recommends total machine Ram -1 byte) kernel.shmmax = 2147483648 kernel.shmall = 4194304 kernel.shmmni = 4096 net.ipv4.ip_local_port_range = 1024 65000 # dba group vm.hugetlb_shm_group = 1002 vm.nr_hugepages = 64
|
4、修改资源限制
添加文件/etc/security/limits.d/oracle.conf:
1 2 3 4 5 6
| oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft memlock 204800 oracle hard memlock 204800
|
5、准备目录结构
1 2 3 4 5 6 7
| #mkdir -p /u01/app/oracle #chown -R oracle:oinstall /u01
#chmod -R 775 /u01/app/oracle
#usermod -d /u01/app/oracle oracle #usermod -s /bin/bash oracle
|
从其他用户主目录拷贝.profile,.bashrc,.bash_logout文件到oracle用户主目录
6、安装10.2.0.1
通过X11 forward远程安装,安装路径设定为/u01/app/oracle/product/10.2.0/db_1
只安装软件,不创建数据库,忽略ins_emdb.mk错误继续安装
1 2 3 4
| $ ssh -XC oracle@host $ gunzip 10201_database_linux_x86_64.cpio.gz $ cpio -idmv < 10201_database_linux_x86_64.cpio $ database/runInstaller -ignoreSysPrereqs
|
7、升级10.2.0.4
1 2
| $ unzip p6810189_10204_Linux-x86-64.zip $ Disk1/runInstaller -ignoreSysPrereqs
|
升级时选择同一个实例,即OraDb10g_home1
二、移植
1、在squeeze上打包
1 2
| $ tar zcvf /tmp/oracle.tar.gz /u01 $ tar zcvf /tmp/oracle_conf.tar.gz /etc/oratab /etc/oraInst.loc /usr/local/bin/ /etc/sysctl.d/oracle.conf /etc/security/limits.d/oracle.conf
|
2、buster上创建用户组
1 2 3 4 5 6 7
| #groupadd oinstall #groupadd dba # adduser oracle # usermod -g oinstall -G dba oracle
#groupadd nobody
|
3、准备目录结构
1 2 3 4 5 6 7 8
| #mkdir -p /u01/app/oracle #chown -R oracle:oinstall /u01 #chown -R oracle:oinstall /u01/app #chown -R oracle:oinstall /u01/app/oracle #chmod -R 775 /u01/app/oracle
#usermod -d /u01/app/oracle oracle #usermod -s /bin/bash oracle
|
4、buster上还原oracle
将oracle.tar.gz和oracle_conf.tar.gz拷贝到/tmp目录,以oracle用户执行
1
| $ tar zxvf /tmp/oracle.tar.gz -C /
|
以root用户执行:
1
| # tar zxvf /tmp/oracle_conf.tar.gz -C /
|
5、oracle用户配置
.bashrc添加如下环境变量
1 2 3 4 5 6 7 8 9
| export ORACLE_SID=orcl export ORACLE_UNQNAME=orcl export ORACLE_OWNER=oracle export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 export PATH=$ORACLE_HOME/bin:$PATH export TNS_ADMIN=$ORACLE_HOME/network/admin export SQLPATH=$ORACLE_HOME/scripts export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
|
安装完成,经测试可以正常创建数据库,正常使用。
References:
[1]OracleDB