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/