AI智能
改变未来

【Oracle】11gR2 创建表空间,用户及其基本查询


第一步:创建表空间

一、创建两个数据库的文件(XXXX.dbf 【数据表空间】和XXXX_temp.dbf 【临时表空间】两个文件)

SQL> CREATE TABLESPACE XXXX LOGGING DATAFILE \'D:\\oracle\\oradata\\orcl\\XXXX.dbf\'SIZE 100M AUTOEXTEND ON NEXT 32M MAXSIZE 500M EXTENT MANAGEMENT LOCAL;表空间已创建。
create temporary tablespace XXXX_temp tempfile \'D:\\oracle\\oradata\\orcl\\XXXX_temp.dbf\'size 100m autoextend on next 32m maxsize 500m extent management local;

将XXXX改为你项目数据库的名称
这里’D:\\oracle\\oradata\\orcl’是你Oracle安装根目录的数据文件(实例存放位置)
若是在linux系统中则改为相应的目录 如: /u01/db/oracle/

第二步、创建用户与上面创建的文件形成映射关系(用户名为XXXX,密码为XXXX)
SQL> CREATE USER XXXX IDENTIFIED BY XXXXDEFAULT TABLESPACE XXXX TEMPORARY TABLESPACE XXXX_temp;

oracle内部有两个建好的用户:system和sys。用户可直接登录到system用户以创建其他用户,因为system具有创建别 的用户的 权限。 在安装oracle时,用户或系统管理员首先可以为自己建立一个用户。

第三步、添加权限

grant connect,resource,dba to XXXX;

撤销授权:

语法: revoke connect, resource from 用户名;列子: revoke connect, resource from test;

connect、resource和dba三种标准角色权限说明–> 添加链接描述

1)讲解三种标准角色:
1》. connect role(连接角色)
–临时用户,特指不需要建表的用户,通常只赋予他们connect role.
–connect是使用oracle简单权限,这种权限只对其他用户的表有访问权限,包括select/insert/update和delete等。
–拥有connect role 的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym)、回话(session)和其他 数据的链(link)
2》. resource role(资源角色)
–更可靠和正式的数据库用户可以授予resource role。
–resource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。
3》. dba role(数据库管理员角色)
–dba role拥有所有的系统权限
–包括无限制的空间限额和给其他用户授予各种权限的能力。system由dba用户拥有

四:删除数据库

有时候也会用到删除数据表空间和删除用户的操作,这里也给出删除的语句
删除表空间:

--删除空的表空间,但是不包含物理文件drop tablespace tablespace_name;--删除空的表空间,包含物理文件DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;

删除用户:

drop user XXXX cascade;

修改用户密码

语法[更改用户]: alter user 用户名 identified by 口令[改变的口令];例子: alter user test identified by 123456;

五、创建/授权/删除角色

除了前面讲到的三种系统角色—-connect、resource和dba,用户还可以在oracle创建自己的role。用户创建的role可以由表或系统权限或两者的组合构成。为了创建role,用户必须具有create role系统权限。
1》创建角色
语法: create role 角色名;
例子: create role testRole;
2》授权角色
语法: grant select on class to 角色名;
列子: grant select on class to testRole;
注:现在,拥有testRole角色的所有用户都具有对class表的select查询权限
3》删除角色
语法: drop role 角色名;
例子: drop role testRole;
*————————————-分割线———————————– *

其他查詢:

1查询实例

select name from v$database;select instance_name from v$instance;show parameter instance_name

2查询表空间

SQL> select tablespace_name  from user_tablespaces ;TABLESPACE_NAME------------------------------SYSTEMSYSAUXUNDOTBS1TEMPUSERSEXAMPLE

3查询oracle server端的字符集

SQL> select userenv(\'language\') from dual;USERENV(\'LANGUAGE\')----------------------------------------------------SIMPLIFIED CHINESE_CHINA.ZHS16GBK

4如何查询dmp文件的字符集

SQL> select nls_charset_name(to_number(\'0354\',\'xxxx\')) from dual;NLS_CHARSET_NAME(TO_NUMBER(\'0354\',\'XXXX\'----------------------------------------ZHS16GBK

—5 查询当前默认的表空间

SQL> SELECT PROPERTY_VALUEFROM database_propertiesWHERE PROPERTY_NAME =\'DEFAULT_PERMANENT_TABLESPACE\';PROPERTY_VALUE--------------------------------------------------------------------------------USERS

6、查看拥有dba权限的所以用户

select * from dba_role_privs where granted_role=\'DBA\';

7 其他

select * from dba_users; 查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,systemselect * from all_users;  查看你能管理的所有用户!select * from user_users; 查看当前用户信息 !

——————————————————–完————————————————————-
感谢您的阅读!!!

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 【Oracle】11gR2 创建表空间,用户及其基本查询