oracle创建多个实例6,在单机上安装多个oracle实例

1   在 hp unix上安装 oracle 10g ,这个不解释,直接安装好。

创建组oinstall,dba,用户oracle[[email protected] ~]# groupadd oinstall[[email protected] ~]# groupadd dba[[email protected] ~]# useradd -d /home/oracle -g oinstall -G dba oracle设置oracle用户密码[[email protected] ~]# passwd oracleChanging password for user oracle.New UNIX password: BAD PASSWORD: it is based on a dictionary wordRetype new UNIX password: passwd: all authentication tokens updated successfully.提示:[[email protected] ~]# id oracleuid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)如果是非虚机安装,要注意记录下用户和组ID,在其它机器上创建同名组时,务必确认组ID和用户ID与此相同。修改oracle用户的初始化参数文件[[email protected] ~]# vi /home/oracle/.bash_profile增加如下内容:export TMP=/tmpexport TMPDIR=$TMPexport ORACLE_BASE=/opt/ora10gexport ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1export ORACLE_SID=RACDB1export ORACLE_TERM=xtermexport PATH=/usr/sbin:$PATHexport PATH=$ORACLE_HOME/bin:$PATHexport 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/jlibulimit -u 16384 -n 65536umask 022此处注意oracle_sid的名称要与后续创建数据库时指定的sid相同(注意大小写),不然你每次想通过本机登录的方式进入oracle 都得重新export ORACLE_SID了。创建/opt/ora10g目录,要注意该目录所有者或oracle用户的权限[[email protected] ~]# mkdir /opt/ora10g由于该目录主要由oracle用户操作,因此我们将其所有者改为oracle[[email protected] ~]# chown oracle.oinstall /opt/ora10g配置内核参数[[email protected] ~]# vi /etc/sysctl.conf增加或修改下列内容kernel.shmall = 2097152kernel.shmmax = 536870912kernel.shmmni = 4096kernel.sem = 250 32000 100 128fs.file-max = 65536net.ipv4.ip_local_port_range = 1024 65000net.core.rmem_default = 1048576net.core.rmem_max = 1048576net.core.wmem_default = 262144net.core.wmem_max = 262144提示,上述参数中通常只有一项需要我们更改,即kernel.shmmax,该参数推荐设定为物理内存的一半  然后:[[email protected] Server]# sysctl -p让设置生效提高 Oracle 用户的 shell 限制设置oracle使用的文件数权限[[email protected] ~]# vi /etc/security/limits.conf 增加下列内容oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536修改安全限制[[email protected] ~]# vi /etc/pam.d/login增加:session    required     /lib/security/pam_limits.so配置Hangcheck计时器[[email protected] ~]# 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[email protected]schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;

2)并行进程parallel

expdp[email protected]directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3

3)按表名导

expdp[email protected]TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;

4)按查询条件导

expdp[email protected]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;

原文:http://www.cnblogs.com/zwl715/p/3837660.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Docker 中创建多个 Oracle 实例,可以按照以下步骤进行操作: 1. 首先,需要下载并安装 Oracle Database 镜像。可以从 Docker Hub 上下载官方的 Oracle Database 镜像,也可以使用第三方镜像。具体操作步骤可以参考官方文档。 2. 下载并安装 Docker。 3. 创建一个 Docker 容器来运行 Oracle Database。可以使用以下命令: ``` docker run --name oracle1 -p 1521:1521 -e ORACLE_SID=ORCL1 -e ORACLE_PDB=PDB1 -e ORACLE_PWD=oracle -v /opt/oracle/oradata/orcl1:/opt/oracle/oradata oracle/database:12.2.0.1-ee ``` 其中,`--name` 参数指定容器的名称,`-p` 参数指定容器的端口映射,`-e` 参数指定 Oracle 实例的配置信息,`-v` 参数指定容器的数据卷映射。这里使用了 `ORCL1` 作为实例名称,`PDB1` 作为 Pluggable Database 名称。同样的,可以创建多个实例,只需要修改对应的参数即可。 4. 等待容器启动完成,可以通过以下命令进入容器: ``` docker exec -it oracle1 bash ``` 5. 在容器中使用 `sqlplus` 命令连接到 Oracle 数据库,进行数据库的初始化和配置。同样的,可以为每个实例创建对应的用户、表空间等等。 6. 如果需要创建多个实例,可以使用类似的命令创建多个容器。只需要修改对应的参数,如容器名称、端口映射、实例名称等等。 以上就是在 Docker 中创建多个 Oracle 实例的基本步骤。需要注意的是,在 Docker 中运行 Oracle 数据库可能会涉及到一些性能和安全方面的问题,需要谨慎操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值