Oracle12c 日常配置记录

CDB用户必须以‘c##’为开头,否则创建用户失败。

授权:grant dba,CONNECT,RESOURCE to C##tao;

PDB自动启动

#最后面的斜杠/ 一定要加上
CREATE OR REPLACE TRIGGER open_pdbs
	AFTER STARTUP ON DATABASE
	BEGIN
	EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ORCLPDB OPEN';
	END open_pdbs;
/

  

CDB、PDB、PDB$SEED与SqlServer中对象对应:

  • 1、CDB与PDB可以实现一个CDB对应多个PDB,这和sqlserver中的单个实例对应多个数据库架构是有点相似的思路。
  • 2、PDB$SEED可以看成是master、msdb等系统数据库;
  • 3、PDBS可以看成用户创建的数据库。
  • 4、可插拔的概念与SqlServer中的用户数据库分离、附加有相似的思路

select name,open_mode from v$pdbs; 

select *from dba_directories;

 select *from dba_tablespaces;  

 开启归档

#查看当前归档模式
select log_mode from v$database;
#用shutdown immediate或shutdown normal关闭数据库
shutdown immediate;
#数据库关闭后,用startup mount启动数据库、加载实例但数据库关闭
startup mount;
#使用命令:alter database archivelog;打开归档日志,执行命令成功后返回数据库已更改的消息
alter database archivelog;
#使用命令:alter database open;打开数据库即可完成整体操作
alter database open;
#查看归档日志目录
select * from v$recovery_file_dest;

查询归档路径

#查询归档路径
archive log list;
#windows
show parameter DB_RECOVERY_FILE_DEST

 PDB模式

#发现有一个没开启
show pdbs;
alter pluggable database PDBORCL open;
alter pluggable database ALL open;

 查看版本号

select * from v$version;

 #创建用户

#查看当前连接
show con_name;
#查看sid: echo $ORACLE_SID
show pdbs; alter session set container
=ORCLPDB1; create user tao identified by taomg123; grant dba to tao;

#查看用户
select * from user_users;
select * from all_users;
select * from dba_user;
select * from dba_sys_privs;
select * from all_sys_privs;
select * from user_sys_privs;
#切换session
alter session set container=PDBORCL;     //切换到PDB
alter session set container=CDB$ROOT;   //切换到CDB
#查看用户拥有的权限
select * from user_role_privs;
#查看当前用户缺省的表空间
select username,default_tablespace from user_users;
#查看用户freespace
select * from user_free_space;
#查看表空间对应的物理文件
select * from dba_data_files
#查看表空间有哪些表
select TABLE_NAME,TABLESPACE_NAME from dba_tables where TABLESPACE_NAME='USERS'

 关于数据库的导入导出,EXPDP和IMPDP工具(主要用作数据迁移使用)

#扩展表空间-手动扩展大小
alter database datafile 'D:DATABASEDBLMT_FILE3.DBF' resize 200M
#增加数据文件的个数
alter tablespace add datafile 'D:DATABASEDBLMT_FILE4.DBF' size 100M
#自动扩展
alter database datafile 'D:DATABASEDBLMT_FILE4.DBF' autoextend on next 100m maxsize 1000m
#创建DIRECTORY
create directory dir_dp as 'D:/oracle/dir_dp';
#授权
Grant read,write on directory dir_dp to sscuser;
#创建表空间
create tablespace IMAGEDATA datafile 'D:DATABASEDBIMAGEDATA1.DBF' size 100M autoextend on next 100m maxsize 1000m
create tablespace IMAGEDATA datafile '/home/oracle/data/IMAGEDATA1.DBF' size 100M autoextend on next 100m maxsize 1000m

#EXPDP导出数据库
#此处EXPDP主要是 导出工具,非官方定义的备份工具 指定导出某个命名空间
EXPDP USERID='userid/userpwd@orclpdb as sysdba' directory=mydback dumpfile=testbk.dmp logfile=testdb.log tablespaces=IMAGEDATA
或者导出所有
EXPDP USERID='userid/userpwd@orclpdb as sysdba' directory=mydback dumpfile=testbk.dmp logfile=testdb.log full=y
#centos 19c
#导入数据到数据库
impdp username/userpassword@localhost/ORCLPDB1 directory=DATABACKUP dumpfile=TESTBK.DMP tablespaces=IMAGEDATA logfile=impdp.log   //linux
impdp USERID='username/userpassword@PDBORCL as sysdba' directory=DATABACKUP dumpfile=TESTBK.DMP tablespaces=IMAGEDATA logfile=impdp.log    //windows

create tablespace IMAGEDATA datafile 'D:DATABASEDBIMAGEDATA1.DBF' size 100M autoextend on next 100m maxsize 1000m
#如果没有对应的用户请创建
create user username identified by userpassword default tablespace IMAGEDATA;
grant read,write on directory DATABACKUP to username
grant dba,resource,unlimited tablespace to username

# rman的备份和恢复

参考:https://www.cnblogs.com/WoLykos/p/11585744.html

一、target——连接数据库

#本机
rman target /
#远程
rman target system/passwd@orcl

二、show——查看配置

RMAN> show all
RMAN> show channel; // 通道分配
RMAN> show device type; // IO 设备类型
RMAN> show retention policy; // 保存策略
RMAN> show datafile backup copies; // 多个备份的拷贝数目
RMAN> show maxsetsize; // 备份集大小的最大值
RMAN> show exclude; // 不必备份的表空间
RMAN> show backup optimization; // 备份的优化

三、configure——调整配置

 问题集锦

ORA-01034:ORACLE not available

alter database open resetlogs;

参考地址:https://blog.csdn.net/luoww1/article/details/88844907/


 

原文地址:https://www.cnblogs.com/life512/p/14764503.html