Oracle 实例、表空间、用户

2024年 7月 19日 86.8k 0

实例:实例是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程,是由进程和这些进程所使用的内存(SGA)所构成一个集合。
实例其实就是一个用来访问和操作数据库的一个进程,只存在于内存中。

我们访问Oracle都是访问一个实例,但这个实例如果关联了数据库文件,就是可以访问的,如果没有,就会得到实例不可用的错误。

实例名:实例名指的是用于响应某个数据库操作的数据库管理系统的名称,同时也叫SID。实例名是由参数instance_name决定的。

查询当前数据库实例名:
select instance_name from v$instance;

查看ORACLE监听状态:
$ lsnrctl status

查看实例状态:
SQL> select status from v$instance;
数据库实例名(instance_name)用于对外部连接。在操作系统中要取得与数据库的联系,必须使用数据库实例名。比如我们作开发,要连接数据库,就得连接数据库实例名:
jdbc:oracle:thin:@localhost:1521:orcl(orcl就为数据库实例名)

表空间:Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表.

表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。

创建表空间:
create tablespace TEST datafile ‘/data/tets.dbf’ size 50m autoextend on;

查看已建好的表空间:
select default_tablespace, temporary_tablespace, d.username  from dba_users d

查看所有的表空间:
select * from user_tablespaces

扩大表空间:
alter tablespace TEST add datafile ‘/data/test202.dbf’ size 100M autoextend on

修改表空间状态:
alter tablespace TEST online | offline; # 表空间默认是在线状态,如果离线则不可用

删除表空间:
drop tablespace TEST; # 不会删除datafile数据文件drop tablespace TEST including contents; # 删除表空间及数据文件

ORACLE用户:
Oracle数据库建好后,要想在数据库里建表,必须先为数据库建立用户,并为用户指定表空间。

创建新用户:
CREATE USER 用户名 IDENTIFIED BY 密码  DEFAULT TABLESPACE 表空间(默认USERS)  TEMPORARY TABLESPACE 临时表空间(默认TEMP)

用户想要管理自己的表空间,还需要给用户分配权限:
GRANT CONNECT TO test_user; GRANT RESOURCE TO test_user; GRANT dba TO test_user; # dba 是最高权限

查看用户:
select * from dba_users;

解锁用户
alter user USER_NAME account unlock;

查看表的索引状态
SELECT b.uniqueness, a.index_name, a.table_name, a.column_name FROM all_ind_columns a, all_indexes bWHERE a.index_name=b.index_name AND a.table_name = upper(‘表名’)ORDER BY a.table_name, a.index_name, a.column_position;

相关文章

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

发布评论