(ADDRESS = (PROTOCOL = TCP)(KEY = EXTPROC1521)
)
SID_LIST_LISTENER=
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = 数据库名)
(SID_NAME = 数据库实例名)
(ORACLE_HOME = /opt/oracle/product/19c/dbhome_1)
)
)
oracle19c DB创建过程
01.enable force logging
alter database force logging;
02.enable archivelog mode
alter system set db_recovery_file_dest_size=10g;
alter system set db_recovery_file_dest=‘/opt/oracle’;
startup mount;
alter database archivelog;
alter database open;
alter system swtch logfile;
03.create standby redolog
alter database add stan logfile group 4 ‘/opt/oracle/oradata/ITPUXDB/strdo04.log’
size 200m;
alter database add stan logfile group 5 ‘/opt/oracle/oradata/ITPUXDB/strdo05.log’
size 200m;
alter database add stan logfile group 6 ‘/opt/oracle/oradata/ITPUXDB/strdo06.log’
size 200m;
alter database add stan logfile group 7 ‘/opt/oracle/oradata/ITPUXDB/strdo07.log’
size 200m;
主备库监听tnsnames.ora :
vi /opt/oracle/product/19c/dbhome_1/network/admin/tnsnames.ora
itpuxdb =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVER_NAME = 实例名)
)
)
备库
itpuxdb =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVER_NAME = 实例名)
)
)
准备数据库密码文件
主库:
orapwd file=/opt/oracle/product/19c/dbhome_1/dbs/orapwitpuxdb password=ITPUX-123
备库:
cd /opt/oracle/product/19c/dbhome_1/dbs/
scp IP:/opt/oracle/product/19c/dbhome_1/dbs/orapwitpuxdb
mv orapwitpuxdb orapwitpuxdg
登录
sqlplus “sys/ITPUX-123@itpuxdg as sysdba”
主库:
create pflie = ‘/opt/oracle/pfile.ora’ from spfile
主库参数(重启生效)(itpuxdb主库 itpuxdg备库)
alter system set db_unique_name=‘itpuxdb’ scope=spfile;
alter system set LOG_ARCHIVE_CONFIG='DG _CONFIG=(itpuxdb,itpuxdg)’scope=both;
alter system set LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST
VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=itpuxdb’ scope=both;
alter system set LOG_ARCHIVE_DEST_2='SERVICE=itpuxdg LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=itpuxdgscope=both;
alter system set fal_client=‘itpuxdb’ scope=both;
alter system set FAL_SERVER=‘itpuxdg’ scope=both;
alter system set DB_FILE _NAME_CONVERT=‘ITPUXDG’,ITPUXDB’ scope=spfile;
alter system set LOG _FILE_NAME_CONVERT=‘ITPUXDG’,‘ITPUXDB’ scope=spfile;
alter system set standby_file_management=AUTO scope=both;
备库参数:
cd /opt/oracle
vi pfile.oradb_unique_name=‘itpuxdg’
LOG_ARCHIVE_CONFIG=‘DG_CONFIG=(itpuxdg,itpuxdb)’
LOG_ARCHIVE_DEST_1=‘LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=itpuxdg’
LOG_ARCHIVE_DEST_2=‘SERVICE=itpuxdb LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=itpuxdb’ fal_client=‘itpuxdg’
FAL_SERVER=‘itpuxdb’
DB_FILE_NAME_CONVERT=‘ITPUXDB’,‘ITPUXDG’
LOG_FILE_NAME_CONVERT=‘ITPUXDB’,‘ITPUXDG’
standby_file_management=AUTO
oracle19c DG创建过程
创建目录
mkdir -p /opt/oracle/admin/itpuxdg/adump
mkdir -p /opt/oracle/oradata/ITPUXDG
启动到nomunt;(备库)
sqlplus “sys/ITPUX-123@itpuxdg as sysdba”
startup pfile=‘/opt/oracle/pfile.ora’ nomount;
create spfile from pfile=‘/opt/oracle/pfile.ora’;
shutdown immediate;
startup nomount;
创建dataguard数据库(主备库都可以)
rman target sys/ITPUX-123@itpuxdb auxiliary sys/ITPUX-123@itpuxdg
duplicate target database for standby from active database;
检查测试:(主)
检查dataguard状态:
select NAME,OPEN_MODE,PROTECTION_MODE,DATABASE_ROLE,SWITCHOVER_STATUS from v$database;
启动dataguard数据同步:
sqlplus “/as sysdba”
alter database recover managed standby database disconnect from session; 开启同步
关闭dataguard数据同步:
alter database recover managed standby database cancel;
启动adg模式的备库:
alter dataabse open;
alter database recover managed standby database disconnect from session;
主库测试:
alter system switch logfile;
主备库检查dataguard状态
select NAME,OPEN_MODE,PROTECTION_MODE,DATABASE_ROLE,SWITCHOVER_STATUS from v$database;
dataguard数据同步测试
主库:
create tablespace xgedu66 datafile ‘/opt/oracle/oradata/ITPUXDB/xgedu66.dbf’ size 10m autoextend off;
create user xgedu66 identified by xgedu66 default tablespace xgedu66;
grant dba to xgedu66;conn xgedu66/xgedu66;
create table xgedu66.itpux01(c1 varchar2(10),c2 number);
insert into itpux01 values(‘itpux01’,‘1’);
insert into itpux01 values(‘itpux02’,‘2’);
commit;
select * from xgedu66.itpux01;
alter system switch logfile;
备库检查:(fgedu66)
select * from fgedu66.itpux01;
检查dataguard状态:
select NAME,OPEN_MODE,PROTECTION_MODE,DATABASE_ROLE,SWITCHOVER_STATUS from v$database;
检查dataguard日志
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
[外链图片转存中…(img-hEAXk0Vf-1714525806166)]
[外链图片转存中…(img-qFLnWHJ8-1714525806167)]
[外链图片转存中…(img-bFwtFIET-1714525806167)]
[外链图片转存中…(img-2A2FUm15-1714525806167)]
[外链图片转存中…(img-k1KXGjxc-1714525806168)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新