Oracle數據庫新建表空間和對應用戶
-
創建表空間和臨時表空間數據文件
-
創建表空間數據文件
SQL> CREATE TABLESPACE rec_news LOGGING DATAFILE '/home/oracle/OracleDB/user/rec_news/rec_news.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 5120M EXTENT MANAGEMENT LOCAL; Tablespace created.
-
創建臨時表空間數據文件
SQL> CREATE TEMPORARY TABLESPACE rec_news_temp tempfile '/home/oracle/OracleDB/user/rec_news/rec_news_tmp.dbf' SIZE 100M AUTOEXTEND ON NEXT 50M MAXSIZE 1024M EXTENT MANAGEMENT LOCAL; Tablespace created.
-
-
創建用戶與數據庫文件關聯
SQL> CREATE USER rec IDENTIFIED BY <password> DEFAULT TABLESPACE rec_news TEMPORARY TABLESPACE rec_news_temp; User created.
-
添加權限
SQL> grant connect, resource, dba to rec; Grant succeeded. SQL> grant create session to rec; Grant succeeded. SQL> commit; Commit complete.
此時就可以以創建的用戶身份重新進入Oracle數據庫了。
以創建用戶身份進入sqlplus,執行:
[oracle@datanode1 ~]$ sqlplus
SQL*Plus: Release 11.2.0.1.0 Production on Fri Apr 6 17:56:53 2018
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Enter user-name: rec
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select tablespace_name from user_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
EXAMPLE
REC_NEWS
REC_NEWS_TEMP
8 rows selected.
可以看到查詢結果包含我們剛剛創建的兩個TABLESPACE。
具體瞭解Oracle數據庫中的數據庫、表空間等概念,參見這篇文章。
問題記錄:
-
ORA-27040: file create error, unable to create file Linux-x86_64 Error: 13: Permission denied
SQL> CREATE TABLESPACE rec_news LOGGING DATAFILE '/home/oracle/OracleDB/user/rec_news/rec_news.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 5120M EXTENT MANAGEMENT LOCAL; CREATE TABLESPACE rec_news LOGGING DATAFILE '/home/oracle/OracleDB/user/rec_news/rec_news.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 5120M EXTENT MANAGEMENT LOCAL * ERROR at line 1: ORA-01119: error in creating database file '/home/oracle/OracleDB/user/rec_news/rec_news.dbf' ORA-27040: file create error, unable to create file Linux-x86_64 Error: 13: Permission denied
經查,/home/oracle/OracleDB/user/rec_news/目錄的所有者爲root:root,修改爲oracle:oinstall後即可以oracle用戶身份正常創建。