如何用LINUX用命令创建ORACLE数据库表空间和用户

发布网友 发布时间:2022-04-25 14:24

我来回答

2个回答

懂视网 时间:2022-05-01 01:32

进入超级管理员,运行下面命令

Window下创建数据库。表空间,用户,插入数据等操作

-- 01 创建表空间

-- 注意表空间的路径 依据实际安装环境进行调整

CREATE TABLESPACE ts_myscott

    LOGGING

    DATAFILE ‘F:/app/to-to/oradata/orcl/ts_myscott.dbf‘ SIZE 10M

    EXTENT MANAGEMENT LOCAL;

   

CREATE TABLESPACE ts_myscott2

    LOGGING

    DATAFILE ‘F:/app/to-to/oradata/orcl/ts_myscott2.dbf‘ SIZE 20M

    EXTENT MANAGEMENT LOCAL;

   

ALTER DATABASE DATAFILE ‘F:/app/to-to/oradata/orcl//ts_myscott.dbf‘ AUTOEXTEND ON NEXT  10M MAXSIZE UNLIMITED;

ALTER DATABASE DATAFILE ‘F:/app/to-to/oradata/orcl/ts_myscott2.dbf‘ AUTOEXTEND ON NEXT  20M MAXSIZE UNLIMITED;

 

commit;

 

-- 02 创建方案 (创建用户)

CREATE USER MYSCOTT  PROFILE DEFAULT

    IDENTIFIED BY MYSCOTT DEFAULT TABLESPACE USERS

    ACCOUNT UNLOCK;

 

-- 资源和登录权限

GRANT RESOURCE TO MYSCOTT;

GRANT create session TO MYSCOTT;

 

 

-- 03 创建表

-- 创建部门表 并赋值

CREATE TABLE MYSCOTT.DEPT(

         DEPTNO     NUMBER(2) PRIMARY KEY,

        DNAME       VARCHAR2(14) NOT NULL,

        LOC          VARCHAR2(13)

)TABLESPACE ts_myscott;

 

INSERT INTO MYSCOTT.dept VALUES(10, ‘ACCOUNTING‘, ‘NEW YORK‘);

INSERT INTO MYSCOTT.dept VALUES(20, ‘RESEARCH‘, ‘DALLAS‘);

INSERT INTO MYSCOTT.dept VALUES(30, ‘SALES‘, ‘CHICAGO‘);

INSERT INTO MYSCOTT.dept VALUES(40, ‘OPERATIONS‘, ‘BOSTON‘);

 

commit;

 

-- 创建员工表 并赋值

CREATE TABLE MYSCOTT.EMP(

         EMPNO           NUMBER(4) constraint emp_empno_pk PRIMARY KEY,

         ENAME                   VARCHAR2(10) constraint emp_ename_notnull NOT NULL,

         JOB              VARCHAR2(9),

         MGR                     NUMBER(4),

         HIREDATE         DATE,

         SAL               NUMBER(7,2) constraint emp_sal_check check (SAL>0),

         COMM                  NUMBER(7,2),

         DEPTNO           NUMBER(2) constraint emp_deptno_fk references MYSCOTT.dept(deptno)

)TABLESPACE ts_myscott;

 

--创建索引 在新的表空间上

CREATE  INDEX MYSCOTT.IX_CAtbAuditOperInfo_OT ON MYSCOTT.EMP(ENAME) TABLESPACE ts_myscott2;

 

 

INSERT INTO MYSCOTT.EMP VALUES(7369, ‘SMITH‘, ‘CLERK‘, 7902, ‘17-12月-80‘, 800, NULL, 20);

INSERT INTO MYSCOTT.EMP VALUES(7499, ‘ALLEN‘, ‘SALESMAN‘, 7698, ‘20-2月 -81‘, 1600, 300, 30);

INSERT INTO MYSCOTT.EMP VALUES(7521, ‘WARD‘, ‘SALESMAN‘, 7698, ‘22-2月 -81‘, 1250, 500, 30);

 

INSERT INTO MYSCOTT.EMP VALUES(7566, ‘JONES‘, ‘MANAGER‘, 7839, ‘02-4月 -81‘, 2975, NULL, 20);

INSERT INTO MYSCOTT.EMP VALUES(7654, ‘MARTIN‘, ‘SALESMAN‘, 7698, ‘28-9月 -81‘, 1250, 1400, 30);

INSERT INTO MYSCOTT.EMP VALUES(7698, ‘BLAKE‘, ‘MANAGER‘, 7839, ‘01-5月 -81‘, 2850, NULL, 30);

 

INSERT INTO MYSCOTT.EMP VALUES(7782, ‘CLARK‘, ‘MANAGER‘, 7839, ‘09-6月 -81‘, 2450, NULL, 10);

INSERT INTO MYSCOTT.EMP VALUES(7788, ‘SCOTT‘, ‘ANALYST‘, 7566, ‘19-4月 -87‘, 3000, NULL, 20);

INSERT INTO MYSCOTT.EMP VALUES(7839, ‘KING‘, ‘PRESIDENT‘, NULL, ‘17-11月-81‘, 5000, NULL, 10);

 

INSERT INTO MYSCOTT.EMP VALUES(7844, ‘TURNER‘, ‘SALESMAN‘, 7698, ‘08-9月 -81‘, 1500, 0, 30);

INSERT INTO MYSCOTT.EMP VALUES(7876, ‘ADAMS‘, ‘CLERK‘, 7788, ‘23-5月 -87‘, 1100, NULL, 20);

INSERT INTO MYSCOTT.EMP VALUES(7900, ‘JAMES‘, ‘CLERK‘, 7698, ‘03-12月-81‘, 950, NULL, 30);

 

INSERT INTO MYSCOTT.EMP VALUES(7902, ‘FORD‘, ‘ANALYST‘, 7566, ‘03-12月-81‘, 3000, NULL, 20);

INSERT INTO MYSCOTT.EMP VALUES(7934, ‘MILLER‘, ‘CLERK‘, 7782, ‘23-1月 -82‘, 1300, NULL, 10);

 

commit;

 

-- 创建工资级别表 并赋值

CREATE TABLE MYSCOTT.SALGRADE(

        GRADE             NUMBER,

        LOSAL           NUMBER,

        HISAL           NUMBER

)TABLESPACE ts_myscott;

 

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

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

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

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

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

commit;

 

--创建奖金表

CREATE TABLE MYSCOTT.BONUS(

         ENAME      VARCHAR2(10),

        JOB       VARCHAR2(9),

        SAL             NUMBER,

        COMM      NUMBER

)TABLESPACE ts_myscott;

 

------停止-----

-- 04创建新用户方案   通过MYSCOTTUSER1来訪问数据库, 权限配置演示 

CREATE USER "MYSCOTTUSER1"  PROFILE "DEFAULT" IDENTIFIED BY "123456" DEFAULT TABLESPACE "USERS" ACCOUNT UNLOCK;

GRANT "CONNECT" TO "MYSCOTTUSER1";

GRANT SELECT ANY TABLE TO "MYSCOTTUSER1";

 

GRANT DELETE ON MYSCOTT.DEPT TO "MYSCOTTUSER1";

GRANT INSERT ON MYSCOTT.DEPT TO "MYSCOTTUSER1";

GRANT UPDATE ON MYSCOTT.DEPT TO "MYSCOTTUSER1";

 

GRANT DELETE ON MYSCOTT.EMP TO "MYSCOTTUSER1";

GRANT INSERT ON MYSCOTT.EMP TO "MYSCOTTUSER1";

GRANT UPDATE ON MYSCOTT.EMP TO "MYSCOTTUSER1";

 

commit;

Linux下创建数据库,表空间,用户,插入数据等操作

-- 01 创建表空间

-- 注意表空间的路径 依据实际安装环境进行调整

CREATE TABLESPACE ts_myscott

    LOGGING

    DATAFILE ‘/home/oracle_11/app/oradata/orcl/ts_myscott.dbf‘ SIZE 10M

    EXTENT MANAGEMENT LOCAL;

   

CREATE TABLESPACE ts_myscott2

    LOGGING

    DATAFILE ‘/home/oracle_11/app/oradata/orcl/ts_myscott2.dbf‘ SIZE 20M

    EXTENT MANAGEMENT LOCAL;

   

ALTER DATABASE DATAFILE ‘/home/oracle_11/app/oradata/orcl/ts_myscott.dbf‘ AUTOEXTEND ON NEXT  10M MAXSIZE UNLIMITED;

ALTER DATABASE DATAFILE ‘/home/oracle_11/app/oradata/orcl/ts_myscott2.dbf‘ AUTOEXTEND ON NEXT  20M MAXSIZE UNLIMITED;

 

commit;

 

-- 02 创建方案 (创建用户)

CREATE USER MYSCOTT  PROFILE DEFAULT

    IDENTIFIED BY MYSCOTT DEFAULT TABLESPACE USERS

    ACCOUNT UNLOCK;

 

-- 资源和登录权限

GRANT RESOURCE TO MYSCOTT;

GRANT create session TO MYSCOTT;

 

 

-- 03 创建表

-- 创建部门表 并赋值

CREATE TABLE MYSCOTT.DEPT(

         DEPTNO     NUMBER(2) PRIMARY KEY,

        DNAME       VARCHAR2(14) NOT NULL,

        LOC          VARCHAR2(13)

)TABLESPACE ts_myscott;

 

INSERT INTO MYSCOTT.dept VALUES(10, ‘ACCOUNTING‘, ‘NEW YORK‘);

INSERT INTO MYSCOTT.dept VALUES(20, ‘RESEARCH‘, ‘DALLAS‘);

INSERT INTO MYSCOTT.dept VALUES(30, ‘SALES‘, ‘CHICAGO‘);

INSERT INTO MYSCOTT.dept VALUES(40, ‘OPERATIONS‘, ‘BOSTON‘);

 

commit;

 

-- 创建员工表 并赋值

CREATE TABLE MYSCOTT.EMP(

         EMPNO           NUMBER(4) constraint emp_empno_pk PRIMARY KEY,

         ENAME                   VARCHAR2(10) constraint emp_ename_notnull NOT NULL,

         JOB              VARCHAR2(9),

         MGR                     NUMBER(4),

         HIREDATE         DATE,

         SAL               NUMBER(7,2) constraint emp_sal_check check (SAL>0),

         COMM                  NUMBER(7,2),

         DEPTNO           NUMBER(2) constraint emp_deptno_fk references MYSCOTT.dept(deptno)

)TABLESPACE ts_myscott;

 

--创建索引 在新的表空间上

CREATE  INDEX MYSCOTT.IX_CAtbAuditOperInfo_OT ON MYSCOTT.EMP(ENAME) TABLESPACE ts_myscott2;

 

 

INSERT INTO MYSCOTT.EMP VALUES(7369, ‘SMITH‘, ‘CLERK‘, 7902, ‘17-12月-80‘, 800, NULL, 20);

INSERT INTO MYSCOTT.EMP VALUES(7499, ‘ALLEN‘, ‘SALESMAN‘, 7698, ‘20-2月 -81‘, 1600, 300, 30);

INSERT INTO MYSCOTT.EMP VALUES(7521, ‘WARD‘, ‘SALESMAN‘, 7698, ‘22-2月 -81‘, 1250, 500, 30);

 

INSERT INTO MYSCOTT.EMP VALUES(7566, ‘JONES‘, ‘MANAGER‘, 7839, ‘02-4月 -81‘, 2975, NULL, 20);

INSERT INTO MYSCOTT.EMP VALUES(7654, ‘MARTIN‘, ‘SALESMAN‘, 7698, ‘28-9月 -81‘, 1250, 1400, 30);

INSERT INTO MYSCOTT.EMP VALUES(7698, ‘BLAKE‘, ‘MANAGER‘, 7839, ‘01-5月 -81‘, 2850, NULL, 30);

 

INSERT INTO MYSCOTT.EMP VALUES(7782, ‘CLARK‘, ‘MANAGER‘, 7839, ‘09-6月 -81‘, 2450, NULL, 10);

INSERT INTO MYSCOTT.EMP VALUES(7788, ‘SCOTT‘, ‘ANALYST‘, 7566, ‘19-4月 -87‘, 3000, NULL, 20);

INSERT INTO MYSCOTT.EMP VALUES(7839, ‘KING‘, ‘PRESIDENT‘, NULL, ‘17-11月-81‘, 5000, NULL, 10);

 

INSERT INTO MYSCOTT.EMP VALUES(7844, ‘TURNER‘, ‘SALESMAN‘, 7698, ‘08-9月 -81‘, 1500, 0, 30);

INSERT INTO MYSCOTT.EMP VALUES(7876, ‘ADAMS‘, ‘CLERK‘, 7788, ‘23-5月 -87‘, 1100, NULL, 20);

INSERT INTO MYSCOTT.EMP VALUES(7900, ‘JAMES‘, ‘CLERK‘, 7698, ‘03-12月-81‘, 950, NULL, 30);

 

INSERT INTO MYSCOTT.EMP VALUES(7902, ‘FORD‘, ‘ANALYST‘, 7566, ‘03-12月-81‘, 3000, NULL, 20);

INSERT INTO MYSCOTT.EMP VALUES(7934, ‘MILLER‘, ‘CLERK‘, 7782, ‘23-1月 -82‘, 1300, NULL, 10);

 

commit;

 

-- 创建工资级别表 并赋值

CREATE TABLE MYSCOTT.SALGRADE(

        GRADE             NUMBER,

        LOSAL           NUMBER,

        HISAL           NUMBER

)TABLESPACE ts_myscott;

 

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

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

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

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

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

commit;

 

--创建奖金表

CREATE TABLE MYSCOTT.BONUS(

         ENAME      VARCHAR2(10),

        JOB       VARCHAR2(9),

        SAL             NUMBER,

        COMM      NUMBER

)TABLESPACE ts_myscott;

 

------停止-----

-- 04创建新用户方案   通过MYSCOTTUSER1来訪问数据库, 权限配置演示 

CREATE USER "MYSCOTTUSER1"

热心网友 时间:2022-04-30 22:40

先su 到 oracle用户,SYS用户以DBA身份登陆

//创建临时表空间
SQL>create temporary tablespace user_temp
datafile '/data1/oradata/user_temp.dbf'
size 5000M autoextend on;

//创建数据表空间
SQL>create tablespace user_temp
datafile '/data1/oradata/user_temp.dbf'
size 500M autoextend on;

(这些只是例子,具体数据文件的路径,大小,都要你自己改,这里的是不自动扩展,你如果想自动扩展,autoextend on next 50m maxsize 2048m,上网查一下就可以了)

//创建用户并指定表空间
SQL> create user username identified by password
default tablespace user_data
temporary tablespace user_temp;

//给用户授予权限
SQL> grant connect,resource to username;

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com