一、前期准备
-
19c下载(快速链接),需要注册账号才能下
-
拷贝到服务器后解压缩,右击管理员运行【setup.exe】
二、【安装】数据库初始配置
三、【安装】监听配置
四、【安装】Oracle安装
五、【配置】账户
-
-- CMD -> 进入默认配置的最高账号(无密码) sqlplus "/ as sysdba" -- 创建角色 CREATE USER [user] IDENTIFIED BY [password]; -- 授予权限(connect:连接权限,resource:资源权限,dba:管理员权限) grant connect, resource to [user]; -- 授予创建会话的权限 GRANT CREATE SESSION TO [user]; -- 授予创建数据库链接的权限 GRANT CREATE DATABASE LINK TO [user]; -- 授予创建作业(job)的权限 GRANT CREATE JOB TO [user]; -- 授予创建公共数据库链接的权限 GRANT CREATE PUBLIC DATABASE LINK TO [user]; -- 授予查询任意数据字典的权限 GRANT SELECT ANY DICTIONARY TO [user]; -- 授予无限制表空间权限 GRANT UNLIMITED TABLESPACE TO [user]; -- 修改用户无论输入多少次都不会被锁定 alter profile default limit failed_login_attempts unlimited; -- 创建 profile(密码永不过期) CREATE PROFILE never_expires LIMIT PASSWORD_REUSE_MAX UNLIMITED PASSWORD_GRACE_TIME UNLIMITED PASSWORD_LIFE_TIME UNLIMITED; -- 分配给用户 ALTER USER [user] PROFILE never_expires;
六、【略过】此时就可以远程连接数据库了
七、【配置(可选)】增加子表空间
-
-- 【DataGrip/DBeaver】查看表空间名 SELECT TABLESPACE_NAME FROM DBA_TABLESPACES; -- 【DataGrip/DBeaver】查看表空间存储使用情况(包括最大存储) SELECT a.tablespace_name "表空间名",a.bytes / 1024 / 1024 "表空间大小(M)",(a.bytes - b.bytes) / 1024 / 1024 "已使用空间(M)", b.bytes / 1024 / 1024 "空闲空间(M)",round(((a.bytes - b.bytes) / a.bytes) * 100, 2) "使用比" FROM (SELECT tablespace_name, sum(bytes) bytes FROM dba_data_files GROUP BY tablespace_name) a, ( SELECT tablespace_name, sum(bytes) bytes, max(bytes) largest FROM dba_free_space GROUP BY tablespace_name ) b WHERE a.tablespace_name = b.tablespace_name ORDER BY ((a.bytes - b.bytes) / a.bytes) DESC; -- 【DataGrip/DBeaver】查看表空间位置 SELECT tablespace_name, file_name, autoextensible, maxbytes FROM dba_data_files; --WHERE tablespace_name = 'USERS'; -- 【CMD】增加子表空间 alter tablespace users add datafile 'D:\ORALCE\ORADATA\ORCL\USERS02.DBF' size 10m autoextend on next 1m maxsize unlimited;
八、【配置(可选)】增加只读账户
-
-- 创建只读用户 CREATE USER [read_only_user] IDENTIFIED BY [password]; -- 授予只读权限 GRANT CONNECT TO [read_only_user]; GRANT SELECT ANY TABLE TO [read_only_user]; -- 分配只读角色 GRANT CONNECT, RESOURCE, SELECT_CATALOG_ROLE TO [read_only_user]; -- 密码永不过期 ALTER USER [read_only_user] PROFILE never_expires; -- 【DataGrip/DBeaver】权限分配 GRANT SELECT ON [user].[tableName] TO [read_only_user];