我的电脑是Mac,使用docker作为容器,安装的是oracle 11g。
一、用户与表空间
1、登陆与基本使用
系统级用户有sys
system
,其中sys比system更高级,sys必须已系统管理员身份才能登陆。
1、打开 sql-plus
$ sqlplus复制代码
2、输入用户名和密码
这里我们可以选择sys和system(密码是我们自己设定的哦)。
3、切换sys用户
$ connect sys/密码 as sysdba;复制代码
4、查看当前用户
$ show user;复制代码
5、查看管理员信息表的数据字典
$ desc dba_users;复制代码
6、查看已有的用户
$ select USERNAME from dba_users;复制代码
2、导入scott用户
1、首先以sys登陆
$ sqlplus sys/oracle as sysdba;复制代码
2、导入并执行utlsampl.sql
SQL> @ /u01/app/oracle/product/11.2.0/xe/rdbms/admin/utlsampl.sql复制代码
当你出现类似与上图的结果后,就表示这步成功了。如果执行命令之后没有任何打印,十有八九是没成功。
然后会自动退出sqlplus。
3、使用scott登陆
$ sqlplus scott/tiger复制代码
4、查看当前用户
SQL> show userUSER is "SCOTT"复制代码
当你看到USER is "SCOTT",就表示可以了,如果是“USER is ""”.用户为空,这是一个坑,原因还是自己scott没有导入成功。(十分抱歉我自己也没弄清楚,稀里糊涂的成功了,大家可以参考下面两文章)
5、查看我们新创建的用户scott
select USERNAME from dba_users复制代码
3、查看表空间
1、管理员身份查看表空间
管理员级别可以查看dba_tablespaces
;和user_tablespaces
;普通用户只能查看user_tablespaces
。
使用system登陆。
select TABLESPACE_NAME from dba_tablespaces;复制代码
select TABLESPACE_NAME from user_tablespaces;复制代码
下图中我们看到是oracle默认为我们创建的表空间。
dba_tablespaces
;和 user_tablespaces
几乎一样,唯独不同的是我们需要不同的权限才能访问这两个表空间。 管理员级别可以查看dba_users
;和user_users
;普通用户只能查看user_users
。
2、查看默认表空间和临时表空间
$ select default_tablespace, temporary_tablespace from dba_users where username = 'SYSTEM';复制代码
3、创建新的表空间
除了默认的那5个表空间之外,我们还可以创建新的表空间。
$ create tablespace matrix datafile 'matrix.dbf' size 256m;复制代码
4、更改默认表空间