原创作品,转载请在文章开头显眼位置注明出处:https://www.cnblogs.com/sunshine5683/p/10046716.html
今天,接着上次的学习进度继续前进,在此过程中,使用scott用户登录时候显示scott用户不存在,于是进行scott用户的解锁操作
sql> alter user scott account unlock;
alter user scott account unlock
*
第 1 行出现错误:
ora-01918: 用户 ‘scott’ 不存在
由上面的过程可以很轻松的看出,scott用户不存在,然后进行scott用户的创建,网上有好多类似的创建方法,说在某个目录下面可以找到scott.sql文件,然后用相应的命令执行此操作便可以,但是在实际操作的过程中并没有发现该文件,可能是本人安装的数据库中本来就没有的原因,本人主要查找的目录有:
usr/local/oracle/product/rdbms/admin/ 目录,因为本人的数据库就在此目录下,并没有找到,那么就继续构造该文件
首先:在客户机上建立一个txt文件,然后在文件中输入以下内容:
1 rem copyright (c) 1990 by oracle corporation 2 rem name 3 rem utlsampl.sql 4 rem function 5 rem notes 6 rem modified 7 rem gdudey 06/28/95 - modified for desktop seed database 8 rem glumpkin 10/21/92 - renamed from sqlbld.sql 9 rem blinden 07/27/92 - added primary and foreign keys to emp and dept 10 rem rlim 04/29/91 - change char to varchar2 11 rem mmoore 04/08/91 - use unlimited tablespace priv 12 rem pritto 04/04/91 - change sysdate to 13-jul-87 13 rem mendels 12/07/90 - bug 30123;add to_date calls so language independent 14 rem 15 rem 16 rem $header: utlsampl.sql 7020100.1 94/09/23 22:14:24 cli generic<base> $ sqlbld.sql 17 rem 18 set termout off 19 set echo off 20 21 rem congdon invoked in rdbms at build time. 29-dec-1988 22 rem oates: created: 16-feb-83 23 24 grant connect,resource,unlimited tablespace to scott identified by tiger; 25 alter user scott default tablespace users; 26 alter user scott temporary tablespace temp; 27 connect scott/tiger 28 drop table dept; 29 create table dept 30 (deptno number(2) constraint pk_dept primary key, 31 dname varchar2(14) , 32 loc varchar2(13) ) ; 33 drop table emp; 34 create table emp 35 (empno number(4) constraint pk_emp primary key, 36 ename varchar2(10), 37 job varchar2(9), 38 mgr number(4), 39 hiredate date, 40 sal number(7,2), 41 comm number(7,2), 42 deptno number(2) constraint fk_deptno references dept); 43 insert into dept values 44 (10,'accounting','new york'); 45 insert into dept values (20,'research','dallas'); 46 insert into dept values 47 (30,'sales','chicago'); 48 insert into dept values 49 (40,'operations','boston'); 50 insert into emp values 51 (7369,'smith','clerk',7902,to_date('17-12-1980','dd-mm-yyyy'),800,null,20); 52 insert into emp values 53 (7499,'allen','salesman',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30); 54 insert into emp values 55 (7521,'ward','salesman',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30); 56 insert into emp values 57 (7566,'jones','manager',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,null,20); 58 insert into emp values 59 (7654,'martin','salesman',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30); 60 insert into emp values 61 (7698,'blake','manager',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,null,30); 62 insert into emp values 63 (7782,'clark','manager',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,null,10); 64 insert into emp values 65 (7788,'scott','analyst',7566,to_date('13-jul-87')-85,3000,null,20); 66 insert into emp values 67 (7839,'king','president',null,to_date('17-11-1981','dd-mm-yyyy'),5000,null,10); 68 insert into emp values 69 (7844,'turner','salesman',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30); 70 insert into emp values 71 (7876,'adams','clerk',7788,to_date('13-jul-87')-51,1100,null,20); 72 insert into emp values 73 (7900,'james','clerk',7698,to_date('3-12-1981','dd-mm-yyyy'),950,null,30); 74 insert into emp values 75 (7902,'ford','analyst',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,null,20); 76 insert into emp values 77 (7934,'miller','clerk',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,null,10); 78 drop table bonus; 79 create table bonus 80 ( 81 ename varchar2(10) , 82 job varchar2(9) , 83 sal number, 84 comm number 85 ) ; 86 drop table salgrade; 87 create table salgrade 88 ( grade number, 89 losal number, 90 hisal number ); 91 insert into salgrade values (1,700,1200); 92 insert into salgrade values (2,1201,1400); 93 insert into salgrade values (3,1401,2000); 94 insert into salgrade values (4,2001,3000); 95 insert into salgrade values (5,3001,9999); 96 commit; 97 98 set termout on 99 set echo on
其次,将新建的txt文件保存为.sql文件,注意后缀名隐藏的话打开计算机—-组织—-文件夹选项—-在隐藏已知文件的扩展名前面的√去掉,然后将.txt改成.sql
再次,将刚刚保存好的sql文件拷贝到linux服务器的 usr/local/oracle/product/rdbms/admin/目录下,可以看看创建时间
然后,使用命令:su – oracle -c ‘sqlplus / as sysdba’切换到sqlplus命令行模式,执行以下语句
@$oracle_home/rdbms/admin/scott.sql
执行前:
执行:
执行后:
到此,scott用户的创建已经完成。
现在使用刚刚创建好的scott用户登录,但是发现密码不知道是什么,并不是tiger,然后使用sys用户对scott用户重新设置密码,如下:
最终顺利完成!