博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle10g实例修改表空间,oracle10g建表空间和修改oracle字符和删除表空间和用户(加 标注)...
阅读量:6279 次
发布时间:2019-06-22

本文共 4726 字,大约阅读时间需要 15 分钟。

查看用户情况(将被删除的用户登录)

--查看用户的默认表空间的关系

select username,default_tablespace from user_users;

--查看当前用户的角色

select * from user_role_privs;

--查看用户的系统级权限

select * from user_sys_privs;

--查看用户的表级权限

select * from user_tab_privs;

--查看用户下所有的表

select * from user_tables;

--显示当前会话所具有的权限

select * from session_privs;

步骤一:  删除user

drop user ×× cascade

说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的。

--需要sys@ORCL AS SYSDBA

/*

CASECADE 是级联的意思

不是直接对表用,是对表的主键或是外键使用

目的是保持表的引用完整性。

ALTER TABLE ss

DROP CONSTRAINT ss_fk CASCADE

这样就可以删除这个表的外键的级联了。

*/

步骤二: 删除tablespace

DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;

--创建表空间

CREATE  TABLESPACE  elitegzgl

DATAFILE '/orcldate/elitegzgl.dbf'

SIZE 200M  AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

--创建临时表空间:

create temporary tablespace elitegzgl_temp

tempfile '/orcldate/elitegzgl_temp.dbf'

size 32m

autoextend on

--表明是自动扩展

next 32m--表示数据文件满了以后,扩展的大小

maxsize 2048m--表示数据文件的最大大小

extent management local;

/*

extent是“区间”的意思

在oracle数据库中:extent management 有两种方式 extent management local(本地管理); extent management dictionary(数据字典管理)

默认的是local

每种也有两种大小增长方式:

uniform:默认为1M大小,在temp表空间里为默认的,但是不能被应用在undo表空间

本地管理表空间与字典管理表空间相比大大提高了管理效率和数据库性能,其优点如下:

1.减少了递归空间管理

本地管理表空间是自己管理分配,而不是象字典管理表空间需要系统来管理空间分配,本地表空间是通过在表空间的每个数据文件中维持一个位图来跟踪在此文件中块的剩余空间及使用情况。并及时做更新。这种更新只对表空间的额度情况做修改而不对其他数据字典表做任何update操作,所以不会产生任何回退信息,从而大大减少了空间管理,提高了管理效率。同时由于本地管理表空间可以采用统一大小分配方式(UNIFORM),因此也大大减小了空间管理,提高了数据库性能。

2.系统自动管理extents大小或采用统一extents大小

本地管理表空间有自动分配(AUTOALLOCATE)和统一大小分配(UNIFORM)两种空间分配方式,自动分配方式(AUTOALLOCATE)是由系统来自动决定extents大小,而统一大小分配(UNIFORM)则是由用户指定extents大小。这两种分配方式都提高了空间管理效率。

3.减少了数据字典之间的竞争

因为本地管理表空间通过维持每个数据文件的一个位图来跟踪在此文件中块的空间情况并做更新,这种更新只修改表空间的额度情况,而不涉及到其他数据字典表,从而大大减少了数据字典表之间的竞争,提高了数据库性能。

4.不产生回退信息

因为本地管理表空间的空间管理除对表空间的额度情况做更新之外不修改其它任何数据字典表,因此不产生回退信息,从而大大提高了数据库的运行速度。

5.不需合并相邻的剩余空间

因为本地管理表空间的extents空间管理会自动跟踪相邻的剩余空间并由系统自动管理,因而不需要去合并相邻的剩余空间。同时,本地管理表空间的所有extents还可以具有相同的大小,从而也减少了空间碎片。

6.减少了空间碎片

7.对临时表空间提供了更好的管理

autoallocate:

You can convert a tablespace from dictionary extent management to local extent management

and back with the Oracle-supplied PL/SQL package DBMS_SPACE_ADMIN. The SYSTEM

tablespace and any temporary tablespaces, however, cannot be converted from local to the

older style dictionary managem

两种extent管理方式是可以相互转换的,利用PL/SQL DBMS_SPACE_ADMIN

但是系统表空间和临时表空间不能从local管理转化到dictionary管理。

*/

--6、赋予权限 创建用户并指定表空间

create user elitegzgl identified by letmein

default tablespace elitegzgl

temporary tablespace elitegzgl_temp;

grant connect,resource,dba to elitegzgl;

--修改字符

在Redhat上安装Oracle 10g没有设定字符集,采用的是操作系统默认字符集:WE8ISO8859P1,将字符集修改为:ZHS16GBK。由于过程不可逆,首先需要备份数据库。 1.数据库全备 2.查询当前字符集 SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET'; PARAMETER                                VALUE ---------------------------------------- ---------------------------------------- NLS_CHARACTERSET                         WE8ISO8859P1 3.关闭数据库 SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. 4.启动数据库到mount状态 SQL> startup mount ORACLE instance started. Total System Global Area  205520896 bytes Fixed Size                  1266608 bytes Variable Size             100666448 bytes Database Buffers          100663296 bytes Redo Buffers                2924544 bytes Database mounted. 5.限制session SQL> alter system enable restricted session; System altered. 6.查询相关参数并修改 SQL> show parameter job_queue_processes;   NAME                                 TYPE        VALUE ------------------------------------ ----------- ------------------------------ job_queue_processes                  integer     10 SQL> show parameter aq_tm_processes;  NAME                                 TYPE        VALUE ------------------------------------ ----------- ------------------------------ aq_tm_processes                      integer     0 SQL> alter system set job_queue_processes=0; System altered. 7.打开数据库 SQL> alter database open; Database altered. 8.修改字符集 SQL> alter database character set ZHS16GBK; alter database character set ZHS16GBK * ERROR at line 1: ORA-12712: new character set must be a superset of old character set 出现错误提示,新字符集必须是老字符集的超集,也就原来字符集是新字符集的子集,可以再Oracle官方文档上查询字符集包含关系。下面使用Oracle内部命令internal_use,跳过超集检查,生产环境不建议使用此方法。 SQL> alter database character set internal_use ZHS16GBK;           Database altered. 9.查询当前字符集 SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET'; PARAMETER                                VALUE ---------------------------------------- ---------------------------------------- NLS_CHARACTERSET                         ZHS16GBK 10.关闭数据库 SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. 11.启动数据库到mount状态 SQL> startup mount ORACLE instance started. Total System Global Area  205520896 bytes Fixed Size                  1266608 bytes Variable Size             100666448 bytes Database Buffers          100663296 bytes Redo Buffers                2924544 bytes Database mounted. 12.将相关参数改回原来值 SQL> alter system set job_queue_processes=10; System altered. 13.打开数据库 SQL> alter database open; Database altered.

转载地址:http://xknva.baihongyu.com/

你可能感兴趣的文章
mongodb $exists
查看>>
js实现页面跳转的几种方式
查看>>
sbt笔记一 hello-sbt
查看>>
常用链接
查看>>
pitfall override private method
查看>>
!important 和 * ----hack
查看>>
聊天界面图文混排
查看>>
控件的拖动
查看>>
svn eclipse unable to load default svn client的解决办法
查看>>
Android.mk 文件语法详解
查看>>
QT liunx 工具下载
查看>>
内核源码树
查看>>
Java 5 特性 Instrumentation 实践
查看>>
AppScan使用
查看>>
Java NIO框架Netty教程(三) 字符串消息收发(转)
查看>>
Ucenter 会员同步登录通讯原理
查看>>
php--------获取当前时间、时间戳
查看>>
Spring MVC中文文档翻译发布
查看>>
docker centos环境部署tomcat
查看>>
JavaScript 基础(九): 条件 语句
查看>>