oracle初始化表数据库,【Oracle】scott用户下表结构、初始化数据和建表语句

【Oracle】scott用户下表结构、初始化数据和建表语句

发布时间:2020-08-10 11:42:24

来源:ITPUB博客

阅读:69

作者:neverinit

表结构

EMP 雇员表

编号

列名

数据类型

说明

约束

1

EMPNO

NUMBER(4,0)

雇员编号

Primary Key

2

ENAME

VARCHAR2(10 BYTE)

雇员名称

3

JOB

VARCHAR2(9 BYTE)

雇员工作

4

MGR

NUMBER(4,0)

上级领导编号

5

HIREDATE

DATE

入职日期

6

SAL

NUMBER(7,2)

雇员工资

7

COMM

NUMBER(7,2)

雇员奖金

8

DEPTNO

NUMBER(2,0)

部门编号

Foreign Key

DEPT

部门

编号

列名

数据类型

说明

约束

1

DEPTNO

NUMBER(2,0)

部门编号

Primary Key

2

DNAME

VARCHAR2(14 BYTE)

部门名称

3

LOC

VARCHAR2(13 BYTE)

部门位置

BONUS

奖金

编号

列名

数据类型

说明

约束

1

ENAME

VARCHAR2(10 BYTE)

雇员名称

2

JOB

VARCHAR2(9 BYTE)

雇员

工作

3

SAL

NUMBER

雇员

工资

4

COMM

NUMBER

雇员奖金

SALGRADE

工资等级

编号

列名

数据类型

说明

约束

1

GRADE

NUMBER

工资等级

Primary Key

2

LOSAL

NUMBER

最低工资

3

HISAL

NUMBER

最高工资

初始化数据

EMP 雇员表

编号

EMPNO

ENAME

JOB

MGR

HIREDATE

SAL

COMM

DEPTNO

1

7369

SMITH

CLERK

7902

17-DEC-80

800

20

2

7499

ALLEN

SALESMAN

7698

20-FEB-81

1600

300

30

3

7521

WARD

SALESMAN

7698

22-FEB-81

1250

500

30

4

7566

JONES

MANAGER

7839

02-APR-81

2975

20

5

7654

MARTIN

SALESMAN

7698

28-SEP-81

1250

1400

30

6

7698

BLAKE

MANAGER

7839

01-MAY-81

2850

30

7

7782

CLARK

MANAGER

7839

09-JUN-81

2450

10

8

7788

SCOTT

ANALYST

7566

19-APR-87

3000

20

9

7839

KING

PRESIDENT

17-NOV-81

5000

10

10

7844

TURNER

SALESMAN

7698

08-SEP-81

1500

30

11

7876

ADAMS

CLERK

7788

23-MAY-87

1100

20

12

7900

JAMES

CLERK

7698

03-DEC-81

950

30

13

7902

FORD

ANALYST

7566

03-DEC-81

3000

20

14

7934

MILLER

CLERK

7782

23-JAN-82

1300

10

DEPT

部门

编号

DEPTNO

DNAME

LOC

1

10

ACCOUNTING

NEW YORK

2

20

RESEARCH

DALLAS

3

30

SALES

CHICAGO

4

40

OPERATIONS

BOSTON

BONUS

奖金

【注:该表中无初始数据】

SALGRADE

工资等级

编号

GRADE

LOSAL

HISAL

1

1

700

1200

2

2

1201

1400

3

3

1401

2000

4

4

2001

3000

5

5

3001

9999

初始化语句

查找初始化脚本,发现scott用户的初始化脚本为?/rdbms/admin/utlsampl.sql

[oracle@prod admin]$ grep -rn "CREATE TABLE SALGRADE" $ORACLE_HOME

/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/utlsampl.sql:92:CREATE TABLE SALGRADE

grep: /u01/app/oracle/product/11.2.0/db_1/bin/nmo: Permission denied

grep: /u01/app/oracle/product/11.2.0/db_1/bin/nmhs: Permission denied

grep: /u01/app/oracle/product/11.2.0/db_1/bin/nmb: Permission denied

初始化脚本内容展示:

Rem Copyright (c) 1990, 2006, Oracle. All rights reserved.

Rem NAME

REM    UTLSAMPL.SQL

Rem  FUNCTION

Rem  NOTES

Rem  MODIFIED

Rem     lburgess   04/02/06  - lowercase passwords

Rem     menash     02/21/01 -  remove unnecessary users for security reasons

Rem     gwood      03/23/99 -  make all dates Y2K compliant

Rem     jbellemo   02/27/97 -  dont connect as system

Rem     akolk      08/06/96 -  bug 368261: Adding date formats

Rem     glumpkin   10/21/92 -  Renamed from SQLBLD.SQL

Rem     blinden   07/27/92 -  Added primary and foreign keys to EMP and DEPT

Rem     rlim       04/29/91 -         change char to varchar2

Rem     mmoore     04/08/91 -         use unlimited tablespace priv

Rem     pritto     04/04/91 -         change SYSDATE to 13-JUL-87

Rem   Mendels    12/07/90 - bug 30123;add to_date calls so language independent

Rem

rem

rem $Header: utlsampl.sql 02-apr-2006.21:13:01 lburgess Exp $ sqlbld.sql

rem

SET TERMOUT OFF

SET ECHO OFF

rem CONGDON    Invoked in RDBMS at build time.   29-DEC-1988

rem OATES:     Created: 16-Feb-83

DROP USER SCOTT CASCADE;

DROP USER ADAMS CASCADE;

DROP USER JONES CASCADE;

DROP USER CLARK CASCADE;

DROP USER BLAKE CASCADE;

GRANT CONNECT,RESOURCE,UNLIMITED TABLESPACE TO SCOTT IDENTIFIED BY tiger;

DROP PUBLIC SYNONYM PARTS;

CONNECT SCOTT/tiger

CREATE TABLE DEPT

(DEPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,

DNAME VARCHAR2(14) ,

LOC VARCHAR2(13) ) ;

CREATE TABLE EMP

(EMPNO NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY,

ENAME VARCHAR2(10),

JOB VARCHAR2(9),

MGR NUMBER(4),

HIREDATE DATE,

SAL NUMBER(7,2),

COMM NUMBER(7,2),

DEPTNO NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT);

INSERT INTO DEPT VALUES

(10,'ACCOUNTING','NEW YORK');

INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');

INSERT INTO DEPT VALUES

(30,'SALES','CHICAGO');

INSERT INTO DEPT VALUES

(40,'OPERATIONS','BOSTON');

INSERT INTO EMP VALUES

(7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);

INSERT INTO EMP VALUES

(7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);

INSERT INTO EMP VALUES

(7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);

INSERT INTO EMP VALUES

(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);

INSERT INTO EMP VALUES

(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);

INSERT INTO EMP VALUES

(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);

INSERT INTO EMP VALUES

(7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);

INSERT INTO EMP VALUES

(7788,'SCOTT','ANALYST',7566,to_date('13-JUL-87','dd-mm-rr')-85,3000,NULL,20);

INSERT INTO EMP VALUES

(7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10);

INSERT INTO EMP VALUES

(7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30);

INSERT INTO EMP VALUES

(7876,'ADAMS','CLERK',7788,to_date('13-JUL-87', 'dd-mm-rr')-51,1100,NULL,20);

INSERT INTO EMP VALUES

(7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);

INSERT INTO EMP VALUES

(7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);

INSERT INTO EMP VALUES

(7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);

CREATE TABLE BONUS

(

ENAME VARCHAR2(10) ,

JOB VARCHAR2(9)  ,

SAL NUMBER,

COMM NUMBER

) ;

CREATE TABLE SALGRADE

( GRADE NUMBER,

LOSAL NUMBER,

HISAL NUMBER );

INSERT INTO SALGRADE VALUES (1,700,1200);

INSERT INTO SALGRADE VALUES (2,1201,1400);

INSERT INTO SALGRADE VALUES (3,1401,2000);

INSERT INTO SALGRADE VALUES (4,2001,3000);

INSERT INTO SALGRADE VALUES (5,3001,9999);

COMMIT;

EXIT

各位技术爱好者可以在scott用户下进行破坏性操作等,事后借助初始化脚本重新恢复。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle 数据库初始化通常是指将数据库恢复到初始状态的过程。这可以通过以下步骤完成: 1. 备份数据库:在初始化前,务必备份现有的数据库以防止数据丢失。 2. 关闭数据库:在初始化前,需要关闭数据库以确保所有进程都已终止。 3. 删除数据文件:删除包含数据库数据的所有数据文件,包括控制文件、数据文件和日志文件。 4. 重建控制文件:使用 CREATE CONTROLFILE 语句创建新的控制文件。 ``` CREATE CONTROLFILE REUSE DATABASE "dbname" NORESETLOGS NOARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 '/u01/oracle/oradata/dbname/redo01.log' SIZE 50M, GROUP 2 '/u01/oracle/oradata/dbname/redo02.log' SIZE 50M, GROUP 3 '/u01/oracle/oradata/dbname/redo03.log' SIZE 50M DATAFILE '/u01/oracle/oradata/dbname/system01.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED SYSAUX '/u01/oracle/oradata/dbname/sysaux01.dbf' SIZE 300M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED USER '/u01/oracle/oradata/dbname/user01.dbf' SIZE 100M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED ``` 在控制文件中,需要指定数据库名称、日志文件、数据文件和其他数据库参数。 5. 重建数据文件:使用 CREATE TABLESPACE 语句创建新的数据文件和空间。 ``` CREATE TABLESPACE users DATAFILE '/u01/oracle/oradata/dbname/users01.dbf' SIZE 100M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED; ``` 6. 重建用户和角色:使用 CREATE USER 和 CREATE ROLE 语句创建新的用户和角色。 ``` CREATE USER scott IDENTIFIED BY tiger DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp; GRANT connect, resource TO scott; ``` 7. 导入数据:使用 IMP 工具将备份数据导入到新的数据库中。 ``` imp system/password@dbname file=mybackup.dmp full=y ``` 其中,dbname 是新的数据库名称,mybackup.dmp 是备份文件名称。FULL=Y 示导入整个数据库。 8. 重新启动数据库:在初始化完成后,启动新的数据库并进行测试,确保所有功能都正常工作。 注意:在进行数据库初始化时,请确保备份数据库以防止数据丢失。此外,初始化可能会删除现有数据,因此请谨慎操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值