命令和SQL语句
用户(库)和表空间(表)关系
用户
理解表空间
表空间分类
需要修改 tnsnames.ora配置文件,通常在 C:\app\本机用户名\product\11.2.0\dbhome_1\NETWORK\ADMIN\ 目录下
XEremote =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.18)(PORT = 1252))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
用户名/密码 @服务名/IP地址 as sysdba|sysoper
# system用户登录(本机)
SQL> system/123123
# sys用户登录(本机)
SQL> connect sys/123123 as sysdba
SQL> show user
USER 为 "SYS"
SQL> desc dba_users
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
USERNAME NOT NULL VARCHAR2(30)
USER_ID NOT NULL NUMBER
PASSWORD VARCHAR2(30)
ACCOUNT_STATUS NOT NULL VARCHAR2(32)
LOCK_DATE DATE
EXPIRY_DATE DATE
DEFAULT_TABLESPACE NOT NULL VARCHAR2(30)
TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30)
CREATED NOT NULL DATE
PROFILE NOT NULL VARCHAR2(30)
INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30)
EXTERNAL_NAME VARCHAR2(4000)
PASSWORD_VERSIONS VARCHAR2(8)
EDITIONS_ENABLED VARCHAR2(1)
AUTHENTICATION_TYPE VARCHAR2(8)
SQL> desc user_users
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
USERNAME NOT NULL VARCHAR2(30)
USER_ID NOT NULL NUMBER
ACCOUNT_STATUS NOT NULL VARCHAR2(32)
LOCK_DATE DATE
EXPIRY_DATE DATE
DEFAULT_TABLESPACE NOT NULL VARCHAR2(30)
TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30)
CREATED NOT NULL DATE
INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30)
EXTERNAL_NAME VARCHAR2(4000)
# 锁定 scott 用户
SQL> alter user scott account lock;
用户已更改。
# 锁定后,无法连接
SQL> connect scott/123123
ERROR:
ORA-28000: the account is locked
警告: 您不再连接到 ORACLE。
# 查看当前用户为空
SQL> show user
USER 为 ""
# 尝试解锁,发现未连接
SQL> alter user scott account unlock;
SP2-0640: 未连接
# 退出当前 sqlplus
SQL> exit
# 重新登录 sqlplus
C:\Users\Shen-Childe>sqlplus
SQL*Plus: Release 11.2.0.1.0 Production on 星期六 9月 17 20:57:01 2022
Copyright (c) 1982, 2010, Oracle. All rights reserved.
请输入用户名: system/123123
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
# 解锁
SQL> alter user scott account unlock;
用户已更改。
# 连接 scott 用户
SQL> connect scott/123123
已连接。
# 查看当前登录用户 scott
SQL> show user
USER 为 "SCOTT"
# 登录 scott 用户
SQL> connect scott/123123
已连接。
# 查看当前登录用户
SQL> show user
USER 为 "SCOTT"
SQL> desc dba_tablespaces
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
TABLESPACE_NAME NOT NULL VARCHAR2(30)
BLOCK_SIZE NOT NULL NUMBER
INITIAL_EXTENT NUMBER
NEXT_EXTENT NUMBER
MIN_EXTENTS NOT NULL NUMBER
MAX_EXTENTS NUMBER
MAX_SIZE NUMBER
PCT_INCREASE NUMBER
MIN_EXTLEN NUMBER
STATUS VARCHAR2(9)
CONTENTS VARCHAR2(9)
LOGGING VARCHAR2(9)
FORCE_LOGGING VARCHAR2(3)
EXTENT_MANAGEMENT VARCHAR2(10)
ALLOCATION_TYPE VARCHAR2(9)
PLUGGED_IN VARCHAR2(3)
SEGMENT_SPACE_MANAGEMENT VARCHAR2(6)
DEF_TAB_COMPRESSION VARCHAR2(8)
RETENTION VARCHAR2(11)
BIGFILE VARCHAR2(3)
PREDICATE_EVALUATION VARCHAR2(7)
ENCRYPTED VARCHAR2(3)
COMPRESS_FOR VARCHAR2(12)
SQL> desc user_tablespaces
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
TABLESPACE_NAME NOT NULL VARCHAR2(30)
BLOCK_SIZE NOT NULL NUMBER
INITIAL_EXTENT NUMBER
NEXT_EXTENT NUMBER
MIN_EXTENTS NOT NULL NUMBER
MAX_EXTENTS NUMBER
MAX_SIZE NUMBER
PCT_INCREASE NUMBER
MIN_EXTLEN NUMBER
STATUS VARCHAR2(9)
CONTENTS VARCHAR2(9)
LOGGING VARCHAR2(9)
FORCE_LOGGING VARCHAR2(3)
EXTENT_MANAGEMENT VARCHAR2(10)
ALLOCATION_TYPE VARCHAR2(9)
SEGMENT_SPACE_MANAGEMENT VARCHAR2(6)
DEF_TAB_COMPRESSION VARCHAR2(8)
RETENTION VARCHAR2(11)
BIGFILE VARCHAR2(3)
PREDICATE_EVALUATION VARCHAR2(7)
ENCRYPTED VARCHAR2(3)
COMPRESS_FOR VARCHAR2(12)
SQL> select tablespace_name from dba_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
EXAMPLE
TEMPTEST1_TABLESPACE
已选择7行。
SQL> select tablespace_name from user_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
EXAMPLE
TEMPTEST1_TABLESPACE
已选择7行。
SQL> select default_tablespace,temporary_tablespace from dba_users where username='SYSTEM';
DEFAULT_TABLESPACE TEMPORARY_TABLESPACE
------------------------------ ------------------------------
SYSTEM TEMP
SQL> ALTER USER system DEFAULT TABLESPACE system;
用户已更改。
# 创建永久表空间
SQL> create tablespace test1_tablespace datafile 'test1.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';
FILE_NAME
--------------------------------------------------------------------------------
C:\APP\SHEN-CHILDE\PRODUCT\11.2.0\DBHOME_1\DATABASE\TEST1.DBF
# 查看临时表空间
SQL> select file_name from dba_temp_files where tablespace_name='TEMPTEST1_TABLESPACE';
FILE_NAME
--------------------------------------------------------------------------------
C:\APP\SHEN-CHILDE\PRODUCT\11.2.0\DBHOME_1\DATABASE\TEMPFILE1.DBF
SQL> alter tablespace test1_tablespace offline;
表空间已更改。
SQL> desc dba_tablespaces
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
TABLESPACE_NAME NOT NULL VARCHAR2(30)
BLOCK_SIZE NOT NULL NUMBER
INITIAL_EXTENT NUMBER
NEXT_EXTENT NUMBER
MIN_EXTENTS NOT NULL NUMBER
MAX_EXTENTS NUMBER
MAX_SIZE NUMBER
PCT_INCREASE NUMBER
MIN_EXTLEN NUMBER
STATUS VARCHAR2(9)
CONTENTS VARCHAR2(9)
LOGGING VARCHAR2(9)
FORCE_LOGGING VARCHAR2(3)
EXTENT_MANAGEMENT VARCHAR2(10)
ALLOCATION_TYPE VARCHAR2(9)
PLUGGED_IN VARCHAR2(3)
SEGMENT_SPACE_MANAGEMENT VARCHAR2(6)
DEF_TAB_COMPRESSION VARCHAR2(8)
RETENTION VARCHAR2(11)
BIGFILE VARCHAR2(3)
PREDICATE_EVALUATION VARCHAR2(7)
ENCRYPTED VARCHAR2(3)
COMPRESS_FOR VARCHAR2(12)
SQL> select status from dba_tablespaces where tablespace_name='TEST1_TABLESPACE';
STATUS
---------
OFFLINE
SQL> alter tablespace test1_tablespace online;
表空间已更改。
SQL> select status from dba_tablespaces where tablespace_name='TEST1_TABLESPACE';
STATUS
---------
ONLINE

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
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
--------------------------------------------------------------------------------
C:\APP\SHEN-CHILDE\PRODUCT\11.2.0\DBHOME_1\DATABASE\TEST1.DBF
C:\APP\SHEN-CHILDE\PRODUCT\11.2.0\DBHOME_1\DATABASE\TEST2_FILE.DBF
SQL> alter tablespace test1_tablespace drop datafile 'test2_file.dbf';
表空间已更改。
SQL> select file_name from dba_data_files where tablespace_name='TEST1_TABLESPACE';
FILE_NAME
--------------------------------------------------------------------------------
C:\APP\SHEN-CHILDE\PRODUCT\11.2.0\DBHOME_1\DATABASE\TEST1.DBF
SQL> drop tablespace test1_tablespace including contents;
表空间已删除。