概述、卸载、SID-数据库名-服务名、配置文件、PDB和CDB、创建用户、SQL plus登录方式
概述
实例是操作系统中访问数据库所需要的一系列的进程和内存的集合。即使没有任何数据文件,实例也可以启动。但是要想访问数据库,必须把数据库文件加载进实例中。实例和数据库的区别可以简单概括为:实例是临时的,它只在相关的进程和内存集合存在时存在,而数据库是永久的,只要文件存在它就存在。一个实例只能对应一个数据库,但是一个数据库可以由多个实例对应(如RAC)。
Oracle数据库软件:Oracle服务器
Oracle实例:运行在Oracle服务器中的服务,接受并响应客户端请求
Oracle数据库:运行在Oracle数据库实例中为客户端提供数据存储服务
卸载
1)如果数据库配置了自动存储管理(ASM),先删除聚集同步服务,DOS指令:localconfig delete
2)关闭所有Oracle服务
3)在安装目录下找到deinstall.bat双击执行卸载
4)删除自动存储管理(ASM),DOS指令:oracle-deleete-asnsid+asm
5)删除注册表
KEY_LOCAL_MACHINE/SOFTWARE/ORACLE目录
HKEY_LOCAL_MACHINE/SYSTEEM/CurrentControlSet/Services中所有以oracle或OraWeb开头的键
HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/MenuOrder/Start Mnue/Programs中所有哦以oracle开头的键
KEY_LOCAL_MACHINE/SOFTWAR/ODBC/ODBCINST.INI中除Microsoft ODBC for Oracle注册表键以外所有含有Oracle的键
6)删除环境变量中的PATH和CLASSPATH中包含Oracle的值
7)删除开始/程序中所欲Oracle的组和图标
8)删除所有和ORACLE相关的目录
SID、数据库名、服务名
1)SID
SYSTEM IDENNTIFER 系统识别号,实例名。在单实例的时候,实例名和数据库名是一样的。在多实例的时候,一个SID对应一个实例名,多个实例名对应一个数据库名。
2)数据库名
DATABASE AME 在单实例环境下,数据库就是实例名。在多实例环境下,数据库名是唯一的,实例名会有多个
3)服务名
SERVICE NAME 默认情况下,数据库名、SID就是服务名。但一个数据库是可以设置多个服务名的
配置文件
1)说明
位置在\product\12c\dbhome_1\NETWORK\ADMIN
listener.ora
配置服务监听器,可在这里配置服务监听的端口
sqlnet.ora
名称解析,通过这个文件来决定怎么样找一个连接中出现的连接字符串
tnsnames.ora
用在oracle client端,用户配置连接数据库的别名参数,就像系统中的hosts文件一样
2)配置监听
打开Oracle Net Configuration Assistant,点击监听程序配置,完成配置
3)配置网络服务
首先关闭防火墙,打开Oracle Net Configuration Assistant,点击本地网络服务名配置,配置好后在tnsnames.ora中看到新增的字符
NETORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.137.129)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
PDB和CDB
Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为Container Database,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。
1)查看当前容器
SQL> show con_name;
CON_NAME
------------------------------
CDB$ROOT
2)查看CDB
SQL> select name,cdb from v$database;
NAME CDB
--------- ---
ORCL YES
3)切换根容器
SQL> alter session set container=CDB$ROOT;
会话已更改。
conn / as sysdba
4)关闭CDB
connect sys@orcl as sysdba
shutdown immediate
5)查看实例
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
orcl OPEN
6)打开PDB(内部)
alter database open;
7)关闭PDB(根容器)
alter pluggable database pdb1 close immediate;
8)删除PDB(根容器)
alter pluggable database pdb1 close;
drop pluggable database pdb1 [including datafiles];
9)查看当前有哪些PDB
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDBORCL MOUNTED
10)查看数据库文件
SQL> select tablespace_name,file_name from dba_data_files;
TABLESPACE_NAME
------------------------------
FILE_NAME
--------------------------------------------------------------------------------
USERS
C:\APP\ORACLE\ORADATA\ORCL\USERS01.DBF
UNDOTBS1
C:\APP\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF
SYSAUX
C:\APP\ORACLE\ORADATA\ORCL\SYSAUX01.DBF
TABLESPACE_NAME
------------------------------
FILE_NAME
--------------------------------------------------------------------------------
SYSTEM
11)创建表空间并指定为默认表空间
SQL> create tablespace zhanghuan datafile 'C:\app\ORACLE\oradata\orcl\pdborcl\ZHANGHUAN01.DBF' size 50m;
表空间已创建。
SQL> alter pluggable database default tablespace zhanghuan;
插接式数据库已变更。
create tablespace 永久表空间名称 datafile '永久表空间物理文件位置.DBF' size 15M autoextnd on next 10M permanent online;
12)查看所有表空间
select * from dba_tablespaces;
创建用户
1)用户分类
普通用户:创建PDB里
通用用户:创建在CDB里
2)分配角色(Role privileges)
connect
可以直接设置成dba角色,就不用分配后面的权限了
界面分配系统权限(System privileges)
create any table
create any view
create any sequencee
create any synonym
create any index
unlimited tabelspace
3)创建用户并授权
create user c##zhanghuan identified by 123456 default tablespace zhanghuan;
grant dba to c##zhanghuan;
4)账号解锁
alter user system account unlock;
5)修改密码
alter system identified by password;
SQL plus登录方式
1)本地管理员登录
请输入用户名:sys as sysdba
输入口令:
连接到:
Oracle Database 12c Relieace 12.1.0.1.0 -64bit Production
2)网络用户登录
system/pwd
3)通过容器名连接
sys/Aa12345678@orcl as sysdba
4)通过网络服务名连接
sys/Aa12345678@192.168.137.129/orcl as sysdba
ORACLE中表名大小写不敏感