硬件要求:
软件要求:
用户和组创建:
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
内核参数调整(Linux示例):
# 编辑/etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
用户限制设置:
# 编辑/etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
Oracle环境变量:
# 在oracle用户.bash_profile中添加
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
bash
./runInstaller
按照向导完成安装:
以root身份运行配置脚本:
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/19.0.0/dbhome_1/root.sh
./runInstaller -silent -responseFile /path/to/response.rsp -ignorePrereq
监听器配置:
lsnrctl start
lsnrctl status
数据库启动/停止:
-- 连接到SQL*Plus
sqlplus / as sysdba
-- 启动数据库
STARTUP;
-- 关闭数据库
SHUTDOWN IMMEDIATE;
创建表空间:
CREATE TABLESPACE users
DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf' SIZE 100M
AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;
配置tnsnames.ora:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
测试连接:
tnsping orcl
sqlplus username/password@orcl
修改默认密码:
ALTER USER sys IDENTIFIED BY new_password;
ALTER USER system IDENTIFIED BY new_password;
创建新用户:
CREATE USER app_user IDENTIFIED BY password
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA UNLIMITED ON users;
GRANT CONNECT, RESOURCE TO app_user;
启用审计:
AUDIT CREATE SESSION;
AUDIT SELECT TABLE, INSERT TABLE, DELETE TABLE, UPDATE TABLE;
内存配置:
-- 查看当前内存配置
SHOW PARAMETER memory_target;
SHOW PARAMETER sga_target;
SHOW PARAMETER pga_aggregate_target;
-- 修改内存配置
ALTER SYSTEM SET memory_target=2G SCOPE=SPFILE;
ALTER SYSTEM SET sga_target=1500M SCOPE=SPFILE;
ALTER SYSTEM SET pga_aggregate_target=500M SCOPE=SPFILE;
自动维护任务配置:
-- 查看自动维护任务
SELECT client_name, status FROM dba_autotask_client;
-- 禁用/启用特定任务
BEGIN
DBMS_AUTO_TASK_ADMIN.DISABLE(
client_name => 'auto optimizer stats collection',
operation => NULL,
window_name => NULL);
END;
/
配置RMAN:
rman target /
基本备份命令:
-- 完整数据库备份
BACKUP DATABASE PLUS ARCHIVELOG;
-- 表空间备份
BACKUP TABLESPACE users;
-- 控制文件备份
BACKUP CURRENT CONTROLFILE;
配置自动备份:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
ORA-12514: TNS:listener does not currently know of service requested
ALTER SYSTEM REGISTER;
ORA-01034: ORACLE not available
STARTUP MOUNT;
然后 ALTER DATABASE OPEN;
空间不足问题
检查表空间使用情况:
SELECT tablespace_name, round(sum(bytes)/1024/1024) "Size (MB)"
FROM dba_data_files GROUP BY tablespace_name;
SELECT tablespace_name, round(sum(bytes)/1024/1024) "Free (MB)"
FROM dba_free_space GROUP BY tablespace_name;
sql
ALTER TABLESPACE users ADD DATAFILE '/path/to/newfile.dbf' SIZE 500M;
$ORACLE_BASE/diag/rdbms/$ORACLE_SID/trace/alert_$ORACLE_SID.log
EXEC DBMS_STATS.GATHER_DATABASE_STATS;
以上是Oracle数据库安装与配置的基本流程,具体细节可能需要根据实际环境和Oracle版本进行调整。