Oracle10g多实例配置一例
背景: 一次甲方组织的部署方案讨论会上,各开发商都提出了自己的服务器要求,甲方只给一台数据库先临时过渡使用,要求整合几家应用oracle数据库; 我公司做为技术整合方虽然提出各种建议,最终无果,于是提出两种方案: 第一种:一个oracle数据库实例中多方案
背景: 一次甲方组织的部署方案讨论会上,各开发商都提出了自己的服务器要求,甲方只给一台数据库先临时过渡使用,要求整合几家应用oracle数据库; 我公司做为技术整合方虽然提出各种建议,最终无果,于是提出两种方案:
第一种:一个oracle数据库实例中多方案(用户)方式部署,一个应用分配一个数据库帐号(用户)。
第二种:一个是采用多实例方式部署,一个应用一个单独实例。
两种方案各有利弊;因各开发商都说自己数据敏感,于是提出选择了多实例部署的方案,多实例的方式就是在一个oracle数据库服务器创建多个数据库实例,同时运行,应用数据库层面互不干扰。 多实例创建方式很多种,这里以两个实例为例:
(1) 一个数据库实例创建好后,再直接采用DBCA创建另一个实例,适合全新安装,比较方便快速。
(2) 通过现有一个实例数据库克隆一个数据库实例。
(3) 通过rman备份恢复在本机恢复一个数据库实例。
安装多实例需要注意的问题,内存占用量大,两个数据库实例都要各自分配SGA,PGA等内存,对两个实例内存的分配注意控制,以免过多分配内存对主机系统造成影响。
本文第二种方式部署多实例,仅只做安装测试,对于sga内存分配等内容本例忽略掉了, 通过本文对数据库的物理结构进行了一次复习,该方式对11g for linux版本一样适用。
1. 数据库环境
(1) 现在一个数据库情况
操作系统版本 : OEL5.8 x64
数据库版本 : Oracle 10.2.0.5 x64
数据库名 : orcl
数据库SID : orcl
实例名 : orcl
数据库文件路径: /u01/app/oracle/oradata/orcl/
(2) 待克隆的数据库
数据库名 : abc
数据库SID : abc
实例名 : abc
数据库文件路径: /u01/app/oracle/oradata/abc/
说明:两个数据库实例采用不同目录结构与数据库名称。
2. 准备abc实例的目录结构
# su - oracle
$ mkdir -p /u01/app/oracle/admin/abc/{adump,bdump,cdump,dpdump,udump,pfile}
$ mkdir -p /u01/app/oracle/oradata/abc/
3. 准备abc实例的参数文件
通过现有orcl实例的参数文件进行修改。
$ sqlplus /nolog
SQL> conn / as sysdba;
SQL> create pfile from spfile;
SQL> host cp $ORACLE_HOME/dbs/initorcl.ora $ORACLE_HOME/dbs/initabc.ora
SQL> host vi $ORACLE_HOME/dbs/initabc.ora
#将orcl改为abc实例,注意路径是否正确。 abc.__db_cache_size=293601280 abc.__java_pool_size=4194304 abc.__large_pool_size=4194304 abc.__shared_pool_size=117440512 abc.__streams_pool_size=0 *.audit_file_dest='/u01/app/oracle/admin/abc/adump' *.background_dump_dest='/u01/app/oracle/admin/abc/bdump' *.compatible='10.2.0.5.0' *.control_files='/u01/app/oracle/oradata/abc/control01.ctl','/u01/app/oracle/oradata/abc/control02.ctl','/u01/app/oracle/oradata/abc /control03.ctl' *.core_dump_dest='/u01/app/oracle/admin/abc/cdump' *.db_block_size=8192 *.db_domain='' *.db_file_multiblock_read_count=16 *.db_name='abc' *.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area' *.db_recovery_file_dest_size=2147483648 *.dispatchers='(PROTOCOL=TCP) (SERVICE=abcXDB)' *.job_queue_processes=10 *.open_cursors=300 *.pga_aggregate_target=141557760 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.sga_target=425721856 *.undo_management='AUTO' *.undo_tablespace='UNDOTBS1' *.user_dump_dest='/u01/app/oracle/admin/abc/udump'
4. 创建控制文件SQL语句
由于控制文件中包括数据库文件位置,实例名等数据,需要重新根据新的实例名与数据文件及文件路径创建控制文件。
根据control文件跟踪文件创建控制文件。
SQL> alter database backup controlfile to trace;
# 查看刚才创建的跟综文件的文件名:
SQL> oradebug setmypid
SQL> oradebug tracefile_name
/u01/app/oracle/admin/orcl/udump/orcl_ora_4044.trc
SQL> ! cat /u01/app/oracle/admin/orcl/udump/orcl_ora_4044.trc
# 按如下格式,如果有其它数据文件,可以按此格式加入。
CREATE CONTROLFILE set DATABASE "ABC" RESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/abc/redo01.log' SIZE 50M,
GROUP 2 '/u01/app/oracle/oradata/abc/redo02.log' SIZE 50M,
GROUP 3 '/u01/app/oracle/oradata/abc/redo03.log' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/abc/system01.dbf',
'/u01/app/oracle/oradata/abc/undotbs01.dbf',
'/u01/app/oracle/oradata/abc/sysaux01.dbf',
'/u01/app/oracle/oradata/abc/users01.dbf'
CHARACTER SET ZHS16GBK
;
5. 创建密码文件
$ orapwd file=$ORACLE_HOME/dbs/orapwabc password=oracle entries=10
6. 多实例监听与服务名配置
(1) 添加静态监听配置,实现单IP,多实例
$ vi $ORACLE_HOME/network/admin/listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(SID_NAME = orcl)
)
(SID_DESC =
(SID_NAME = abc)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(SID_NAME = abc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.233.150)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
(2) 命令服务配置
$ vi $ORACLE_HOME/network/admin/tnsnames.ora
ABC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.233.150)(PORT = 1521))
)
(CONNECT_DATA =
(SID = abc)
(SERVICE = DEDICATED)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.233.150)(PORT = 1521))
)
(CONNECT_DATA =
(SID = orcl)
(SERVICE = DEDICATED)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
$ lsnrctl stop
$ lsnrctl start
LSNRCTL for Linux: Version 10.2.0.5.0 - Production on 14-11014 22:07:31
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.5.0 - Production
System parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=node1)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=node1)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.5.0 - Production
Start Date 14-11014 22:07:31
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=node1)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "abc" has 1 instance(s).
Instance "abc", status UNKNOWN, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
7. 拷贝orcl实例的数据文件
(1) 数据库必须在一致性状态下进行拷贝,需要关闭orcl数据库实例。
$ sqlplus / as sysdba;
SQL> shutdown immediate;
SQL> quit
(2) 拷贝orcl实例的所有数据文件
$ cp /u01/app/oracle/oradata/orcl/*.dbf /u01/app/oracle/oradata/abc/
$ ll /u01/app/oracle/oradata/abc/
total 738672
-rw-r----- 1 oracle oinstall 262152192 Nov 14 22:12 sysaux01.dbf
-rw-r----- 1 oracle oinstall 461381632 Nov 14 22:12 system01.dbf
-rw-r----- 1 oracle oinstall 20979712 Nov 14 22:12 temp01.dbf
-rw-r----- 1 oracle oinstall 26222592 Nov 14 22:12 undotbs01.dbf
-rw-r----- 1 oracle oinstall 5251072 Nov 14 22:12 users01.dbf
$
8. 正启开始创建abc实例
(1) 通过abc SID启动数据库
[oracle@node1 ~]$ export ORACLE_SID=abc
[oracle@node1 ~]$ sqlplus / as sysdba;
SQL*Plus: Release 10.2.0.5.0 - Production on 14 22:18:52 2014
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
Connected to an idle instance.
SQL>
(2) 启动abc实例到nomount状态
因为有abc实例的pfile参数文件,可以将数据库启动到nomount状态.
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 427819008 bytes
Fixed Size 2096792 bytes
Variable Size 125829480 bytes
Database Buffers 293601280 bytes
Redo Buffers 6291456 bytes
SQL>
(3) 在nomount状态下创建生成控制文件,手动复制粘贴上面创建的生成控制文件语句。
SQL> CREATE CONTROLFILE set DATABASE "ABC" RESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/abc/redo01.log' SIZE 50M,
GROUP 2 '/u01/app/oracle/oradata/abc/redo02.log' SIZE 50M,
GROUP 3 '/u01/app/oracle/oradata/abc/redo03.log' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/abc/system01.dbf',
'/u01/app/oracle/oradata/abc/undotbs01.dbf',
'/u01/app/oracle/oradata/abc/sysaux01.dbf',
'/u01/app/oracle/oradata/abc/users01.dbf'
CHARACTER SET ZHS16GBK
18 ;
Control file created.
SQL>
SQL>
(4) resetlogs启动数据库
resetlogs启动数据库同时重新生成创建redo日志文件。
SQL> alter database open resetlogs;
Database altered.
(5) 通过abc实例的pfile文件创建spfile文件
SQL> create spfile from pfile;
(6) 添加一个临时数据文件
SQL> alter tablespace temp add tempfile '/u01/app/oracle/oradata/abc/temp01.dbf'
9. 更改Oracle数据库DBID
(1)在nid之前必须要shutdown immediate一次再mount状态;
SQL> shutdown immediate;
SQL> startup mount;
SQL> quit
(2) nid修改数据库名
[oracle@node1 ~]$ nid target=sys
DBNEWID: Release 10.2.0.5.0 - Production on 14 22:46:50 2014
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Password:
Connected to database ABC (DBID=1390560469)
Connected to server version 10.2.0
Control Files in database:
/u01/app/oracle/oradata/abc/control01.ctl
/u01/app/oracle/oradata/abc/control02.ctl
/u01/app/oracle/oradata/abc/control03.ctl
Change database ID of database ABC? (Y/[N]) => y
Proceeding with operation
Changing database ID from 1390560469 to 1819805470
Control File /u01/app/oracle/oradata/abc/control01.ctl - modified
Control File /u01/app/oracle/oradata/abc/control02.ctl - modified
Control File /u01/app/oracle/oradata/abc/control03.ctl - modified
Datafile /u01/app/oracle/oradata/abc/system01.dbf - dbid changed
Datafile /u01/app/oracle/oradata/abc/undotbs01.dbf - dbid changed
Datafile /u01/app/oracle/oradata/abc/sysaux01.dbf - dbid changed
Datafile /u01/app/oracle/oradata/abc/users01.dbf - dbid changed
Datafile /u01/app/oracle/oradata/abc/temp01.dbf - dbid changed
Control File /u01/app/oracle/oradata/abc/control01.ctl - dbid changed
Control File /u01/app/oracle/oradata/abc/control02.ctl - dbid changed
Control File /u01/app/oracle/oradata/abc/control03.ctl - dbid changed
Instance shut down
(3) 验证数据库名修改,最终修改成功。
$ sqlplus /nolog
SQL> conn / as sysdba;
SQL> startup mount;
SQL> alter database open resetlogs;
SQL> select dbid,name from v$database;
DBID NAME
---------- ---------
1819805470 ABC
SQL>
10. 配置实例开机自启动
(1) 配置oracle开机启动,加入abc实例自启动开关项
# vi /etc/oratab
orcl:/u01/app/oracle/product/10.2.0/db_1:Y
abc:/u01/app/oracle/product/10.2.0/db_1:Y
(2) 设置开机启动
# vi /etc/rc.local
#!/bin/sh
su - oracle -c "lsnrctl start"
su - oracle -c "dbstart"
(3) 登录到数据库服务器上手动的启动与关闭数据库实例方法
进入orcl实例的方法;
$ export ORACLE_SID=orcl
$ sqlplus /nolog
SQL> conn /as sysdba
SQL> startup;
进入abc实例的方法;
$ export ORACLE_SID=abc
$ sqlplus /nolog
SQL> conn /as sysdba
SQL> startup

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Tajuk: Prinsip kerja dan kaedah konfigurasi GDM dalam sistem Linux Dalam sistem pengendalian Linux, GDM (GNOMEDisplayManager) ialah pengurus paparan biasa yang digunakan untuk mengawal log masuk antara muka pengguna grafik (GUI) dan pengurusan sesi pengguna. Artikel ini akan memperkenalkan prinsip kerja dan kaedah konfigurasi GDM, serta menyediakan contoh kod khusus. 1. Prinsip kerja GDM GDM ialah pengurus paparan dalam persekitaran desktop GNOME Ia bertanggungjawab untuk memulakan pelayan X dan menyediakan antara muka log masuk

Memahami Linux Bashrc: Fungsi, Konfigurasi dan Penggunaan Dalam sistem Linux, Bashrc (BourneAgainShellruncommands) ialah fail konfigurasi yang sangat penting, yang mengandungi pelbagai arahan dan tetapan yang dijalankan secara automatik apabila sistem dimulakan. Fail Bashrc biasanya terletak dalam direktori rumah pengguna dan merupakan fail tersembunyi Fungsinya adalah untuk menyesuaikan persekitaran Bashshell untuk pengguna. 1. Persekitaran tetapan fungsi Bashrc

Cara mengkonfigurasi kumpulan kerja dalam Win11 Kumpulan kerja ialah cara untuk menyambungkan berbilang komputer dalam rangkaian kawasan setempat, yang membolehkan fail, pencetak dan sumber lain dikongsi antara komputer. Dalam sistem Win11, mengkonfigurasi kumpulan kerja adalah sangat mudah, cuma ikut langkah di bawah. Langkah 1: Buka aplikasi "Tetapan" Pertama, klik butang "Mula" sistem Win11, dan kemudian pilih aplikasi "Tetapan" dalam menu timbul. Anda juga boleh menggunakan pintasan "Win+I" untuk membuka "Tetapan". Langkah 2: Pilih "Sistem" Dalam apl Tetapan, anda akan melihat berbilang pilihan. Sila klik pilihan "Sistem" untuk memasuki halaman tetapan sistem. Langkah 3: Pilih "Perihal" Dalam halaman tetapan "Sistem", anda akan melihat berbilang sub-pilihan. Sila klik

MyBatisGenerator ialah alat penjanaan kod yang disediakan secara rasmi oleh MyBatis, yang boleh membantu pembangun menjana JavaBeans, antara muka Mapper dan fail pemetaan XML dengan pantas yang mematuhi struktur jadual pangkalan data. Dalam proses menggunakan MyBatisGenerator untuk penjanaan kod, penetapan parameter konfigurasi adalah penting. Artikel ini akan bermula dari perspektif parameter konfigurasi dan meneroka secara mendalam fungsi MyBatisGenerator.

Tajuk: Cara mengkonfigurasi dan memasang FTPS dalam sistem Linux, contoh kod khusus diperlukan Dalam sistem Linux, FTPS ialah protokol pemindahan fail yang selamat Berbanding dengan FTP, FTPS menyulitkan data yang dihantar melalui protokol TLS/SSL, yang menambah baik. Keselamatan penghantaran data. Dalam artikel ini, kami akan memperkenalkan cara mengkonfigurasi dan memasang FTPS dalam sistem Linux dan memberikan contoh kod khusus. Langkah 1: Pasang vsftpd Buka terminal dan masukkan arahan berikut untuk memasang vsftpd: sudo

Penggantian latar belakang PPT ialah operasi penting yang boleh menyatukan gaya visual persembahan dengan cepat. Anda boleh menggantikan latar belakang keseluruhan pembentangan anda dengan cepat dengan mengubah suai induk slaid atau menggunakan ciri Latar Belakang Format. Di samping itu, beberapa versi PPT juga menyediakan fungsi penggantian kelompok, yang boleh menggantikan latar belakang semua slaid dengan mudah. Apabila menggantikan latar belakang, anda harus memberi perhatian kepada memilih latar belakang yang sepadan dengan tema pembentangan, dan memastikan kejelasan dan resolusi latar belakang memenuhi keperluan.

1. Buka perisian Meitu Xiu Xiu, pilih [Picture Beautification], dan import foto daripada album. 2. Klik [Memotong] pada bar alat bawah dan pilih fungsi [Penggantian Latar Belakang]. 3. Dalam pilihan [Latar Belakang], pilih warna latar belakang yang diingini daripada kotak warna pepejal, atau muat naik imej tersuai. 4. Selepas mengesahkan pemilihan, klik [Simpan] untuk melengkapkan perubahan warna latar belakang.

Bahasa Go dilahirkan di Google untuk menyelesaikan masalah kerumitan dan sokongan serentak C++ yang tidak mencukupi. Hasrat asalnya ialah untuk mencipta bahasa serentak yang ringkas, mudah dipelajari, cekap, selamat memori, dan merentas platform untuk meningkatkan produktiviti pengaturcara, membina sistem yang boleh dipercayai dan berskala serta menggalakkan pemindahan dan perkongsian kod.
