Oracle 12c 创建新的数据库实例、用户

时间:2021-01-26 04:50:45

前提:安装好了Oracle 12c数据库,已有一个数据库实例xe,登录用户/密码:system/oralce

我用的是docker安装的Oracle 12c的实例:

docker run --name <docker_name> -d -p : -p : -v /home/<user>/docker/data/oracle_1521:/u01/app/oracle sath89/oracle-12c

具体参考 https://hub.docker.com/r/sath89/oracle-12c/

Note:用“-e VNC_PASSWORD=<password>"好像不起作用,连接时还是需要默认的密码oracle去连接。

1. 用oracle用户登录到Oracle 12c所在机器

2. 改变ORACLE_SID的值,假如想创建一个数据库实例mydb

ORACLE_SID=mydb
export ORACLE_SID

如需要请修改oracle用户的登录初始文件,以便以后每次登录都让ORACLE_SID是mydb

3. 用dbca创建数据库实例mydb

dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname mydb.example.com -sid mydb -responseFile NO_VALUE -characterSet AL32UTF8 -memoryPercentage  -emConfiguration LOCAL

提示输入密码时输入oracle

4. 创建完成后,用sqlplus连接Oracle

sqlplus "/as sysdba"

5. 先关闭数据库实例(具体我也不知道需不需要,不太懂Oracle,关掉的是不是已有的xe,我也没试)

SHUTDOWN immediate;

6. 启动新创建的数据库实例

startup force

“startup force”之前我还运行了一次“startup nomount”,不知道这步需不需要,最后是startup force后新的mydb SID起来了

7. 用system/oracle连接mydb SID

SQL> conn system/oracle
Connected.
SQL> select name from v$datafile; NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/mydb/system01.dbf
/u01/app/oracle/oradata/mydb/sysaux01.dbf
/u01/app/oracle/oradata/mydb/undotbs01.dbf
/u01/app/oracle/oradata/mydb/users01.dbf

看到tablespace文件都在mydb目录下

8. 创建新的tablespace dev1

SQL> create tablespace DEV1 datafile '/u01/app/oracle/oradata/mydb/DEV1.dbf' size 3000m;

9. 创建新的用户dev1

SQL> create user dev1 identified by password default tablespace DEV1;

10. 赋权限

SQL> grant dba,connect to dev1;

11. 提交修改

SQL> commit;

12. 退出sqlplus,用新的用户/密码: dev1/password就能登录了

oracle@<host>:/$ sqlplus

SQL*Plus: Release 12.1.0.2. Production on Wed Oct  :: 

Copyright (c) , , Oracle.  All rights reserved.

Enter user-name: dev1
Enter password:
Last Successful login time: Tue Oct :: +: Connected to:
Oracle Database 12c Standard Edition Release 12.1.0.2. - 64bit Production SQL>