Oracle安装部署后常用配置

2024年 6月 13日 68.6k 0

表空间和用户

查看建库过程中自带用户:

select username from dba_users order by username;

附结果:

USERNAME

--------------------------------------------------------------------------------------------------------------------------------

ANONYMOUS

APPQOSSYS

AUDSYS

CTXSYS

DBSFWUSER

DBSNMP

DIP

DVF

DVSYS

GGSYS

GSMADMIN_INTERNAL

GSMCATUSER

GSMROOTUSER

GSMUSER

LBACSYS

MDDATA

MDSYS

OJVMSYS

OLAPSYS

ORACLE_OCM

ORDDATA

ORDPLUGINS

ORDSYS

OUTLN

REMOTE_SCHEDULER_AGENT

SI_INFORMTN_SCHEMA

SYS

SYS$UMF

SYSBACKUP

SYSDG

SYSKM

SYSRAC

SYSTEM

WMSYS

XDB

XS$NULL

36 rows selected.

创建新的dba用户:

create user wenjiewang identified by 123456;

grant connect,resource,dba to wenjiewang;

密码不过期:

alter profile default limit password_life_time unlimited;

查看默认表空间类型:

select PROPERTY_NAME,PROPERTY_VALUE from database_properties where PROPERTY_NAME ='DEFAULT_TBS_TYPE';

创建表空间:

create SMALLFILE TABLESPACE "TS_wenjiewang" LOGGING DATAFILE 'wenjiewang1.dbf' SIZE 200M AUTOEXTEND

ON NEXT 100M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

这里不选择bigfile是因为考虑备份速度会快,这样就需要留意一数据文件1达到32G就需要增加新的数据文件;

为表空间增加新的数据文件:

alter TABLESPACE "TS_wenjiewang" add DATAFILE 'wenjiewang2.dbf' SIZE 200M AUTOEXTEND

ON NEXT 100M MAXSIZE UNLIMITED;

数据文件保存在:

/usr/oracle19c/dbs/wenjiewang1.dbf

其中/usr/oracle19c/是oracle_home

如果要将数据文件保存在自定义目录的话,root建好目录后授权

chown oracle:oinstall /data/datafile/

然后在指定数据文件时指定绝对路径即可:

create SMALLFILE TABLESPACE "TS_test0422" LOGGING DATAFILE '/data/datafile/04221.dbf' SIZE 200M AUTOEXTEND

ON NEXT 100M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

指定用户默认表空间:

alter user wenjiewang default tablespace "TS_wenjiewang";

alter user wenjiewang quota unlimited on "TS_wenjiewang";

然后我们用wenjiewang账号登录

sqlplus wenjiewang/123456 as sysdba

创建测试表:

create table t1(id int,sn varchar(50));

insert into t1 values(1,'wwj');

select * from t1;

commit;

create table t2(id int,sn varchar(50));

insert into t2 values(1,'bak');

select * from t2;

commit;

查看当前表:

select table_name from user_tab_comments;

RMAN和归档模式

创建备份目录及授权

mkdir /data/backup

chown oracle:oinstall /data/backup/

创建归档日志目录及授权

mkdir /data/archivelog

chown oracle:oinstall /data/archivelog/

查看当前归档状态:

archive log list;

查看归档日志格式:

show parameter log_archive_format;

修改归档日志格式:

alter system set log_archive_format='%t_%s_%r.arch' scope=spfile;

查看归档日志目录:

show parameter DB_RECOVERY_FILE_DEST;

修改归档日志目录:

alter system set log_archive_dest_1 = 'location=/data/archivelog' scope=spfile;

需重启数据库生效

我们顺便开启归档模式

先关闭数据库:

shutdown immediate

仅起到mount状态

startup mount

开启归档模式:

alter database archivelog;

启动到open状态:

alter database open;

再检查归档状态发现已经改好,归档日志目录也正确

我们手动切换日志并检查目录下有没有正常生成的日志:

alter system switch logfile;

我们进入RMAN进行RMAN设置:

查看RMAN配置:

show all;

设置为压缩备份:

configure device type disk backup type to compressed backupset;

设置自动备份控制文件:

configure controlfile autobackup on;

设置控制文件备份目录和格式:

configure controlfile autobackup format for device type disk to '/data/backup/%F.bak';

设置冗余策略,按时间标记废弃:

configure retention policy to recovery window of 90 days;

进行数据库全备:

backup format '/data/backup/d_%d_%T_lev0_%s.bak' incremental level 0 database plus archivelog delete all input;

然后检查磁盘文件。

删除归档日志的正确姿势:

如删除七天前的:

DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';

如果已经在磁盘中删除了归档日志文件,则只能清除归档日志记录,否则控制文件不会知道这些文件已经不存在了:

crosscheck archivelog all;

delete expired archivelog all;

模拟数据恢复

搞破坏:

查看当前表:

select table_name from user_tab_comments;

查看当前SCN号:

select dbms_flashback.get_system_change_number from dual;

是2055092

查看当前时间:

直接看系统时间 date

Thu Apr 22 17:26:24 CST 2021

查看表t2的内容:

select * from t2 where rownum shutdown immediate

SQL> startup mount

RMAN> restore database;

RMAN> recover database until scn 2055092;

或者

RMAN> restore database until time '05-NOV-20';

RMAN> alter database open resetlogs;

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论