创建表空间
# 新建表空间:SOBA
# 创建一个名为"SOBA"的大文件表空间(Bigfile Tablespace)。
# CREATE BIGFILE TABLESPACE "SOBA" - 用于创建一个名为"SOBA"的大文件表空间。
# DATAFILE '/opt/oracle/oradata/ORCLCDB/soba.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED - 定义了表空间的数据文件的位置和属性。在这里,指定了数据文件的路径为'/opt/oracle/oradata/ORCLCDB/soba.dbf',初始大小为100M字节,并且设置了自动扩展,在当前文件满时会自动增加100M字节,并且最大大小不限制。
# LOGGING - 表示该表空间启用了日志记录,所有对表空间的操作都将被记录到日志文件中,保证了数据库的一致性和恢复性。
# EXTENT MANAGEMENT LOCAL - 指定了表空间的区管理方式为本地管理,这意味着由Oracle自动管理数据文件中的分区。
# SEGMENT SPACE MANAGEMENT AUTO - 表示段(segment)的空间使用由Oracle自动管理,根据需要分配和释放空间。
CREATE BIGFILE TABLESPACE "SOBA" DATAFILE '/opt/oracle/oradata/ORCLCDB/soba.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
创建用户并设置密码
# 新建用户 c##soba,并设置密码为:sobanoodles1
create user c##soba identified by sobanoodles1;
将用户的默认表空间更改
# 将用户 "soba" 的默认表空间更改为 "SOBA"。
# 在数据库中,表空间用于存储表、索引和其他数据库对象的数据文件。
# 可以指定用户在创建新对象时使用的默认表空间。
alter user c##soba default tablespace SOBA;
数据库用户的权限授权
# 授予用户 "c##soba" 连接数据库、使用资源、创建会话的权限。
grant connect,resource to c##soba;
grant create session to c##soba;
# 具体来说:
# CONNECT:允许用户连接到数据库实例。
# RESOURCE:赋予用户创建表、序列、过程等数据库对象的权限。
# create session:授予用户 "c##soba" 创建会话的权限,这意味着用户可以建立并管理与数据库实例的会话连接。
同时如果权限未授予就连接的话,会出现:
创建表
# 使用 c##soba 用户登录oracle
exit;
sqlplus
# 查询当前登录用户
select user from dual;
# 创建表
CREATE TABLE employees
(
employee_id NUMBER(6) PRIMARY KEY,
first_name VARCHAR2(20),
last_name VARCHAR2(25) NOT NULL,
email VARCHAR2(25) NOT NULL,
phone_number VARCHAR2(15),
hire_date DATE,
job_id VARCHAR2(10) NOT NULL,
salary NUMBER(8,2),
manager_id NUMBER(6),
department_id NUMBER(4)
);
表中添加数据
INSERT INTO employees (employee_id, first_name, last_name, email, phone_number, hire_date, job_id, salary, manager_id, department_id)
VALUES (1, 'John', 'Doe', 'john.doe@email.com', '1234567890', TO_DATE('2023-01-01', 'YYYY-MM-DD'), 'MANAGER', 50000.00, NULL, 10);
INSERT INTO employees (employee_id, first_name, last_name, email, phone_number, hire_date, job_id, salary, manager_id, department_id)
VALUES (2, 'Jane', 'Smith', 'jane.smith@email.com', '0987654321', TO_DATE('2023-02-15', 'YYYY-MM-DD'), 'ANALYST', 60000.00, 1, 20);
如果遇到报错信息为:
或者:
# 将用户 c##soba 在表空间 SOBA 中的配额设定为无限,这意味着该用户可以使用表空间 SOBA 中的所有可用存储空间,而不受限制。
# 切换 sys 用户
exit;
sqlplus / as sysdba;
ALTER USER c##soba QUOTA UNLIMITED ON SOBA;
再执行就成功了!
查询表中记录
select * from employees;
修改表结构
# 将last_name列给删除
ALTER TABLE employees DROP COLUMN last_name;
# 将 first_name 列的列名修改为name
ALTER TABLE employees RENAME COLUMN first_name TO name;
再查一遍:
关闭数据库实例的方式
# 关闭数据库实例
shutdown immediate;
# 完整而有序的关闭
shutdown normal;
# 如果数据库处于一种不允许正常关闭的状态(如有活跃的会话或事务),你可以尝试使用以下命令强制关闭数据库:
shutdown abort;
数据库实例启动的方式
# 启动数据库实例
startup;
未完待续。。。。