Oracle基础--创建临时表空间/表空间/创建用户/授权
时间: 2023-07-29 17:14:40 浏览: 73
创建临时表空间:
```
CREATE TEMPORARY TABLESPACE temp_ts
TEMPFILE '/u01/app/oracle/oradata/orcl/temp01.dbf'
SIZE 200M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
```
创建永久表空间:
```
CREATE TABLESPACE data_ts
DATAFILE '/u01/app/oracle/oradata/orcl/data01.dbf'
SIZE 500M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
```
创建用户:
```
CREATE USER testuser IDENTIFIED BY password
DEFAULT TABLESPACE data_ts
TEMPORARY TABLESPACE temp_ts
QUOTA UNLIMITED ON data_ts;
```
授权:
```
GRANT CONNECT, RESOURCE TO testuser;
```
其中,`CONNECT` 权限允许用户连接到 Oracle 数据库,`RESOURCE` 权限允许用户创建表、视图、序列等对象。可以根据需要授权更多的权限。
相关问题
shell脚本创建/删除oracle用户、表空间
shell脚本是一种命令语言,可以通过编写一系列命令来实现自动化任务。下面是一个示例的shell脚本,用于创建或删除Oracle用户和表空间。
1. 创建Oracle用户和表空间的脚本:
```shell
#!/bin/bash
# 设置Oracle环境变量
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
# 创建Oracle用户
function create_user() {
sqlplus -s username/password@localhost <<EOF
CREATE USER myuser IDENTIFIED BY mypassword;
GRANT CONNECT, RESOURCE TO myuser;
EXIT;
EOF
}
# 创建Oracle表空间
function create_tablespace() {
sqlplus -s username/password@localhost <<EOF
CREATE TABLESPACE mytablespace DATAFILE '/u01/app/oracle/oradata/orcl/mytablespace.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 500M;
ALTER USER myuser DEFAULT TABLESPACE mytablespace;
EXIT;
EOF
}
# 调用函数来创建用户和表空间
create_user
create_tablespace
```
上述脚本首先设置Oracle环境变量,然后定义了两个函数create_user和create_tablespace,分别用于创建Oracle用户和表空间。在函数内部使用sqlplus命令连接到Oracle数据库,并执行相应的SQL语句来实现创建用户和表空间的操作。
2. 删除Oracle用户和表空间的脚本:
```shell
#!/bin/bash
# 设置Oracle环境变量
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
# 删除Oracle用户
function delete_user() {
sqlplus -s username/password@localhost <<EOF
DROP USER myuser CASCADE;
EXIT;
EOF
}
# 删除Oracle表空间
function delete_tablespace() {
sqlplus -s username/password@localhost <<EOF
DROP TABLESPACE mytablespace INCLUDING CONTENTS AND DATAFILES;
EXIT;
EOF
}
# 调用函数来删除用户和表空间
delete_user
delete_tablespace
```
上述脚本与创建脚本类似,只是SQL语句改为删除用户和表空间的操作。通过调用相应的函数来实现删除用户和表空间的功能。
需要注意的是,以上脚本中的username/password@localhost需要根据实际情况进行修改,以正确连接到Oracle数据库。另外,创建表空间时指定的文件路径和名称也需要根据实际情况进行修改。
Oracle 12C 创建表空间、用户、目录及授权
好的,下面是创建表空间、用户、目录及授权的详细步骤:
1. 创建表空间
在Oracle 12C中,创建表空间可以使用如下语句:
```sql
CREATE TABLESPACE 表空间名
DATAFILE '数据文件路径'
SIZE 初始大小
AUTOEXTEND ON NEXT 扩展大小
MAXSIZE 最大大小;
```
例如,创建名为test_ts的表空间,数据文件路径为E:\oracle\oradata\XE\test_ts.dbf,初始大小为100M,扩展大小为10M,最大大小为500M,可以使用如下语句:
```sql
CREATE TABLESPACE test_ts
DATAFILE 'E:\oracle\oradata\XE\test_ts.dbf'
SIZE 100M
AUTOEXTEND ON NEXT 10M
MAXSIZE 500M;
```
2. 创建用户
在Oracle 12C中,创建用户可以使用如下语句:
```sql
CREATE USER 用户名
IDENTIFIED BY 密码
DEFAULT TABLESPACE 表空间名
QUOTA 空间限额 ON 表空间名;
```
例如,创建名为test_user的用户,密码为123456,使用test_ts表空间,并给予该用户在test_ts表空间中使用100M的空间限额,可以使用如下语句:
```sql
CREATE USER test_user
IDENTIFIED BY 123456
DEFAULT TABLESPACE test_ts
QUOTA 100M ON test_ts;
```
3. 创建目录
在Oracle 12C中,创建目录可以使用如下语句:
```sql
CREATE DIRECTORY 目录名 AS '目录路径';
```
例如,创建名为test_dir的目录,路径为E:\oracle\test_dir,可以使用如下语句:
```sql
CREATE DIRECTORY test_dir AS 'E:\oracle\test_dir';
```
4. 授权
在Oracle 12C中,授权可以使用如下语句:
```sql
GRANT 权限列表 TO 用户名;
```
例如,给test_user用户授权可以使用test_dir目录下的所有文件,可以使用如下语句:
```sql
GRANT READ, WRITE ON DIRECTORY test_dir TO test_user;
```
以上就是Oracle 12C创建表空间、用户、目录及授权的详细步骤,希望能够对你有所帮助。