oracle基础知识1----用户(创建用户)和表空间、管理表

    xiaoxiao2026-01-06  10

        sys: Oracle的一个超级用户,主要用来维护系统信息和管理实例,只能以sysdba或sysoper角色登录     system: Oracle默认的系统管理员,拥有DBA权限,通常用来管理Oracle数据库的用户、权限和存储等,只能以Normal方式登录     sysdba是一种角色,不属于用户。     scott: 是普通的用户,安装Oracle时自带的,默认密码是tiger,不过其默认是锁定状态。所以一般要先将这个用户解锁。 oracle中sysdba与sysoper的区别     normal 普通用户     sysoper 数据库操作员,主要包括 打开数据库服务器,关闭数据库服务器,备份数据库,恢复数据库,日志归档,会话限制     sysdba 数据库管理员,打开数据库服务器 关闭数据库服务器,备份数据库,恢复数据库,日志归档, 会话限制,管理功能,创建数据库   sysdba角色拥有数据库的所有权限,sysoper就是为了防止sysdba的权限过大设置的一个角色,主要是启停数据库、备份还原数据库,不能drop和create数据库,这是最主要的区别

    一、用户

    1-1.使用系统用户登陆 使用system用户登陆     [username/password] [@server] [as sysdba|sysoper]   如:system/root         @orcl    as sysdba   orcl就是自己设置的服务名

    SQL> connect sys/root as sysdba; 已连接 1-2.查看登录用户 #方法一: SQL> show user; User is "SYS" #方法二:dba_users数据字典 SQL> select username from dba_users; USERNAME ------------------------------ MGMT_VIEW SYS SYSTEM DBSNMP SYSMAN SCOTT ...... 3.启用scott用户 语句:alter user 用户名 account unlock 其中用户名可以是任何用户。如果要锁定,将unlock修改为lock 密码如何有修改,使用如下sql语句 alter user scott identified by tiger account unlock;

    4.创建用户

    --发现没有任何对象,那我们试着来删除用户mary; SQL> drop user mary CASCADE; --现在我们再重新创建一个用户jack; SQL> create user jack identified by jack; SQL> grant dba to jack;

    ------------------------------------------------------------------

    二、表空间

        SQL Server数据库与Oracle数据库之间最大的区别要属表空间设计。 1.数据库     数据库顾名思义是数据的集合,而Oracle则是管理这些数据集合的软件系统,它是一个对象关系型的数据库管理系统。     2.表空间     表空间是Oracle对物理数据库上相关数据的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为system表空间)。     每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间。 3.实例     每一个运行中的数据库都对应着一个Oracle实例。当服务器上的Oracle数据库启动时,Oracle首先会在内存中分配一片区域-称之为System Global Area(SGA),然后启动一个或多个的Oracle进程。     SGA和这些进程合起来就称为一个Oracle的实例。实例中的内存和进程管理器用来高效地访问数据库的数据,同时为单个或多个的用户提供服务。     一个数据库可以由多个实例打开,但任何时刻一个实例只能打开一个数据库。多个实例可以同时运行在同一个机器上,它们彼此访问各自独立的物理数据库。 2-1.查看用户的表空间 1).dba_tablespaces数据字典(系统用户)

    SQL> select tablespace_name from dba_tablespaces; TABLESPACE_NAME ------------------------------ SYSTEM UNDOTBS1 SYSAUX TEMP USERS EXAMPLE ORACLESPACE2).user_tablespaces数据字典(普通用户) SQL> select tablespace_name from user_tablespaces; 结果与上面一样 3).dba_users数据字典(系统用户) 4).user_users数据字典(普通用户)

    2-2.创建表空间

    # 创建永久表空间 SQL> create tablespace test1_tablespace datafile 'test1file.dbf' size 10m; # 创建临时表空间 SQL> create temporary tablespace temptest1_tablespace tempfile 'tempfile1.dbf' size 10m; # 查看永久默认表空间文件存放的位置(需要大写) SQL> select file_name from dba_data_files where tablespace_name='TEST1_TABLESPACE'; # 查看临时表的文件位置 SQL> select file_name from dba_temp_files where tablespace_name='TEMPTEST1_TABLESPACE'; 2-3.修改表空间 1).设置联机或脱机状态 alter tablespace test1_tablespace offline ; //脱机状态是不能使用的 alter tablespace test1_tablespace online ;  /联机 2).查看表空间状态 select status from dba_tablespaces where tablespace_name='TEST1_TABLESPACE'; //表空间名字要大写 3).设置只读或可读定状态 格式 : ALTER TABLESPACE tablespace_name READ ONLY | READ WRITE;  SQL> alter tablespace test1_tablespace read only ; SQL> select status from dba_tablespaces where tablespace_name='TEST1_TABLESPACE'; STATUS --------- READ ONLY SQL> alter tablespace test1_tablespace read write ; SQL> select status from dba_tablespaces where tablespace_name='TEST1_TABLESPACE'; STATUS --------- ONLINE 2-2.修改数据文件 1).增加数据文件 语法:alter tablespace tablespace_name add datafile 'xx.dbf' size xx; SQL> alter tablespace test1_tablespace add datafile 'test2_file.dbf' size 10m; SQL> select file_name from dba_data_files where tablespace_name='TEST1_TABLESPACE'; FILE_NAME -------------------------------------------------------------------------------- E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\TEST1FILE.DBF E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\TEST2_FILE.DBF 2).删除数据文件 #不能删除表空间的第一个数据文件,要删除的话,必须删除整个表空间 语法:alter tablespace tablespace_name drop datafile 'filename.dbf'; SQL> alter tablespace test1_tablespace drop datafile 'test2_file.dbf'; Tablespace altered SQL> select file_name from dba_data_files where tablespace_name='TEST1_TABLESPACE'; FILE_NAME -------------------------------------------------------------------------------- E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\TEST1FILE.DBF 2-5.删除表空间 # 删除表空间: drop tablespace tablespace_name # 删除表空间及数据: drop tablespace tablespace_name[including contents]; SQL->drop tablesapce test1_tablespace including contents;

    三、管理表

    3-1.表中的数据类型

    1、字符型(员工的姓名,爱好等)   固定字长:CHAR(n),n最大2000、NCHAR(n),n最大1000   可变长度:VARCHAR2(n)、NVARCHAR2(n) 2、数值型(年龄、工资整数和小数) NUMBER(p有效数字,s小数点后的位数)   如:NUMBER(5,2)有效数字5位,只留2位小数,如123.45 FLOAT(n):存储二进制的位数 3、日期型   DATE类型:表示范围:公元前4712年1月1日到公元9999年12月31日,可以精确到秒   TIMESTAMP:时间戳类型,精确到小数秒 4、其它类型(大对像)   BLOB:4G的数据,以二进制   CLOB:也可以存放4GB的数据,以字符串

    3-2.管理表

    1).复制表数据 1.在建表时复制 create table user_info_new as select * from userinfo; 2.在添加时复制 SQL> insert into userinfo_new   2  select * from userinfo; SQL> insert into userinfo_new(id, username)   2  select id, username from userinfo;

    转载请注明原文地址: https://ju.6miu.com/read-1305708.html
    最新回复(0)