Oracle数据库相关操作

最近工作一直在做关于OGG的相关内容,难免会涉及到Oralce数据库的一些相关操作,想着记录下来以免忘记或者需要的时候找不到,日后新的操作再慢慢累计补充

1、创建表空间

create tablespace TSP_NAME datafile '/data/d1/oradata11/tsp_name01.dbf' size 100M autoextend on maxsize 30G;

2、新增表空间文件

ALTER TABLESPACE TSP_NAME ADD DATAFILE '/data/d1/oradata11/tsp_name.dbf' size 100M autoextend on maxsize 30G;

3、创建临时表空间

create temporary tablespace MY_TEMP tempfile '/data/d1/oradata11/my_temp01.dbf'  size 50m  autoextend on maxsize 10G;

4、新增临时表空间文件

ALTER TABLESPACE MY_TEMP ADD TEMPFILE '/data/d1/oradata11/my_temp02.dbf' size 100M autoextend on maxsize 30G;

5、创建用户

create user MYUSER identified by "123456" default tablespace TSP_NAME temporary tablespace MY_TEMP quota unlimited on TSP_NAME;

6、给用户授权

grant CONNECT, RESOURCE,dba to MYUSER;

8、获取当前数据库的scn号

select current_scn from v$database;

7、expdp数据按用户导出和按表导出

--创建导出数据的路径
create or replace directory SZ_BAK as '/u01/bak';
--按用户导出
expdp 'userid="/ as sysdba"' directory=SZ_BAK DUMPFILE=TABLES_20210201_%U.dmp schemas=LAB,COMM,MYPACS  LOGFILE=tables_backup0201.log PARALLEL=6  FILESIZE=30G flashback_scn=当前scn号 job_name=Tables_Export

--按表导出
expdp 'userid="/ as sysdba"' directory=SZ_BAK DUMPFILE=TABLES_20210201_%U.dmp tables=table1,tables2  LOGFILE=tables_backup0201.log PARALLEL=6 FILESIZE=30G flashback_scn=当前scn号 job_name=Tables_Export

--PARALLEL=6  并行度 设置并行线程 提高导出速率 不要高于CPU线程数
--FILESIZE=30G 设置导出文件大小

8、impdp数据导入

--创建导出数据的路径
create or replace directory dump as '/share/bak'
--查看已经创建的导入导出目录
select * from dba_directories;

impdp system/szadmin@nanf directory=dump DUMPFILE=TABLES_20210201_%U.dmp LOGFILE=tables_import.log PARALLEL=6 table_exists_action=replace job_name=Tables_Import

--table_exists_action=replace 表存在执行覆盖操作

9、查看导入导出任务状态或停止导入导出任务

--因为expdp,impdp直接ctrl+C是停止不了的,任务还在后台运行,所以要正确停止任务
--查看任务状态
select job_name,state from dba_datapump_jobs;
--STATE值为EXECUTING处于执行状态
--STATE值为NO RUNNING处于停止状态

--进入任务
expdp/impdp 用户名/密码@实例名 attach=任务名称(job_name)
STOP_JOB=IMMEDIATE --停止任务
KILL_JOB --删除任务

10、查看数据库是否处于归档模式

--首先用sys登录数据库,查看oracle是否开启归档模式(su - oracle切换用户,然后sqlplus / as sysdba进入sql模式)
archive log list;

--非归档模式
--Database log mode              No Archive Mode
--Automatic archival             Disabled

--归档模式
--Database log mode              Archive Mode
--Automatic archival             Enabled

11、开启数据库归档模式

--先关闭数据库
shutdown immediate;
--启动数据库到mount状态
startup mount;
--启用归档模式
alter database archivelog;
--启动数据库
alter database open;

12、修改归档日志路径

--修改归档日志路径
alter system set log_archive_dest_1='location=E:\app\Administrator\archlog\orcl';
--切换日志
alter system switch logfile;

13、关闭数据归档模式

--先关闭数据库
shutdown immediate;
--启动数据库到mount状态
startup mount;
--关闭归档模式
alter database noarchivelog;
--启动数据库
alter database open;

14、查看数据库是否强制日志(force_logging)和开启最小附加日志(supplemental_log_data_min)

select force_logging, supplemental_log_data_min from v$database;
--YES 开启;NO 未开启

15、开启强制日志或最小附加日志

--开启强制日志
alter database force logging;
--开启最小附加日志
alter database add supplemental log data;

16、查看、开启全列补充日志

--查看是否打开
select supplemental_log_data_all as A from v$database ;
--YES 开启;NO 未开启

--打开全列补全日志
alter database add supplemental log data (all) columns;

17、快照过旧解决办法

--增加UNDO表空间大小
alter tablespace undotbs1 add datafile '/data/d1/oradata11/undotbs02.dbf' size 100M autoextend on next 128M maxsize 30G;
--增加undo_retention 时间,默认只有15分钟
alter system set undo_retetion=21600; --单位是秒

18、监听操作

--查看监听状态
lsnrctl status
--启动监听
lsnrctl start
--停止监听
lsnrctl stop
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值