线上无小事
分类: oracle
2022-12-16 09:20:53
一、表空间自动扩展的好处
1.数据文件自动扩展的好处
1)不会出现因为没有剩余空间可以利用到数据无法写入
2)尽量减少人为的维护
二、设置表空间自动扩展的方法
1、查看表空间情况
sql>select tablespace_name,file_name,autoextensible from dba_data_files where tablespace_name = '表空间名称';
2、修改表空间数据文件,使其达到表空间自动扩展
sql>alter database datafile '/u01/app/oracle/oradata/orcl/user01.dbf' autoextend on;
3、对修改结果进行验证
sql>select tablespace_name,file_name,autoextensible from dba_data_files where tablespace_name = '表空间名称';
三、语法总结
开启自动扩展功能语法:
alter database datafile '对应的数据文件路径信息' autoextend on;
关闭自动扩展功能语法:
alter database datafile '对应的数据文件路径信息' autoextend off;
四、创建临时表空间
create temporary tablespace ***_temp tempfile '***/tempfile/***_temp.dbf' size 1024m autoextend on next 500m maxsize unlimited extent management local;
五、创建表空间
create tablespace ***_tablespace logging datafile '***/datafile/***_tablespace.dbf' size 30720m autoextend on next 500m maxsize unlimited extent management local;
六、创建用户及
create user ****** identified by ***** default tablespace ***_tablespace temporary tablespace ***_temp;
七、授权
grant connect,resource,dba to *****;
--数据文件位置
select file_name from dba_data_files
--数据文件位置2
select * from v$datafile
--查看控制文件
select * from v$controlfile
--查看归档日志文件
select * from v$archived_log
--查看闪回文件位置
select * from v$flashback_database_logfile
--临时表空间
select name from v$tempfile;
--查看分区和段空间管理方式
select tablespace_name, segment_space_management from dba_tablespaces;
--查询用户
select username,t.created from all_users t order by t.created desc;
-- 查询表空间是否设置了自增
select file_name,tablespace_name,autoextensible from dba_data_files where tablespace_name='****';
--查询表空间
select tablespace_name "表空间",
to_char(round(bytes / 1024, 2), '99990.00') || '' "实有",
--to_char(round(free / 1024, 2), '99990.00') || 'g' "现有",
to_char(round((bytes - free) / 1024, 2), '99990.00') || 'g' "使用",
to_char(round(10000 * used / bytes) / 100, '99990.00') || '%' "比例"
from (select a.tablespace_name tablespace_name,
floor(a.bytes / (1024 * 1024)) bytes,
floor(b.free / (1024 * 1024)) free,
floor((a.bytes - b.free) / (1024 * 1024)) used
from (select tablespace_name tablespace_name, sum(bytes) bytes
from dba_data_files
group by tablespace_name) a,
(select tablespace_name tablespace_name, sum(bytes) free
from dba_free_space
group by tablespace_name) b
where a.tablespace_name = b.tablespace_name)
where tablespace_name ='xxxx' --这一句用于指定表空间名称
order by floor(10000 * used / bytes) desc;
--以oracle用户登录linux操作系统
--执行命令:su - oracle
注意:“-” 两边都有空格
--进入oracle控制台
执行命令: sqlplus /nolog
--以dba身份登录oracle数据库
执行命令:conn /as sysdba;
--查看数据库登录用户账号信息
执行命令:select username from dba_users;
--修改数据库账号密码
执行命令:alter user username identified by password;
--解锁数据库账号密码:
执行命令:alter user username account unlock;
--测试新密码
执行命令:conn username/password