在单机上安装多个oracle实例
1 在 hp unix上安装 oracle 10g ,这个不解释,直接安装好。
创建组oinstall,dba,用户oracle [root@node1 ~]# groupadd oinstall [root@node1 ~]# groupadd dba [root@node1 ~]# useradd -d /home/oracle -g oinstall -G dba oracle 设置oracle用户密码 [root@node1 ~]# 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. 提示: [root@node1 ~]# id oracle uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba) 如果是非虚机安装,要注意记录下用户和组ID,在其它机器上创建同名组时,务必确认组ID和用户ID与此相同。 修改oracle用户的初始化参数文件 [root@node1 ~]# vi /home/oracle/.bash_profile 增加如下内容: export TMP=/tmp export TMPDIR=$TMP export ORACLE_BASE=/opt/ora10g export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 export ORACLE_SID=RACDB1 export ORACLE_TERM=xterm export PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin/ export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib ulimit -u 16384 -n 65536 umask 022 此处注意oracle_sid的名称要与后续创建数据库时指定的sid相同(注意大小写),不然你每次想通过本机登录的方式进入oracle 都得重新export ORACLE_SID了。 创建/opt/ora10g目录,要注意该目录所有者或oracle用户的权限 [root@node1 ~]# mkdir /opt/ora10g 由于该目录主要由oracle用户操作,因此我们将其所有者改为oracle [root@node1 ~]# chown oracle.oinstall /opt/ora10g 配置内核参数 [root@node1 ~]# vi /etc/sysctl.conf 增加或修改下列内容 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 1048576 net.core.rmem_max = 1048576 net.core.wmem_default = 262144 net.core.wmem_max = 262144 提示,上述参数中通常只有一项需要我们更改,即kernel.shmmax,该参数推荐设定为物理内存的一半 然后: [root@node1 Server]# sysctl -p 让设置生效 提高 Oracle 用户的 shell 限制 设置oracle使用的文件数权限 [root@node1 ~]# vi /etc/security/limits.conf 增加下列内容 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 修改安全限制 [root@node1 ~]# vi /etc/pam.d/login 增加: session required /lib/security/pam_limits.so 配置Hangcheck计时器 [root@node1 ~]# vi /etc/rc.local 增加: modprobe hangcheck-timer hangcheck-tick=30 hangcheck_margin=180
2 在同一个机器上需要安装4个不同的实例,用dbca建立实例,注意字符集选择ZHS16GBK,日期和区域都默认为AMERICAN
这里有个要注意的地方就是db文件的位置默认是放在 oracle_home目录下的,这个要指定到单独的位置,我们一般会在根目录下建立一个oradata的目录,
所有的dbf数据文件,包括system01.dbf, 放在此目录下。再按照不同的实例,建立不同的子目录,方便磁盘空间的管理和物理备份
3 四个实例建立好以后,要手工修改listener.ora文件, 把四个实例的监听都加上,加完以后重启监听。
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.101)(PORT = 1521)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) ) )
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PL***tProc) (ORACLE_HOME = /opt/oracle/product/9.2) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = ora9) (ORACLE_HOME = /opt/oracle/product/9.2) (SID_NAME = ora9) ) (SID_DESC = (GLOBAL_DBNAME = B3) (ORACLE_HOME = /opt/oracle/product/9.2) (SID_NAME = B3) ) )
4 export ORACLE_SID, sqlplus / as sysdba 分别连接到不同的实例,启动实例。
5 从其它的数据库上expdp一个库过来, ftp或者scp dmp文件到本地,再执行impdp,导入数据库。
一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
create directory dpdata1 as 'd:\test\dump';
二、查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)
select * from dba_directories;
三、给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予。
grant read,write on directory dpdata1 to scott;
四、导出数据
1)按用户导
expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;
2)并行进程parallel
expdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3
3)按表名导
expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;
4)按查询条件导
expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';
5)按表空间导
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;
6)导整个数据库
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;
五、还原数据
1)导到指定用户下
impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;
2)改变表的owner
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;
3)导入表空间
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;
4)导入数据库
impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;
在单机上安装多个oracle实例的更多相关文章
- 在一台Linux服务器上安装多个MySQL实例(一)--使用mysqld_multi方式
(一)MySQL多实例概述 实例是进程与内存的一个概述,所谓MySQL多实例,就是在服务器上启动多个相同的MySQL进程,运行在不同的端口(如3306,3307,3308),通过不同的端口对外提供服务 ...
- Windows上安装多个MySQL实例(转)
在学习和开发过程中有时候会用到多个MySQL数据库,比如Master-Slave集群.分库分表,开发阶段在一台机器上安装多个MySQL实例就显得方便不少. 在 MySQL教程-基础篇-1.1-Wind ...
- 记录在Windows上安装和使用Oracle数据库过程中的坑
1.安装Oracle Oracle软件是免费的,可以去官网下载相应的安装包.但是如果用于商业用途需要购买License.官网上针对各种平台,32位和64位都有,如果在Windows一般会下载到两个文件 ...
- 关于同一台机器上安装多个sql实例的连接方法
由于客户需要在一台服务器上安装了两个sql服务器(一个sql2000,一个是sql2005,其实例名不同),默认的端口1433被先安装的sql2000使用,后来安装的的随机启用了一个3045端口.其中 ...
- 64位windows7 上安装32位oracle 10g 的方法
操作系统: windows7 中文旗舰版 oracle安装版本: 10.2.0.1 中文版,升级补丁至 10.2.0.3 下面说正题首先,我们要解除oracle安装的windows版本检测1.编辑安装 ...
- 64位 windows2008 R2 上安装32位oracle 10g 的方法
首先,我们要解除oracle安装的windows版本检测1.编辑安装包内文件 database\stage\prereq\db\refhost.xml 在 <OPERATING_SYSTEM& ...
- ORA-12538;ORA-12154;使用PL/SQL dve无法连接远程服务器上的oracle数据库,同时本机上也安装了一个oracle数据库
问题描述:本人使用PL/SQL dve连接远程服务器上的oracle数据库,一直是没有问题的.我想提高下自己在数据库方面的能力就在自己的笔记本上安装了一个oracle数据库实例,安装并配置好之后,使用 ...
- 在 Ubuntu 18.04 LTS 无头服务器上安装 Oracle VirtualBox
作者: Sk 译者: LCTT qhwdw | 2018-10-12 01:59 本教程将指导你在 Ubuntu 18.04 LTS 无头服务器上,一步一步地安装 Oracle VirtualBox. ...
- Oracle安装和配置Oracle数据库快速指南
Oracle安装12C要求参考文档 汇总 中文版:在 Unix AIX,HP-UX,Linux,Solaris 和 MS Windows 操作系统上安装和配置 Oracle 数据库(RDBMS)的要求 ...
随机推荐
- MD5三种方法的学习总结
MD5百度百科 MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又译摘要算法.哈希算法),主流编程语言普遍已 ...
- [hihicoder][Offer收割]编程练习赛47
删除树节点 #pragma comment(linker, "/STACK:102400000,102400000") #include<stdio.h> #inclu ...
- javascript中天气接口案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Android App退出检测
app的退出检测是很难的,但是获取app“要退出”的状态就容易多了,退出的瞬间并不是真的退出了,ActivityManager要销毁activity,也需要一些时间和资源的. 先见下面的运行效果: ...
- NYOJ心急的C小加——贪心
这个题会联想到拦截导弹的题目http://codevs.cn/problem/1044/ 首先用动态规划,利用Dilworth定理解题,然而超时了(╥╯^╰╥) 关于Dilworth定理,我的理解: ...
- 推荐10个超棒的jQuery工具 提示插件
脚本之家 http://www.jb51.net/article/28525.htm
- 「JavaSE 重新出发」05.03.03 使用反射编写泛型数组代码
Employee[] a = new Employee[100]; // ... // array is full a = Arrays.copyOf(a, 2 * a.length); 如何编写这样 ...
- CUDA 编程实例:计算点云法线
程序参考文章:http://blog.csdn.net/gamesdev/article/details/17535755 程序优化2 简介:CUDA ,MPI,Hadoop都是并行运算的工具.CU ...
- swift的计算属性和懒加载
计算属性每次都重新计算. 懒加载只计算一次. 可以借助backing store将计算属性转化为懒加载属性. 计算属性实质上退化为函数调用. 计算属性的标示是get.set.
- /usr/bin/ld: cannot find -lxxx 问题 解决方法总结
最近在做毕设的收尾工作,很多程序都要部署到linux下来运行,遇到了挺多问题,昨天就集中性遇到了 在编译应用时,遇到了 /usr/bin/ld: cannot find -lxxx 这种情况是系统找不 ...